MacOSX: Add initial support in CMake build infra

dev-ui
Didier 'OdyX' Raboud 2013-10-23 14:22:20 +02:00 committed by Piotr Dziwinski
parent 485d0baf67
commit b3b6a40d9e
5 changed files with 45 additions and 25 deletions

View File

@ -36,6 +36,35 @@ set(COLOBOT_VERSION_FULL "${COLOBOT_VERSION_MAJOR}.${COLOBOT_VERSION_MINOR}.${CO
message(STATUS "Building Colobot \"${COLOBOT_VERSION_CODENAME}\" (${COLOBOT_VERSION_FULL})") message(STATUS "Building Colobot \"${COLOBOT_VERSION_CODENAME}\" (${COLOBOT_VERSION_FULL})")
##
# Platform detection and some related checks
##
if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
message(STATUS "Build for Windows system")
set(PLATFORM_WINDOWS 1)
set(PLATFORM_LINUX 0)
set(PLATFORM_MACOSX 0)
set(PLATFORM_OTHER 0)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
message(STATUS "Build for Linux system")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 1)
set(PLATFORM_MACOSX 0)
set(PLATFORM_OTHER 0)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
message(STATUS "Build for Mac OSX system")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 0)
set(PLATFORM_MACOSX 1)
set(PLATFORM_OTHER 0)
else()
message(STATUS "Build for other system")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 0)
set(PLATFORM_MACOSX 0)
set(PLATFORM_OTHER 1)
endif()
## ##
# Build options # Build options
@ -150,24 +179,6 @@ if (OPENAL_SOUND)
endif() endif()
##
# Platform detection and some related checks
##
if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
set(PLATFORM_WINDOWS 1)
set(PLATFORM_LINUX 0)
set(PLATFORM_OTHER 0)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 1)
set(PLATFORM_OTHER 0)
else()
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 0)
set(PLATFORM_OTHER 1)
endif()
if(NOT ASSERTS) if(NOT ASSERTS)
add_definitions(-DNDEBUG) add_definitions(-DNDEBUG)
endif() endif()
@ -195,14 +206,14 @@ include("${colobot_SOURCE_DIR}/cmake/msys.cmake")
## ##
# Summary of detected things # Clipboard support needs X11 libraries
## ##
if (PLATFORM_WINDOWS) if(PLATFORM_LINUX OR PLATFORM_MACOSX)
message(STATUS "Build for Windows system") find_package(X11 REQUIRED)
elseif(PLATFORM_LINUX) if(PLATFORM_MACOSX)
message(STATUS "Build for Linux system") # Add the includes for X11
else() include_directories("/opt/X11/include")
message(STATUS "Build for other system") endif()
endif() endif()

View File

@ -31,6 +31,9 @@ elseif(PLATFORM_WINDOWS)
elseif(PLATFORM_LINUX) elseif(PLATFORM_LINUX)
# for clock_gettime # for clock_gettime
set(PLATFORM_LIBS "-lrt -lX11") set(PLATFORM_LIBS "-lrt -lX11")
elseif(PLATFORM_MACOSX)
find_library(LIBINTL_LIBRARY NAMES intl libintl )
set(PLATFORM_LIBS ${LIBINTL_LIBRARY} ${X11_X11_LIB})
endif() endif()

View File

@ -3,6 +3,7 @@
// Macros set by CMake // Macros set by CMake
#cmakedefine PLATFORM_WINDOWS @PLATFORM_WINDOWS@ #cmakedefine PLATFORM_WINDOWS @PLATFORM_WINDOWS@
#cmakedefine PLATFORM_LINUX @PLATFORM_LINUX@ #cmakedefine PLATFORM_LINUX @PLATFORM_LINUX@
#cmakedefine PLATFORM_MACOSX @PLATFORM_MACOSX@
#cmakedefine PLATFORM_OTHER @PLATFORM_OTHER@ #cmakedefine PLATFORM_OTHER @PLATFORM_OTHER@
#cmakedefine GLEW_STATIC #cmakedefine GLEW_STATIC

View File

@ -9,6 +9,8 @@ elseif(PLATFORM_WINDOWS)
elseif(PLATFORM_LINUX) elseif(PLATFORM_LINUX)
# for clock_gettime # for clock_gettime
set(PLATFORM_LIBS "-lrt -lX11") set(PLATFORM_LIBS "-lrt -lX11")
elseif(PLATFORM_MACOSX)
set(PLATFORM_LIBS ${X11_X11_LIB})
endif() endif()

View File

@ -14,6 +14,9 @@ if(PLATFORM_WINDOWS)
elseif(PLATFORM_LINUX) elseif(PLATFORM_LINUX)
set(SYSTEM_CPP_MODULE "system_linux.cpp") set(SYSTEM_CPP_MODULE "system_linux.cpp")
set(ADDITIONAL_LIB "-lX11") set(ADDITIONAL_LIB "-lX11")
elseif(PLATFORM_MACOSX)
set(SYSTEM_CPP_MODULE "system_other.cpp")
set(ADDITIONAL_LIB "${X11_X11_LIB}")
else() else()
set(SYSTEM_CPP_MODULE "system_other.cpp") set(SYSTEM_CPP_MODULE "system_other.cpp")
set(ADDITIONAL_LIB "-lX11") set(ADDITIONAL_LIB "-lX11")