Commit 0695c5a7 authored by Mikael Ronstrom's avatar Mikael Ronstrom

Preparation for using CMake for more than Windows by only checking for WIN_ATOMICS32/64 on Windows

parent c91e9b43
...@@ -25,27 +25,28 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) ...@@ -25,27 +25,28 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8)
PROPERTIES COMPILE_FLAGS -Od) PROPERTIES COMPILE_FLAGS -Od)
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) 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 # 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 # Check for 64 bit atomics
TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR} TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics64_test.c) ${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics64_test.c)
IF (COMPILE_RES AND NOT RUN_RES) IF (COMPILE_RES AND NOT RUN_RES)
MESSAGE("Adding support for Win64 atomics") MESSAGE("Adding support for Win64 atomics")
ADD_DEFINITIONS(-DWIN_ATOMICS64) ADD_DEFINITIONS(-DWIN_ATOMICS64)
ENDIF (COMPILE_RES AND NOT RUN_RES) ENDIF (COMPILE_RES AND NOT RUN_RES)
ELSE (CMAKE_SIZEOF_VOID_P MATCHES 8) ELSE (CMAKE_SIZEOF_VOID_P MATCHES 8)
# Check for 32 bit atomics # Check for 32 bit atomics
TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR} TRY_RUN(RUN_RES COMPILE_RES ${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics32_test.c) ${CMAKE_SOURCE_DIR}/storage/innobase/win_atomics32_test.c)
IF (COMPILE_RES AND NOT RUN_RES) IF (COMPILE_RES AND NOT RUN_RES)
MESSAGE("Adding support for Win32 atomics") MESSAGE("Adding support for Win32 atomics")
ADD_DEFINITIONS(-DWIN_ATOMICS32) ADD_DEFINITIONS(-DWIN_ATOMICS32)
ENDIF (COMPILE_RES AND NOT RUN_RES) ENDIF (COMPILE_RES AND NOT RUN_RES)
ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8) ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8)
ENDIF (NOT WITHOUT_ATOMICS) ENDIF (NOT WITHOUT_ATOMICS)
ENDIF (WIN32)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
${CMAKE_SOURCE_DIR}/storage/innobase/include ${CMAKE_SOURCE_DIR}/storage/innobase/include
${CMAKE_SOURCE_DIR}/storage/innobase/handler ${CMAKE_SOURCE_DIR}/storage/innobase/handler
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment