On 03/24/2011 03:44 PM, David Doria wrote: > Is there a way to explicitly set the CMAKE_CXX_FLAGS for a particular > executable? That is, if I set CMAKE_CXX_FLAGS and then have a > add_executable line, then change CMAKE_CXX_FLAGS and then have another > add_executable, will the first set of CMAKE_CXX_FLAGS be applied to > the first executable and the second set of CMAKE_CXX_FLAGS be applied > to the second executable?
AFAIK, CMAKE_CXX_FLAGS et al. are special in as much as the last value they receive within a CMakeLists.txt file is effective for all targets defined in that file, i.e. they undergo a kind of lazy evaluation. So, the answer to your question is: No, you can't specify CMAKE_CXX_FLAGS individually for targets within the same CMakeLists.txt, but you can specify them per directory, i.e. individually in each CMakeLists.txt. Nevertheless, CMAKE_CXX_FLAGS should be considered as project-wide settings, IMO. > I guess my confusion is that I don't understand how CMake variables are > cached. > > Each time I modify the variable, should I do it using > > SET(CMAKE_CXX_FLAGS "some flags") > > or > > SET(CMAKE_CXX_FLAGS "some flags" CACHE STRING "compiler flags") > > ? See [1] for a consideration of SET() w.r.t. the cache and scopes. > In this example: http://codepad.org/PGJRBjss [...] ATM, that site seems to be offline. Could you post the example here? Regards, Michael [1] http://www.mail-archive.com/cmake@cmake.org/msg29869.html et seq. _______________________________________________ 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