Added missing cmake tests.
[alexxy/gromacs.git] / cmake / gmxTestSignal.cmake
1 # - Define macro to check return type of signals (int/void)
2 #
3 #  GMX_TEST_RETSIGTYPE(VARIABLE)
4 #
5 #  VARIABLE will be set to the return type of signals - "int" or "void"
6 #
7 #  Remember to have a cmakedefine for it too...
8
9 MACRO(GMX_TEST_RETSIGTYPE VARIABLE)
10     IF(NOT DEFINED ${VARIABLE})
11
12         MESSAGE(STATUS "Checking for return type of signals")
13
14         # First check without any special flags
15         TRY_COMPILE(RETSIGTYPE_INT_OK "${CMAKE_BINARY_DIR}"    
16                     "${CMAKE_SOURCE_DIR}/cmake/TestRetSigType.c")
17
18         if(RETSIGTYPE_INT_OK)
19             MESSAGE(STATUS "Checking for return type of signals - int")                 
20             set(${VARIABLE} "int" CACHE INTERNAL "Result of test for signal return type" FORCE)
21         else(RETSIGTYPE_INT_OK)
22             MESSAGE(STATUS "Checking for return type of signals - void")
23             set(${VARIABLE} "void" CACHE INTERNAL "Result of test for signal return type" FORCE)
24         endif(RETSIGTYPE_INT_OK)
25         
26     ENDIF(NOT DEFINED ${VARIABLE})
27 ENDMACRO(GMX_TEST_RETSIGTYPE VARIABLE)
28
29
30
31 # - Define macro to check if SIGUSR1 is defined
32 #
33 #  GMX_TEST_SIGUSR1(VARIABLE)
34 #
35 #  VARIABLE will be set if SIGUSR1 is present in signal.h
36 #
37
38 MACRO(GMX_TEST_SIGUSR1 VARIABLE)
39     IF(NOT DEFINED HAVE_${VARIABLE})
40         
41         MESSAGE(STATUS "Checking for SIGUSR1")
42
43         TRY_COMPILE(HAVE_${VARIABLE} "${CMAKE_BINARY_DIR}"    
44                     "${CMAKE_SOURCE_DIR}/cmake/TestSIGUSR1.c")
45
46         IF(HAVE_${VARIABLE})        
47             MESSAGE(STATUS "Checking for SIGUSR1 - found")
48             set(${VARIABLE} 1 CACHE INTERNAL "Result of test for SIGUSR1" FORCE)
49         ELSE(HAVE_${VARIABLE})
50             MESSAGE(STATUS "Checking for SIGUSR1 - not found")
51             set(${VARIABLE} 0 CACHE INTERNAL "Result of test for SIGUSR1" FORCE)
52         ENDIF(HAVE_${VARIABLE})
53         
54     ENDIF(NOT DEFINED HAVE_${VARIABLE})
55 ENDMACRO(GMX_TEST_SIGUSR1 VARIABLE)
56
57