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