From f081afec19755e4ab95142e754e490b5739994c1 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Sun, 22 Jan 2023 20:48:20 +0100
Subject: [PATCH] cmake: check existence of signal.h and setbuf for samples
---
CMakeLists.txt | 10 ++++++++++
cmake/PrivateSdlFunctions.cmake | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cae4beba..fc4b6a1b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,6 +52,7 @@ else()
set(vendored_default OFF)
endif()
+include(CheckIncludeFile)
include(CheckSymbolExists)
include(CMakeDependentOption)
include(CMakePackageConfigHelpers)
@@ -958,6 +959,9 @@ if(SDL2MIXER_INSTALL)
endif()
if(SDL2MIXER_SAMPLES)
+ check_include_file("signal.h" HAVE_SIGNAL_H)
+ check_symbol_exists("setbuf" "stdio.h" HAVE_SETBUF)
+
add_executable(playmus playmus.c)
add_executable(playwave playwave.c)
@@ -974,6 +978,12 @@ if(SDL2MIXER_SAMPLES)
target_link_libraries(${prog} PRIVATE SDL2::SDL2main)
endif()
target_link_libraries(${prog} PRIVATE ${sdl2_target_name})
+ if(HAVE_SIGNAL_H)
+ target_compile_definitions(${prog} PRIVATE HAVE_SIGNAL_H)
+ endif()
+ if(HAVE_SETBUF)
+ target_compile_definitions(${prog} PRIVATE HAVE_SETBUF)
+ endif()
if(SDL2MIXER_SAMPLES_INSTALL)
install(TARGETS ${prog}
diff --git a/cmake/PrivateSdlFunctions.cmake b/cmake/PrivateSdlFunctions.cmake
index 0b33dd26..6f8f23cd 100644
--- a/cmake/PrivateSdlFunctions.cmake
+++ b/cmake/PrivateSdlFunctions.cmake
@@ -60,7 +60,7 @@ macro(sdl_find_sdl2 TARGET VERSION)
# or for those installations where no target is generated.
if (NOT TARGET ${TARGET})
message(STATUS "Using private SDL2 find module")
- find_package(PrivateSDL2 ${VERSION} REQUIRED)
+ find_package(PrivateSDL2 ${VERSION} REQUIRED MODULE)
add_library(${TARGET} INTERFACE IMPORTED)
set_target_properties(${TARGET} PROPERTIES
INTERFACE_LINK_LIBRARIES "PrivateSDL2::PrivateSDL2"