| # |
| # Test SET |
| # |
| SET (ZERO_VAR 0) |
| SET (ZERO_VAR2 0) |
| |
| IF(ZERO_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED) |
| ELSE(ZERO_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED) |
| ENDIF(ZERO_VAR) |
| |
| SET(ONE_VAR 1) |
| SET(ONE_VAR2 1) |
| SET(STRING_VAR "CMake is great" CACHE STRING "test a cache variable") |
| |
| # |
| # Test VARIABLE_REQUIRES |
| # |
| VARIABLE_REQUIRES(ONE_VAR |
| ONE_VAR_IS_DEFINED ONE_VAR) |
| |
| # |
| # Test various IF/ELSE combinations |
| # |
| IF(NOT ZERO_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_NOT) |
| ELSE(NOT ZERO_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_NOT) |
| ENDIF(NOT ZERO_VAR) |
| |
| IF(NOT ONE_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_NOT2) |
| ELSE(NOT ONE_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_NOT2) |
| ENDIF(NOT ONE_VAR) |
| |
| IF(ONE_VAR AND ONE_VAR2) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_AND) |
| ELSE(ONE_VAR AND ONE_VAR2) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_AND) |
| ENDIF(ONE_VAR AND ONE_VAR2) |
| |
| IF(ONE_VAR AND ZERO_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_AND2) |
| ELSE(ONE_VAR AND ZERO_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_AND2) |
| ENDIF(ONE_VAR AND ZERO_VAR) |
| |
| IF(ZERO_VAR OR ONE_VAR2) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_OR) |
| ELSE(ZERO_VAR OR ONE_VAR2) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_OR) |
| ENDIF(ZERO_VAR OR ONE_VAR2) |
| |
| IF(ZERO_VAR OR ZERO_VAR2) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_OR2) |
| ELSE(ZERO_VAR OR ZERO_VAR2) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_OR2) |
| ENDIF(ZERO_VAR OR ZERO_VAR2) |
| |
| IF(STRING_VAR MATCHES "^CMake") |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_MATCHES) |
| ELSE(STRING_VAR MATCHES "^CMake") |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_MATCHES) |
| ENDIF(STRING_VAR MATCHES "^CMake") |
| |
| IF(STRING_VAR MATCHES "^foo") |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_MATCHES2) |
| ELSE(STRING_VAR MATCHES "^foo") |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_MATCHES2) |
| ENDIF(STRING_VAR MATCHES "^foo") |
| |
| IF(COMMAND "IF") |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_COMMAND) |
| ELSE(COMMAND "IF") |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_COMMAND) |
| ENDIF(COMMAND "IF") |
| |
| IF(COMMAND "ROQUEFORT") |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_COMMAND2) |
| ELSE(COMMAND "ROQUEFORT") |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_COMMAND2) |
| ENDIF(COMMAND "ROQUEFORT") |
| |
| IF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EXISTS) |
| ELSE(EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EXISTS) |
| ENDIF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake) |
| |
| IF (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EXISTS2) |
| ELSE(EXISTS ${Complex_SOURCE_DIR}/roquefort.txt) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EXISTS2) |
| ENDIF (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt) |
| |
| IF (IS_DIRECTORY ${Complex_SOURCE_DIR}) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_IS_DIRECTORY) |
| ENDIF (IS_DIRECTORY ${Complex_SOURCE_DIR}) |
| |
| IF (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_IS_DIRECTORY2) |
| ENDIF (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake) |
| |
| SET (SNUM1_VAR "1") |
| SET (SNUM2_VAR "2") |
| SET (SNUM3_VAR "1") |
| |
| |
| IF (SNUM1_VAR LESS SNUM2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_LESS) |
| ELSE (SNUM1_VAR LESS SNUM2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_LESS) |
| ENDIF (SNUM1_VAR LESS SNUM2_VAR) |
| |
| IF (SNUM2_VAR LESS SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_LESS2) |
| ELSE (SNUM2_VAR LESS SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_LESS2) |
| ENDIF (SNUM2_VAR LESS SNUM1_VAR) |
| |
| IF (SNUM2_VAR GREATER SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_GREATER) |
| ELSE (SNUM2_VAR GREATER SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_GREATER) |
| ENDIF (SNUM2_VAR GREATER SNUM1_VAR) |
| |
| IF (SNUM2_VAR EQUAL SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EQUAL) |
| ELSE (SNUM2_VAR EQUAL SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EQUAL) |
| ENDIF (SNUM2_VAR EQUAL SNUM1_VAR) |
| |
| IF (SNUM3_VAR EQUAL SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EQUAL) |
| ELSE (SNUM3_VAR EQUAL SNUM1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EQUAL) |
| ENDIF (SNUM3_VAR EQUAL SNUM1_VAR) |
| |
| IF (SNUM1_VAR GREATER SNUM2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_GREATER2) |
| ELSE (SNUM1_VAR GREATER SNUM2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_GREATER2) |
| ENDIF (SNUM1_VAR GREATER SNUM2_VAR) |
| |
| SET (SSTR1_VAR "abc") |
| SET (SSTR2_VAR "bcd") |
| |
| IF (SSTR1_VAR STRLESS SSTR2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRLESS) |
| ELSE (SSTR1_VAR STRLESS SSTR2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRLESS) |
| ENDIF (SSTR1_VAR STRLESS SSTR2_VAR) |
| |
| IF (SSTR2_VAR STRLESS SSTR1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRLESS2) |
| ELSE (SSTR2_VAR STRLESS SSTR1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRLESS2) |
| ENDIF (SSTR2_VAR STRLESS SSTR1_VAR) |
| |
| IF (SSTR2_VAR STRGREATER SSTR1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRGREATER) |
| ELSE (SSTR2_VAR STRGREATER SSTR1_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRGREATER) |
| ENDIF (SSTR2_VAR STRGREATER SSTR1_VAR) |
| |
| IF (SSTR1_VAR STRGREATER SSTR2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRGREATER2) |
| ELSE (SSTR1_VAR STRGREATER SSTR2_VAR) |
| ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRGREATER2) |
| ENDIF (SSTR1_VAR STRGREATER SSTR2_VAR) |
| |
| # |
| # Test FOREACH |
| # |
| FOREACH (INDEX 1 2) |
| SET(FOREACH_VAR${INDEX} "VALUE${INDEX}") |
| ENDFOREACH(INDEX) |
| |
| SET(FOREACH_CONCAT "") |
| FOREACH (INDEX a;b;c;d;e;f;g) |
| SET(FOREACH_CONCAT "${FOREACH_CONCAT}${INDEX}") |
| ENDFOREACH(INDEX) |
| |
| # |
| # Test FIND_FILE, FIND_PATH and various GET_FILENAME_COMPONENT combinations |
| # |
| FIND_FILE(FILENAME_VAR "VarTests.cmake" ${Complex_SOURCE_DIR}) |
| |
| GET_FILENAME_COMPONENT(FILENAME_VAR_PATH ${FILENAME_VAR} PATH) |
| GET_FILENAME_COMPONENT(FILENAME_VAR_PATH_NAME ${FILENAME_VAR_PATH} NAME) |
| GET_FILENAME_COMPONENT(FILENAME_VAR_NAME ${FILENAME_VAR} NAME) |
| GET_FILENAME_COMPONENT(FILENAME_VAR_EXT ${FILENAME_VAR} EXT) |
| GET_FILENAME_COMPONENT(FILENAME_VAR_NAME_WE ${FILENAME_VAR} NAME_WE CACHE) |
| |
| FIND_PATH(PATH_VAR "cmTestConfigure.h.in" ${Complex_SOURCE_DIR}) |
| GET_FILENAME_COMPONENT(PATH_VAR_NAME ${PATH_VAR} NAME) |