summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2013-11-03 13:04:57 +0100
committerPiotr Dziwinski <piotrdz@gmail.com>2013-11-03 13:04:57 +0100
commitf1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2 (patch)
treeb9e7e75a2138875ffed59772a2a1c7cf82b7aaa4 /CMakeLists.txt
parentec38c14ee8293b2dc7436e0c06b0c294652c84cc (diff)
parentd8e50e4eeb2dde3e0d228e2bead29d73494f8874 (diff)
downloadcolobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.tar.gz
colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.tar.bz2
colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.zip
Colobot Gold 0.1.1-alpha
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt86
1 files changed, 51 insertions, 35 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4a22138..43b4a8f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,12 +13,12 @@ project(colobot C CXX)
set(COLOBOT_VERSION_CODENAME "Gold")
set(COLOBOT_VERSION_MAJOR 0)
set(COLOBOT_VERSION_MINOR 1)
-set(COLOBOT_VERSION_REVISION 0)
+set(COLOBOT_VERSION_REVISION 1)
# Used on official releases
-set(COLOBOT_VERSION_RELEASE_CODENAME "-alpha")
+#set(COLOBOT_VERSION_RELEASE_CODENAME "-alpha")
# Used on unreleased, development builds
-#set(COLOBOT_VERSION_UNRELEASED "+alpha")
+set(COLOBOT_VERSION_UNRELEASED "+alpha")
# Append git characteristics to version
if(DEFINED COLOBOT_VERSION_UNRELEASED AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
@@ -36,6 +36,37 @@ set(COLOBOT_VERSION_FULL "${COLOBOT_VERSION_MAJOR}.${COLOBOT_VERSION_MINOR}.${CO
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)
+
+ set(USE_SDL_MAIN 1) # fixes SDL_main
+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
@@ -111,6 +142,9 @@ option(BOOST_STATIC "Link with static boost libraries" OFF)
# This is useful on Windows, if linking against standard GLEW dll fails
option(GLEW_STATIC "Link statically with GLEW" OFF)
+# Sometimes helpful if there are different versions of gmock/gtest installed on system vs bundled
+option(FORCE_BUNDLED_GTEST "Force the use of bundled gtest" OFF)
+option(FORCE_BUNDLED_GMOCK "Force the use of bundled gmock" OFF)
# Default build type if not given is debug
if(NOT DEFINED CMAKE_BUILD_TYPE)
@@ -146,28 +180,11 @@ find_package(GLEW REQUIRED)
if (OPENAL_SOUND)
find_package(OpenAL REQUIRED)
+ include_directories(${OPENAL_INCLUDE_DIR})
find_package(LibSndFile REQUIRED)
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)
add_definitions(-DNDEBUG)
endif()
@@ -178,6 +195,9 @@ else()
add_definitions(-DTEST_VIRTUAL=)
endif()
+if(DEV_BUILD)
+ add_definitions(-DDEV_BUILD)
+endif()
##
# Additional settings to use when cross-compiling with MXE (http://mxe.cc/)
@@ -192,14 +212,14 @@ include("${colobot_SOURCE_DIR}/cmake/msys.cmake")
##
-# Summary of detected things
+# Clipboard support needs X11 libraries
##
-if (PLATFORM_WINDOWS)
- message(STATUS "Build for Windows system")
-elseif(PLATFORM_LINUX)
- message(STATUS "Build for Linux system")
-else()
- message(STATUS "Build for other system")
+if(PLATFORM_LINUX OR PLATFORM_MACOSX)
+ find_package(X11 REQUIRED)
+ if(PLATFORM_MACOSX)
+ # Add the includes for X11
+ include_directories("/opt/X11/include")
+ endif()
endif()
@@ -240,7 +260,7 @@ if(TESTS)
# Google Test library
find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest)
find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include)
- if(GTEST_SRC_DIR AND GTEST_INCLUDE_DIR)
+ if(NOT(FORCE_BUNDLED_GTEST) AND GTEST_SRC_DIR AND GTEST_INCLUDE_DIR)
message(STATUS "Using system gtest library in ${GTEST_SRC_DIR}")
else()
message(STATUS "Using bundled gtest library")
@@ -253,7 +273,7 @@ if(TESTS)
# Google Mock library
find_path(GMOCK_SRC_DIR NAMES src/gmock.cc src/gmock-all.cc PATHS /usr/src PATH_SUFFIXES gmock)
find_path(GMOCK_INCLUDE_DIR gmock/gmock.h PATHS /usr/include)
- if(GMOCK_SRC_DIR AND GMOCK_INCLUDE_DIR)
+ if(NOT(FORCE_BUNDLED_GMOCK) AND GMOCK_SRC_DIR AND GMOCK_INCLUDE_DIR)
message(STATUS "Using system gmock library in ${GMOCK_SRC_DIR}")
include_directories(${GMOCK_SRC_DIR})
@@ -303,11 +323,7 @@ add_subdirectory(src)
add_subdirectory(po)
if(DESKTOP)
- if(PLATFORM_WINDOWS)
- message("Desktop files ignored on Windows")
- else()
- add_subdirectory(desktop)
- endif()
+ add_subdirectory(desktop)
endif()