diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index 8a2e1535c67..249a600834d 100755 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -25,27 +25,28 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) PROPERTIES COMPILE_FLAGS -Od) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) -IF (NOT WITHOUT_ATOMICS) +IF (WIN32) + IF (NOT WITHOUT_ATOMICS) # Check if this Windows version supports atomic instructions - IF (CMAKE_SIZEOF_VOID_P MATCHES 8) + IF (CMAKE_SIZEOF_VOID_P MATCHES 8) # Check for 64 bit atomics - TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics64_test.c) - IF (COMPILE_RES AND NOT RUN_RES) - MESSAGE("Adding support for Win64 atomics") - ADD_DEFINITIONS(-DWIN_ATOMICS64) - ENDIF (COMPILE_RES AND NOT RUN_RES) - ELSE (CMAKE_SIZEOF_VOID_P MATCHES 8) + TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics64_test.c) + IF (COMPILE_RES AND NOT RUN_RES) + MESSAGE("Adding support for Win64 atomics") + ADD_DEFINITIONS(-DWIN_ATOMICS64) + ENDIF (COMPILE_RES AND NOT RUN_RES) + ELSE (CMAKE_SIZEOF_VOID_P MATCHES 8) # Check for 32 bit atomics - TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics32_test.c) - IF (COMPILE_RES AND NOT RUN_RES) - MESSAGE("Adding support for Win32 atomics") - ADD_DEFINITIONS(-DWIN_ATOMICS32) - ENDIF (COMPILE_RES AND NOT RUN_RES) - ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8) -ENDIF (NOT WITHOUT_ATOMICS) - + TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics32_test.c) + IF (COMPILE_RES AND NOT RUN_RES) + MESSAGE("Adding support for Win32 atomics") + ADD_DEFINITIONS(-DWIN_ATOMICS32) + ENDIF (COMPILE_RES AND NOT RUN_RES) + ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8) + ENDIF (NOT WITHOUT_ATOMICS) +ENDIF (WIN32) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/storage/innobase/include ${CMAKE_SOURCE_DIR}/storage/innobase/handler