On 08/24/2011 01:47 PM, Robert Bielik wrote:
> Robert Bielik skrev 2011-08-24 13:43:
>> Michael Hertling skrev 2011-08-24 13:13:
>>> Suppose
>>>
>>> ADD_CUSTOM_COMMAND(OUTPUT source.c CONFIGURATION Release COMMAND ...)
>>> ADD_EXECUTABLE(main ... source.c)
>>>
>>> and then:
>>>
>>> cmake -DCMAKE_BUILD_TYPE=Debug<path/to/source>
>>>
>>> How would you like this case to be handled by CMake? Note that with
>>> multi-config generators, the build type aka configuration is chosen
>>> at build time, and the user is free to define custom build types.
>>
>> I'd expect the obvious, i.e. the ADD_CUSTOM_COMMAND shall not be included in 
>> the build if CMAKE_BUILD_TYPE==Debug. I see no conflict with
>> multi-config generators either.
> 
> Sorry, I didn't look to closely. Hmm.. yup, that would be a problem. Maybe 
> CMake would fail when it detects dependencies that must be available
> in all configurations ? In this case it would say:
> 
> "Failure: Target 'main' has dependencies that are not available in all 
> configurations"

What does this mean? Does the configuration fail or succeed? With a
multi-config generator, the user might choose to build the Release
config, so the CMake pass would be expected to succeed. Is is
expected to fail in case of a single-config generator and
CMAKE_BUILD_TYPE!=Release?

Anyway, I didn't want to discuss this particular detail; my
point is: Configuration-selective custom commands possibly have
far-reaching consequences which should be carefully reasoned out.

Regards,

Michael
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to