summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt16
-rw-r--r--desktop/CMakeLists.txt8
-rw-r--r--lib/clipboard/CMakeLists.txt2
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/common/config.h.cmake1
-rw-r--r--test/unit/CMakeLists.txt2
-rw-r--r--test/unit/ui/CMakeLists.txt2
7 files changed, 24 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff30513..c4c3e39 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,7 @@ message(STATUS "Building Colobot \"${COLOBOT_VERSION_CODENAME}\" (${COLOBOT_VERS
if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
message(STATUS "Build for Windows system")
set(PLATFORM_WINDOWS 1)
+ set(PLATFORM_GNU 0)
set(PLATFORM_LINUX 0)
set(PLATFORM_MACOSX 0)
set(PLATFORM_OTHER 0)
@@ -52,15 +53,27 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
message(STATUS "Build for Linux system")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 1)
+ set(PLATFORM_GNU 1)
set(PLATFORM_MACOSX 0)
set(PLATFORM_OTHER 0)
# Platform-dependent implementation of system.h
set(SYSTEM_CPP_MODULE "system_linux.cpp")
+elseif("${CMAKE_SYSTEM_NAME}" MATCHES "kFreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
+ message(STATUS "Build for kFreeBSD system")
+ set(PLATFORM_WINDOWS 0)
+ set(PLATFORM_LINUX 0)
+ set(PLATFORM_GNU 1)
+ set(PLATFORM_MACOSX 0)
+ set(PLATFORM_OTHER 0)
+
+ # Platform-dependent implementation of system.h
+ set(SYSTEM_CPP_MODULE "system_other.cpp")
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
message(STATUS "Build for Mac OSX system")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 0)
+ set(PLATFORM_GNU 0)
set(PLATFORM_MACOSX 1)
set(PLATFORM_OTHER 0)
@@ -72,6 +85,7 @@ else()
message(STATUS "Build for other system")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 0)
+ set(PLATFORM_GNU 0)
set(PLATFORM_MACOSX 0)
set(PLATFORM_OTHER 1)
@@ -226,7 +240,7 @@ include("${colobot_SOURCE_DIR}/cmake/msys.cmake")
##
# Clipboard support needs X11 libraries
##
-if(PLATFORM_LINUX OR PLATFORM_MACOSX)
+if(PLATFORM_GNU OR PLATFORM_MACOSX)
find_package(X11 REQUIRED)
if(PLATFORM_MACOSX)
# Add the includes for X11
diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt
index 9fa0c5e..87c8a4b 100644
--- a/desktop/CMakeLists.txt
+++ b/desktop/CMakeLists.txt
@@ -4,7 +4,7 @@ set(COLOBOT_ICON_FILE colobot.svg)
# Render SVG icon in various sizes
find_program(RSVG_CONVERT rsvg-convert)
-if(RSVG_CONVERT AND (PLATFORM_LINUX OR PLATFORM_MACOSX))
+if(RSVG_CONVERT AND (PLATFORM_GNU OR PLATFORM_MACOSX))
add_custom_target(png-icons ALL)
foreach(PNGSIZE 512 256 128 48 32 16)
add_custom_command(
@@ -15,7 +15,7 @@ if(RSVG_CONVERT AND (PLATFORM_LINUX OR PLATFORM_MACOSX))
add_custom_target(png-icon-${PNGSIZE} ALL DEPENDS ${PNGSIZE}/colobot.png)
add_dependencies(png-icons png-icon-${PNGSIZE})
- if(PLATFORM_LINUX)
+ if(PLATFORM_GNU)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/
@@ -37,7 +37,7 @@ if(RSVG_CONVERT AND (PLATFORM_LINUX OR PLATFORM_MACOSX))
endif()
-if(PLATFORM_LINUX)
+if(PLATFORM_GNU)
# Install Desktop Entry file
set(COLOBOT_DESKTOP_FILE colobot.desktop)
add_custom_command(
@@ -112,7 +112,7 @@ if(PLATFORM_LINUX)
endforeach()
endif()
endif()
-endif(PLATFORM_LINUX)
+endif(PLATFORM_GNU)
if(PLATFORM_MACOSX)
configure_file(Info.plist.cmake ${CMAKE_CURRENT_BINARY_DIR}/Info.plist)
diff --git a/lib/clipboard/CMakeLists.txt b/lib/clipboard/CMakeLists.txt
index a189ec4..7999cc1 100644
--- a/lib/clipboard/CMakeLists.txt
+++ b/lib/clipboard/CMakeLists.txt
@@ -7,8 +7,6 @@ add_definitions(-DLIB_COMPILE=1)
if(PLATFORM_WINDOWS)
set(CLIPBOARD_SRC src/clipboardWin32.c)
-elseif(PLATFORM_LINUX)
- set(CLIPBOARD_SRC src/clipboardX11.c)
else()
set(CLIPBOARD_SRC src/clipboardX11.c)
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ef59973..c32f054 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -28,6 +28,8 @@ if(MXE) # MXE requires special treatment
elseif(PLATFORM_WINDOWS)
# because it isn't included in standard linking libraries
set(PLATFORM_LIBS "-lintl")
+elseif(PLATFORM_GNU)
+ set(PLATFORM_LIBS "-lX11")
elseif(PLATFORM_LINUX)
# for clock_gettime
set(PLATFORM_LIBS "-lrt -lX11")
diff --git a/src/common/config.h.cmake b/src/common/config.h.cmake
index 63cd93b..6408b6e 100644
--- a/src/common/config.h.cmake
+++ b/src/common/config.h.cmake
@@ -3,6 +3,7 @@
// Macros set by CMake
#cmakedefine PLATFORM_WINDOWS @PLATFORM_WINDOWS@
#cmakedefine PLATFORM_LINUX @PLATFORM_LINUX@
+#cmakedefine PLATFORM_GNU @PLATFORM_GNU@
#cmakedefine PLATFORM_MACOSX @PLATFORM_MACOSX@
#cmakedefine PLATFORM_OTHER @PLATFORM_OTHER@
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 38bffda..278519f 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -6,6 +6,8 @@ if(MXE) # MXE requires special treatment
elseif(PLATFORM_WINDOWS)
# because it isn't included in standard linking libraries
set(PLATFORM_LIBS "-lintl")
+elseif(PLATFORM_GNU)
+ set(PLATFORM_LIBS "-lX11")
elseif(PLATFORM_LINUX)
# for clock_gettime
set(PLATFORM_LIBS "-lrt -lX11")
diff --git a/test/unit/ui/CMakeLists.txt b/test/unit/ui/CMakeLists.txt
index 8086967..503f84b 100644
--- a/test/unit/ui/CMakeLists.txt
+++ b/test/unit/ui/CMakeLists.txt
@@ -10,8 +10,6 @@ ${CLIPBOARD_INCLUDE_DIR}
# Platform-dependent implementation of CSystemUtils
if(PLATFORM_WINDOWS)
-elseif(PLATFORM_LINUX)
- set(ADDITIONAL_LIB "-lX11")
elseif(PLATFORM_MACOSX)
set(ADDITIONAL_LIB "${X11_X11_LIB}")
else()