Hi,

I've been searching for a definitive discussion of this but haven't been 
successful finding it. I have a (Unix Makefile) CMakeLists.txt project 
sub-directory that defines several (3) targets (for executable and shared 
targets). I'm trying to reset/redefine the CMAKE_C??_FLAGS (specifically 
CMAKE_C_FLAGS) property on one of the targets via the following statement in 
the CMakeLists.txt file:

set_property(TARGET <target_name> PROPERTY CMAKE_C_FLAGS "-Wall -shared")
set_property(TARGET <target_name> PROPERTY CMAKE_C_FLAGS_DEBUG "-g")
set_property(TARGET <target_name> PROPERTY CMAKE_C_FLAGS_RELEASE "-O3")

However, this isn't working and the resulting target compilation is using the 
directory's value for these properties. Other redefinitions of per-target 
properties (e.g., INCLUDE_DIRECTORIES) do seem to take so I'm wondering if 
certain properties are per-directory only and aren't meaningful with the 
"set_property(TARGET ...)" construct?

If I move the target to its own sub-directory and use the following 
CMakeLists.txt commands instead the compile flags are properly (re)set:

SET (CMAKE_C_FLAGS "-Wall -shared")
SET (CMAKE_C_FLAGS_DEBUG "-g")
SET (CMAKE_C_FLAGS_RELEASE "-O3")

Oddly the aforementioned "set_property(TARGET..." constructs in place of the 
above "SET(CMAKE..." constructs also fail to reset the flags in this new 
directory so this doesn't seem related to the sub-directory CMakeLists.txt file 
when multiple targets are defined. 

I must have missed something obvious related to this in the documentation 
and/or the mailing list/Google. Any ideas?

Thanks,
-David

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to