Merge branch release-4-6
[alexxy/gromacs.git] / cmake / gmxTestdlopen.cmake
1 # - Define macro to check if DLOPEN is defined
2 #
3 #  GMX_TEST_DLOPEN(VARIABLE)
4 #
5 #  VARIABLE will be set if dlopen is present in dlfcn.h
6 #
7
8 MACRO(GMX_TEST_DLOPEN VARIABLE)
9   IF(NOT DEFINED ${VARIABLE})
10     MESSAGE(STATUS "Checking for dlopen")
11
12     set(CMAKE_REQUIRED_INCLUDES "dlfcn.h")
13     set(CMAKE_REQUIRED_LIBRARIES "dl")
14     check_c_source_compiles(
15       "#include <dlfcn.h>
16 int main(void) {
17   dlopen(0,0);
18 }" ${VARIABLE})
19
20     IF(${VARIABLE})
21       MESSAGE(STATUS "Checking for dlopen - found")
22       set(${VARIABLE} 1 CACHE INTERNAL "Result of test for dlopen" FORCE)
23     ELSE()
24       MESSAGE(STATUS "Checking for dlopen - not found")
25       set(${VARIABLE} 0 CACHE INTERNAL "Result of test for dlopen" FORCE)
26     ENDIF()
27     set(CMAKE_REQUIRED_INCLUDES)
28     set(CMAKE_REQUIRED_LIBRARIES)
29   ENDIF()
30 ENDMACRO()