Merge branch 'master' of git@git.gromacs.org:gromacs
[gromacs/rigid-bodies.git] / cmake / gmxTestInlineASM.cmake
blob5a343c134d1bb81cf5cba7f018a0a5e9d2a9735f
1 # - Define macro to check GCC x86 inline ASM support
3 #  GMX_TEST_INLINE_ASM_GCC_X86(VARIABLE)
5 #  VARIABLE will be set to true if GCC x86 inline asm works.
7 #  Remember to have a cmakedefine for it too...
9 MACRO(GMX_TEST_INLINE_ASM_GCC_X86 VARIABLE)
10     IF(NOT DEFINED ${VARIABLE})
11         
12         MESSAGE(STATUS "Checking for GCC x86 inline asm")
14         TRY_COMPILE(${VARIABLE} "${CMAKE_BINARY_DIR}"    
15                     "${CMAKE_SOURCE_DIR}/cmake/TestInlineASM_gcc_x86.c")
17         if(${VARIABLE})
18             MESSAGE(STATUS "Checking for GCC x86 inline asm - supported")
19             set(${VARIABLE} 1 CACHE INTERNAL "Result of test for GCC x86 inline asm" FORCE)
20         else(${VARIABLE})
21             MESSAGE(STATUS "Checking for GCC x86 inline asm - not supported")
22             set(${VARIABLE} 0 CACHE INTERNAL "Result of test for GCC x86 inline asm" FORCE)
23         endif(${VARIABLE})
25     ENDIF(NOT DEFINED ${VARIABLE})
26 ENDMACRO(GMX_TEST_INLINE_ASM_GCC_X86 VARIABLE)
30 # - Define macro to check MSVC x86 inline ASM support
32 #  GMX_TEST_INLINE_ASM_MSVC_X86(VARIABLE)
34 #  VARIABLE will be set to true if MSVC x86 inline asm works.
36 #  Remember to have a cmakedefine for it too...
38 MACRO(GMX_TEST_INLINE_ASM_MSVC_X86 VARIABLE)
39     IF(NOT DEFINED ${VARIABLE})
41         MESSAGE(STATUS "Checking for MSVC x86 inline asm")
43         TRY_COMPILE(${VARIABLE} "${CMAKE_BINARY_DIR}"
44                     "${CMAKE_SOURCE_DIR}/cmake/TestInlineASM_msvc_x86.c")
46         if(${VARIABLE})
47             MESSAGE(STATUS "Checking for MSVC x86 inline asm - supported")
48             set(${VARIABLE} 1 CACHE INTERNAL "Result of test for MSVC x86 inline asm" FORCE)
49         else(${VARIABLE})
50             MESSAGE(STATUS "Checking for MSVC x86 inline asm - not supported")
51             set(${VARIABLE} 0 CACHE INTERNAL "Result of test for MSVC x86 inline asm" FORCE)
52         endif(${VARIABLE})
54     ENDIF(NOT DEFINED ${VARIABLE})
55 ENDMACRO(GMX_TEST_INLINE_ASM_MSVC_X86 VARIABLE)