In my configure.h.in file I have:
#cmakedefine TEST_VAR_VALUE
In my CMakeLists.txt file I have:
configure_file( ${PROJECT_SOURCE_DIR}/src/config.h.in $
{PROJECT_SOURCE_DIR}/src/configure.h )
set( TEST_VAR_VALUE "0" )
This results in a configure.h file containing:
/* #undef TEST_VAR_VALUE */
But what I would like is:
#define TEST_VAR_VALUE 0
So basically cmake is seeing the value of TEST_VAR_VALUE as 0
and treating it as "false" rather than a value.
Any ideas how to accomplish this?
James
Use the (undocumented) #cmakedefine01.
I already submitted a patch, and the documentation has been fixed
in CVS.
Michael
Thanks! That did it.
Okay - I spoke too soon. It gave me a partial solution.
What if I want to have something like
#define TEST_VAR_VALUE 5
In the .in file:
#cmakedefine TEST_VAR_VALUE ${TEST_VAR_VALUE}
doesn't work (for reasons mentioned above)
However,
#cmakedefine01 TEST_VAR_VALUE ${TEST_VAR_VALUE}
results in
#define TEST_VAR_VALUE 5 1
if I have
set( TEST_VAR_VALUE 5 )
in my CMakeLists.txt file.
Can I get rid of the trailing value?
Aah, now I see what you want...
#define TEST_VAR_VALUE ${TEST_VAR_VALUE}
is what you want.
But if I do
set( TEST_VAR_VALUE 0 )
then this results in TEST_VAR_VALUE being undefined rather than having
the value of 0 as I want. If the value is anything other than zero it
works. This is what I tried to explain in my original (probably
unclear) post...
_______________________________________________
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