Add a way to add custom libraries to the mix
This commit is contained in:
parent
fe6721af84
commit
6d5c437045
@ -10,10 +10,15 @@ MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
|
|||||||
IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
|
IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
|
||||||
SET(MACRO_CHECK_FUNCTION_DEFINITIONS -DCHECK_FUNCTION_EXISTS=${FUNCTION})
|
SET(MACRO_CHECK_FUNCTION_DEFINITIONS -DCHECK_FUNCTION_EXISTS=${FUNCTION})
|
||||||
MESSAGE(STATUS "Looking for ${FUNCTION}")
|
MESSAGE(STATUS "Looking for ${FUNCTION}")
|
||||||
|
IF(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
SET(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||||
|
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||||
|
ENDIF(CMAKE_REQUIRED_LIBRARIES)
|
||||||
TRY_COMPILE(${VARIABLE}
|
TRY_COMPILE(${VARIABLE}
|
||||||
${CMAKE_BINARY_DIR}
|
${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
|
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
|
||||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||||
|
${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
OUTPUT_VARIABLE OUTPUT)
|
||||||
IF(${VARIABLE})
|
IF(${VARIABLE})
|
||||||
SET(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
|
SET(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
|
||||||
|
@ -10,13 +10,18 @@ MACRO(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
|
|||||||
IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
|
IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
|
||||||
SET(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION -DCHECK_FUNCTION_EXISTS=${FUNCTION})
|
SET(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION -DCHECK_FUNCTION_EXISTS=${FUNCTION})
|
||||||
MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY}")
|
MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY}")
|
||||||
|
SET(CHECK_LIBRARY_EXISTS_LIBRARIES ${LIBRARY})
|
||||||
|
IF(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
SET(CHECK_LIBRARY_EXISTS_LIBRARIES
|
||||||
|
${CHECK_LIBRARY_EXISTS_LIBRARIES} ${CMAKE_REQUIRED_LIBRARIES})
|
||||||
|
ENDIF(CMAKE_REQUIRED_LIBRARIES)
|
||||||
TRY_COMPILE(${VARIABLE}
|
TRY_COMPILE(${VARIABLE}
|
||||||
${CMAKE_BINARY_DIR}
|
${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
|
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
|
||||||
CMAKE_FLAGS
|
CMAKE_FLAGS
|
||||||
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_LIBRARY_EXISTS_DEFINITION}
|
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_LIBRARY_EXISTS_DEFINITION}
|
||||||
-DLINK_DIRECTORIES:STRING=${LOCATION}
|
-DLINK_DIRECTORIES:STRING=${LOCATION}
|
||||||
-DLINK_LIBRARIES:STRING=${LIBRARY}
|
-DLINK_LIBRARIES:STRING=${CHECK_LIBRARY_EXISTS_LIBRARIES}
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
OUTPUT_VARIABLE OUTPUT)
|
||||||
|
|
||||||
IF(${VARIABLE})
|
IF(${VARIABLE})
|
||||||
|
@ -17,10 +17,15 @@ MACRO(CHECK_TYPE_SIZE TYPE VARIABLE)
|
|||||||
SET(MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -DHAVE_STDINT_H")
|
SET(MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -DHAVE_STDINT_H")
|
||||||
ENDIF(HAVE_STDINT_H)
|
ENDIF(HAVE_STDINT_H)
|
||||||
MESSAGE(STATUS "Check size of ${TYPE}")
|
MESSAGE(STATUS "Check size of ${TYPE}")
|
||||||
|
IF(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
SET(CHECK_TYPE_SIZE_ADD_LIBRARIES
|
||||||
|
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||||
|
ENDIF(CMAKE_REQUIRED_LIBRARIES)
|
||||||
TRY_RUN(${VARIABLE} HAVE_${VARIABLE}
|
TRY_RUN(${VARIABLE} HAVE_${VARIABLE}
|
||||||
${CMAKE_BINARY_DIR}
|
${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_ROOT}/Modules/CheckTypeSize.c
|
${CMAKE_ROOT}/Modules/CheckTypeSize.c
|
||||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS}
|
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS}
|
||||||
|
${CHECK_TYPE_SIZE_ADD_LIBRARIES}
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
OUTPUT_VARIABLE OUTPUT)
|
||||||
IF(HAVE_${VARIABLE})
|
IF(HAVE_${VARIABLE})
|
||||||
MESSAGE(STATUS "Check size of ${TYPE} - done")
|
MESSAGE(STATUS "Check size of ${TYPE} - done")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user