[CMake] Problem with SET_TARGET_PROPERTIES DEFINE_SYMBOL property

Dan Mueller d.mueller at qut.edu.au
Tue Apr 4 01:10:36 EDT 2006


Hi cmake users:

I am trying to use cmake to define a symbol so that I can use the #if 
syntax in C++.

I have read the documentation for the SET_TARGET_PROPERTIES command and 
it seems to me that there is a property called DEFINE_SYMBOL which sets 
"... /a symbol that is defined when compiling C or C++ sources/" 
(http://www.cmake.org/HTML/Documentation.html). However, when I use this 
property it does *not *define the symbol. I am using CMake v2.2.3 with 
Microsoft Visual Studio 7 .NET 2003 on a Win32 machine.

FYI I can get the LINK_FLAGS property to work, but not the DEFINE_SYMBOL...

Have I misunderstood something? Am I setting the property correctly? Any 
help would be appreciated. My cmake file and source is below:

Start CMakeLists.txt ====================================================
# Add Project
PROJECT(TestMain)

# Setup output paths
SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin CACHE PATH "Single 
output directory for building all libraries." FORCE)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin CACHE PATH "Single 
output directory for building all executables." FORCE)

# Add Executable
ADD_EXECUTABLE(TestMain TestMain.cxx)
*SET_TARGET_PROPERTIES(TestMain PROPERTIES DEFINE_SYMBOL "MY_SYMBOL")*
TARGET_LINK_LIBRARIES(TestMain TestMain)
End CMakeLists.txt ====================================================

Start TestMain.cxx ====================================================
#include <iostream>

int main(int argc, char * argv[])
{
    #if (MY_SYMBOL)
        std::cout << "MY_SYMBOL was defined." << std::endl;
    #else
        std::cout << "MY_SYMBOL was NOT defined." << std::endl;
    #endif
}
End TestMain.cxx ====================================================

NOTE: TestMain.exe prints "MY_SYMBOL was NOT defined."

Regards,

Dan [d.mueller at qut.edu.au]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20060404/70119ec4/attachment.htm


More information about the CMake mailing list