summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2013-11-29 12:35:21 +0100
committerDidier Raboud <odyx@debian.org>2013-11-29 13:14:15 +0100
commit0df7757e88142395a998eb1494caf5caa247991c (patch)
treeefd8ac8daae8fd3ec23f0ec3f42e709e1fda70ff
parentf130b8340ef76939f66229a87558e81725c27caf (diff)
downloadcolobot-0df7757e88142395a998eb1494caf5caa247991c.tar.gz
colobot-0df7757e88142395a998eb1494caf5caa247991c.tar.bz2
colobot-0df7757e88142395a998eb1494caf5caa247991c.zip
Try another patch to consider non-Linux GNU variants
-rw-r--r--debian/patches/build-on-kfreebsd16
-rw-r--r--debian/patches/fix-non-linux.patch167
-rw-r--r--debian/patches/series2
3 files changed, 168 insertions, 17 deletions
diff --git a/debian/patches/build-on-kfreebsd b/debian/patches/build-on-kfreebsd
deleted file mode 100644
index 9000042..0000000
--- a/debian/patches/build-on-kfreebsd
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: Non-Linux architectures on Debian support to be considered as Linux in the Colobot case
-Author: Didier Raboud <odyx@debian.org>
-Last-Update: 2013-11-26
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -48,8 +48,8 @@
-
- # Platform-dependent implementation of system.h
- set(SYSTEM_CPP_MODULE "system_windows.cpp")
--elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
-- message(STATUS "Build for Linux system")
-+elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR "${CMAKE_SYSTEM_NAME}" MATCHES "kFreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
-+ message(STATUS "Build for GNU/Linux, GNU/kFreeBSD or GNU/Hurd system")
- set(PLATFORM_WINDOWS 0)
- set(PLATFORM_LINUX 1)
- set(PLATFORM_MACOSX 0)
diff --git a/debian/patches/fix-non-linux.patch b/debian/patches/fix-non-linux.patch
new file mode 100644
index 0000000..b2c9628
--- /dev/null
+++ b/debian/patches/fix-non-linux.patch
@@ -0,0 +1,167 @@
+commit 343fa8f0cbad19402a2533651acc53149be1fcf5
+Author: Didier Raboud <odyx@debian.org>
+Date: Wed Nov 27 18:53:28 2013 +0100
+
+ Add a PLATFORM_GNU global variable matching all GNU systems such as Debian's Linux, kFreeBSD and Hurd
+
+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()
diff --git a/debian/patches/series b/debian/patches/series
index a8520b8..6aac865 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,2 @@
i225-hide-black-squares-bug.patch
-build-on-kfreebsd
+fix-non-linux.patch