From 0df7757e88142395a998eb1494caf5caa247991c Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Fri, 29 Nov 2013 12:35:21 +0100 Subject: Try another patch to consider non-Linux GNU variants --- debian/patches/build-on-kfreebsd | 16 ---- debian/patches/fix-non-linux.patch | 167 +++++++++++++++++++++++++++++++++++++ debian/patches/series | 2 +- 3 files changed, 168 insertions(+), 17 deletions(-) delete mode 100644 debian/patches/build-on-kfreebsd create mode 100644 debian/patches/fix-non-linux.patch (limited to 'debian/patches') 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 -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 +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 -- cgit v1.2.3-1-g7c22