On Jan 17, 2011, at 1:23 PM, Eric Noulard wrote: > 2011/1/17 Michael Jackson <mike.jack...@bluequartz.net>: >> I have the following code: >> >> if ( "${CMAKE_SIZEOF_VOID_P}" EQUAL "8" ) >> set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-Win64") >> elseif( "${CMAKE_SIZEOF_VOID_P}" EQUAL "4" ) >> set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-Win32") >> else() >> set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-Unknown") >> endif() >> >> I properly generate VS 2008 Win64 projects. Everything builds fine. When I >> build the "PACKAGE" project I get a zip file with "-Unknown" in the name. >> This will usually configure OK the first time or so, ie, I get a Zip file >> name with "-Win64" but after a few more configs this seems to revert back to >> "Unknown". Searching the "CMakeCache.txt" file for "CMAKE_SIZEOF_VOID_P" >> comes up empty. Is this some sort of temporary variable? > > Shouldn't be "temporary" just "not in cache". > >> Do I need to store it in my own cache variable somewhere? > > I don't think you should. > Looks like a bug to me, how come CMAKE_SIZEOF_VOID_P > would it be defined "sometimes" but not **always**... > > need to dive into the source of this definition, may be it is not always > defined because it is "indirectly" defined in the chain of CMake processing > due > to CMake cache. > > By the way shouldn't you use > > if (CMAKE_SIZEOF_VOID_P EQUAL 8) > > instead of > > if ( "${CMAKE_SIZEOF_VOID_P}" EQUAL "8" ) > > from the doc I think EQUAL is for values whereas STREQUAL is for string. > > > -- > Erk > Membre de l'April - « promouvoir et défendre le logiciel libre » - > http://www.april.org
It seems like if I start with a clean build directory then CMAKE_SIZEOF_VOID_P will be the proper value for the environment I am running in. But then after a while (many runs of CMake) the value seems to get "lost" or otherwise is NOT in the cache any longer. Kind of odd really. You are probably right about the improper use of the "if" command. I never really know which one to use and when something does not work when I _think_ it really *should* work then I start trying all sorts of stuff. Maybe someone else has some ideas as to why CMAKE_SIZEOF_VOID_P might not be defined. ___________________________________________________________ Mike Jackson www.bluequartz.net _______________________________________________ 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