No, you need to pass the definition with /D or -D: CMake internally
removes that prefix before adding it to your target properties (see the
property COMPILE_DEFINITIONS), and generates the build command
appropriately for the platform, with either /D or -D as the platform
requires. You can use either /D or -D in your CMakeLists.txt calls to
add_definitions, and it will work cross-platform.
You might also run into issues with space vs. semicolon-delimited lists
- I know compile flags are space-delimited in some places.
Basically - don't over think it, it will work fine just the way it is.
Ryan
On 02/11/2010 11:42 AM, [email protected] wrote:
Hi.
As cmake should abstract us from the platforms, the compilo, etc. I wonder why so much
project returns XXX_DEFINITIONS including "-D".
So when we make ADD_DEFINITIONS(XXX_DEFINITIONS) everything work.
But when we do SET_PROPERTY( [...] COMPILE_DEFINITIONS [...] ) it doesn't work
anymore.
So i think it is a bug to provide the "-D", and that we shouldn't use
ADD_DEFINITION for adding definitions.
So in my project i will do a STRING(REPLACE "-D" "" XXX_DEFINITIONS
${XXX_DEFINITIONS}) before doing SET_PROPERTY( [...] COMPILE_DEFINITIONS [...] ${XXX_DEFINITIONS})
Am I on the wright way ?
Thank you for your reading/comments.
Paul.
PS : there was a thread about this topic (msg21797), but no answer on the good
practice.
_______________________________________________
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
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University
[email protected]
http://academic.cleardefinition.com
Internal VRAC/HCI Site: http://tinyurl.com/rpavlik
_______________________________________________
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