You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
blockattack has a FindSDL2.cmake "find-module". Blockattack assumes that the CFLAGS necessary to find SDL.h are also sufficient to find SDL_mixer.h. This will cause a build failure when this assumption is not true. I am attaching a patch by Simon McVittie that solves the problem.
Blockattack should ideally also drop FindSDL2.cmake and rely on the
CMake support in SDL2 >= 2.0.4 (it is now a "config-file package" in CMake
terminology), similar to JACoders/OpenJK#1033.
From: Simon McVittie smcv@debian.org
Date: Sun, 23 Feb 2020 14:28:29 +0000
Subject: build: Add include directories for all SDL2_foo modules
The build system assumed that SDL2 and all the SDL2_foo libraries were
installed with the same ${includedir}, but this is not guaranteed:
we could be using a system copy of SDL2 in conjunction with SDL2_foo
libraries in a non-standard prefix.
This also fixes a build regression with recent Debian SDL2 packages, in
which the SDL2 headers are installed in an architecture-dependent
directory but the SDL2_foo headers are not.
blockattack has a FindSDL2.cmake "find-module". Blockattack assumes that the CFLAGS necessary to find SDL.h are also sufficient to find SDL_mixer.h. This will cause a build failure when this assumption is not true. I am attaching a patch by Simon McVittie that solves the problem.
Blockattack should ideally also drop FindSDL2.cmake and rely on the
CMake support in SDL2 >= 2.0.4 (it is now a "config-file package" in CMake
terminology), similar to JACoders/OpenJK#1033.
This is Debian bug https://bugs.debian.org/951943
Patch:
From: Simon McVittie smcv@debian.org
Date: Sun, 23 Feb 2020 14:28:29 +0000
Subject: build: Add include directories for all SDL2_foo modules
The build system assumed that SDL2 and all the SDL2_foo libraries were
installed with the same ${includedir}, but this is not guaranteed:
we could be using a system copy of SDL2 in conjunction with SDL2_foo
libraries in a non-standard prefix.
This also fixes a build regression with recent Debian SDL2 packages, in
which the SDL2 headers are installed in an architecture-dependent
directory but the SDL2_foo headers are not.
Signed-off-by: Simon McVittie smcv@debian.org
Bug-Debian: https://bugs.debian.org/951943
CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4d7644..91bdcbf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,8 +60,11 @@ include_directories(${SDL2_INCLUDE_DIR})
#Setup things that use pkg-config
find_package(PkgConfig REQUIRED)
pkg_search_module(SDL2MIXER REQUIRED SDL2_mixer)
+include_directories(${SDL2MIXER_INCLUDE_DIRS})
pkg_search_module(SDL2IMAGE REQUIRED SDL2_image)
+include_directories(${SDL2IMAGE_INCLUDE_DIRS})
pkg_search_module(SDL2TTF REQUIRED SDL2_ttf)
+include_directories(${SDL2TTF_INCLUDE_DIRS})
find_package(Boost COMPONENTS program_options REQUIRED)
The text was updated successfully, but these errors were encountered: