diff options
Diffstat (limited to 'debian/patches/fix-non-linux.patch')
-rw-r--r-- | debian/patches/fix-non-linux.patch | 167 |
1 files changed, 167 insertions, 0 deletions
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() |