ENH: Added CHECK_VARIABLE_EXISTS macro.
This commit is contained in:
parent
a7da3d4eff
commit
9a98c16803
|
@ -0,0 +1,16 @@
|
|||
#ifdef CHECK_VARIABLE_EXISTS
|
||||
|
||||
extern int CHECK_VARIABLE_EXISTS;
|
||||
|
||||
int main()
|
||||
{
|
||||
int* p;
|
||||
p = &CHECK_VARIABLE_EXISTS;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else /* CHECK_VARIABLE_EXISTS */
|
||||
|
||||
# error "CHECK_VARIABLE_EXISTS has to specify the variable"
|
||||
|
||||
#endif /* CHECK_VARIABLE_EXISTS */
|
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# Check if the variable exists.
|
||||
# # CHECK_VARIABLE_EXISTS - macro which checks if the variable exists
|
||||
# VAR - the name of the variable
|
||||
# VARIABLE - variable to store the result
|
||||
#
|
||||
|
||||
MACRO(CHECK_VARIABLE_EXISTS VAR VARIABLE)
|
||||
SET(MACRO_CHECK_VARIABLE_DEFINITIONS -DCHECK_VARIABLE_EXISTS=${VAR})
|
||||
TRY_COMPILE(${VARIABLE}
|
||||
${PROJECT_BINARY_DIR}
|
||||
${CMAKE_ROOT}/Modules/CheckVariableExists.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS}
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
IF(${VARIABLE})
|
||||
SET(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
|
||||
ELSE(${VARIABLE})
|
||||
SET(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
|
||||
WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
|
||||
"Determining if the variable ${VAR} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n" APPEND)
|
||||
ENDIF(${VARIABLE})
|
||||
ENDMACRO(CHECK_VARIABLE_EXISTS)
|
Loading…
Reference in New Issue