Add two commonly used modules. First one checks if the function exists, the second one checks the size of type
This commit is contained in:
parent
157e2b4ac3
commit
76e9af1575
|
@ -0,0 +1,15 @@
|
|||
#ifdef CHECK_FUNCTION_EXISTS
|
||||
|
||||
char CHECK_FUNCTION_EXISTS();
|
||||
|
||||
int main()
|
||||
{
|
||||
CHECK_FUNCTION_EXISTS();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else /* CHECK_FUNCTION_EXISTS */
|
||||
|
||||
# error "CHECK_FUNCTION_EXISTS has to specify the function"
|
||||
|
||||
#endif /* CHECK_FUNCTION_EXISTS */
|
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# Check if the type exists and determine size of type. if the type
|
||||
# exists, the size will be stored to the variable.
|
||||
#
|
||||
# CHECK_TYPE_SIZE - macro which checks the size of type
|
||||
# VARIABLE - variable to store size if the type exists.
|
||||
#
|
||||
|
||||
MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
|
||||
TRY_COMPILE(COMPILE_OK
|
||||
${PROJECT_BINARY_DIR}
|
||||
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
|
||||
COMPILE_DEFINITIONS -DCHECK_FUNCTION_EXISTS=${FUNCTION}
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
IF(COMPILE_OK)
|
||||
SET(${VARIABLE} ${COMPILE_OK})
|
||||
ELSE(COMPILE_OK)
|
||||
WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
|
||||
"Determining if the function ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n")
|
||||
ENDIF(COMPILE_OK)
|
||||
ENDMACRO(CHECK_FUNCTION_EXISTS)
|
|
@ -0,0 +1,20 @@
|
|||
#ifdef CHECK_SIZE_OF
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif /* HAVE_SYS_TYPES_H */
|
||||
|
||||
#ifdef HAVE_STDINT_H
|
||||
# include <stdint.h>
|
||||
#endif /* HAVE_STDINT_H */
|
||||
|
||||
int main()
|
||||
{
|
||||
return sizeof(CHECK_SIZE_OF);
|
||||
}
|
||||
|
||||
#else /* CHECK_SIZE_OF */
|
||||
|
||||
# error "CHECK_SIZE_OF has to specify the type"
|
||||
|
||||
#endif /* CHECK_SIZE_OF */
|
|
@ -0,0 +1,21 @@
|
|||
#
|
||||
# Check if the type exists and determine size of type. if the type
|
||||
# exists, the size will be stored to the variable.
|
||||
#
|
||||
# CHECK_TYPE_SIZE - macro which checks the size of type
|
||||
# VARIABLE - variable to store size if the type exists.
|
||||
#
|
||||
|
||||
MACRO(CHECK_TYPE_SIZE TYPE VARIABLE)
|
||||
TRY_RUN(RUN_RESULT COMPILE_OK
|
||||
${PROJECT_BINARY_DIR}
|
||||
${CMAKE_ROOT}/Modules/CheckSizeOf.c
|
||||
COMPILE_DEFINITIONS -DCHECK_SIZE_OF="${TYPE}"
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
IF(COMPILE_OK)
|
||||
SET(${VARIABLE} ${RUN_RESULT})
|
||||
ELSE(COMPILE_OK)
|
||||
WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
|
||||
"Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n")
|
||||
ENDIF(COMPILE_OK)
|
||||
ENDMACRO(CHECK_TYPE_SIZE)
|
Loading…
Reference in New Issue