[CMake] CMAKE_CACHE_MAJOR_VERSION not set yet during initial cmake run
Wheeler, Frederick W (GE, Research)
wheeler at crd.ge.com
Fri Jul 11 11:03:08 EDT 2008
I'm trying to use CMAKE_CACHE_MAJOR_VERSION and
CMAKE_CACHE_MINOR_VERSION to determine which version of cmake is being
used, but it seems that these vars are not yet set during the first
cmake run. This is demonstrated in a simple test case below. CMake is
run twice, and you can see in the 'debug' prints are different on the
second cmake run.
Is there a better way to determine the cmake version being used?
Thanks,
Fred
0% cat CMakeLists.txt
SET( VER "${CMAKE_CACHE_MAJOR_VERSION}.${CMAKE_CACHE_MINOR_VERSION}" )
MESSAGE("debug ${VER}")
IF( "${VER}" STRGREATER "2.5" )
MESSAGE("debug NEW CMAKE")
ELSE( "${VER}" STRGREATER "2.5" )
MESSAGE("debug OLD CMAKE")
ENDIF( "${VER}" STRGREATER "2.5" )
0% cmake --version
cmake version 2.6-patch 0
0% ls
CMakeLists.txt
0% cmake .
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc.exe
-- Check for working C compiler: /usr/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++.exe
-- Check for working CXX compiler: /usr/bin/c++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
debug .
debug OLD CMAKE
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/d/home/wheeler/tmp_ver
0% cmake .
debug 2.6
debug NEW CMAKE
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/d/home/wheeler/tmp_ver
More information about the CMake
mailing list