From b1f3661d308ed5f6fa16ec7cab41ba2c6eeccb17 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 25 Aug 2023 00:33:38 +0200
Subject: [PATCH] cmake: Set CMP0077 to NEW
This avoids the need for settings CACHE variables, and will now show warnings messages.
---
CMakeLists.txt | 48 ++++++++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 22 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f3f98c4b..d344b770 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,10 @@ if(ANDROID)
set(SDL3MIXER_SAMPLES_DEFAULT OFF)
endif()
+# option() honors normal variables.
+cmake_policy(SET CMP0077 NEW)
+set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
+
if(POLICY CMP0112)
# Target file component generator expressions do not add target dependencies.
cmake_policy(SET CMP0112 NEW)
@@ -383,8 +387,8 @@ if(SDL3MIXER_OGG)
if(SDL3MIXER_VENDORED)
message(STATUS "Using vendored libogg")
set(BUILD_SHARED_LIBS ${SDL3MIXER_OGG_SHARED})
- set(INSTALL_CMAKE_PACKAGE_MODULE FALSE CACHE BOOL "Don't install cmake module for libogg")
- set(BUILD_TESTING OFF CACHE BOOL "Build tests")
+ set(INSTALL_CMAKE_PACKAGE_MODULE FALSE)
+ set(BUILD_TESTING OFF)
sdl_check_project_in_subfolder(external/ogg ogg SDL3MIXER_VENDORED)
add_subdirectory(external/ogg EXCLUDE_FROM_ALL)
if(SDL3MIXER_OGG_install)
@@ -402,13 +406,13 @@ if(SDL3MIXER_OPUS)
endif()
message(STATUS "Using vendored opus")
set(BUILD_SHARED_LIBS ${SDL3MIXER_OPUS_SHARED})
- set(BUILD_PROGRAMS OFF CACHE BOOL "Build programs")
+ set(BUILD_PROGRAMS OFF)
sdl_check_project_in_subfolder(external/opus opus SDL3MIXER_VENDORED)
add_subdirectory(external/opus EXCLUDE_FROM_ALL)
- set(OP_DISABLE_DOCS TRUE CACHE BOOL "Disable opusfile documentation")
- set(OP_DISABLE_EXAMPLES TRUE CACHE BOOL "Disable opusfile examples")
- set(OP_DISABLE_HTTP TRUE CACHE BOOL "Disable opusfile HTTP SUPPORT")
+ set(OP_DISABLE_DOCS TRUE)
+ set(OP_DISABLE_EXAMPLES TRUE)
+ set(OP_DISABLE_HTTP TRUE)
message(STATUS "Using vendored opusfile")
set(BUILD_SHARED_LIBS ${SDL3MIXER_OPUS_SHARED})
sdl_check_project_in_subfolder(external/opusfile opusfile SDL3MIXER_VENDORED)
@@ -566,13 +570,13 @@ if(SDL3MIXER_FLAC_LIBFLAC)
message(FATAL_ERROR "ogg target not present")
endif()
set(BUILD_SHARED_LIBS "${SDL3MIXER_FLAC_LIBFLAC_SHARED}")
- set(INSTALL_CMAKE_CONFIG_MODULE OFF CACHE BOOL "Disable libflac installation")
- set(WITH_OGG OFF CACHE BOOL "Disable finding ogg using `find_package` (we have vendored it)")
- set(BUILD_CXXLIBS OFF CACHE BOOL "Build FLAC++")
- set(BUILD_EXAMPLES OFF CACHE BOOL "Build FLAC examples")
- set(BUILD_PROGRAMS OFF CACHE BOOL "Build programs")
- set(BUILD_TESTING OFF CACHE BOOL "Build tests")
- set(INSTALL_MANPAGES OFF CACHE BOOL "Install FLAC manpages")
+ set(INSTALL_CMAKE_CONFIG_MODULE OFF)
+ set(WITH_OGG OFF)
+ set(BUILD_CXXLIBS OFF)
+ set(BUILD_EXAMPLES OFF)
+ set(BUILD_PROGRAMS OFF)
+ set(BUILD_TESTING OFF)
+ set(INSTALL_MANPAGES OFF)
message(STATUS "Using vendored libflac")
sdl_check_project_in_subfolder(external/flac libflac SDL3MIXER_VENDORED)
add_subdirectory(external/flac EXCLUDE_FROM_ALL)
@@ -614,9 +618,9 @@ if(SDL3MIXER_GME)
target_compile_definitions(${sdl3_mixer_target_name} PRIVATE MUSIC_GME)
if(SDL3MIXER_VENDORED)
set(BUILD_SHARED_LIBS "${SDL3MIXER_GME_SHARED}")
- set(ENABLE_UBSAN OFF CACHE BOOL "UB sanitizer")
- set(BUILD_FRAMEWORK OFF CACHE BOOL "macos framework")
- set(GME_ZLIB OFF CACHE BOOL "GME supports compressed formats")
+ set(ENABLE_UBSAN OFF)
+ set(BUILD_FRAMEWORK OFF)
+ set(GME_ZLIB OFF)
message(STATUS "Using vendored libgme")
sdl_check_project_in_subfolder(external/libgme libgme SDL3MIXER_VENDORED)
add_subdirectory(external/libgme EXCLUDE_FROM_ALL)
@@ -755,8 +759,8 @@ if(SDL3MIXER_MP3_MPG123)
if(SDL3MIXER_VENDORED)
message(STATUS "Using vendored mpg123")
sdl_check_project_in_subfolder(external/mpg123/ports/cmake mpg123 SDL3MIXER_VENDORED)
- set(BUILD_LIBOUT123 FALSE CACHE BOOL "Don't configure libout123")
- set(BUILD_PROGRAMS OFF CACHE BOOL "Build programs")
+ set(BUILD_LIBOUT123 FALSE)
+ set(BUILD_PROGRAMS OFF)
set(BUILD_SHARED_LIBS "${SDL3MIXER_MP3_MPG123_SHARED}")
add_subdirectory(external/mpg123/ports/cmake EXCLUDE_FROM_ALL)
if(NOT TARGET MPG123::libmpg123)
@@ -864,10 +868,10 @@ if(SDL3MIXER_WAVPACK)
if(SDL3MIXER_VENDORED)
message(STATUS "Using vendored WevPack")
sdl_check_project_in_subfolder(external/wavpack WavPack SDL3MIXER_VENDORED)
- set(WAVPACK_BUILD_PROGRAMS FALSE CACHE BOOL "Don't build WavPack programs")
- set(WAVPACK_BUILD_COOLEDIT_PLUGIN OFF CACHE BOOL "Don't build WavPack CoolEdit plugin")
- set(WAVPACK_BUILD_WINAMP_PLUGIN OFF CACHE BOOL "Don't build WavPack WinAMP plugin")
- set(WAVPACK_BUILD_DOCS OFF CACHE BOOL "Don't build WavPack documentation")
+ set(WAVPACK_BUILD_PROGRAMS FALSE)
+ set(WAVPACK_BUILD_COOLEDIT_PLUGIN OFF)
+ set(WAVPACK_BUILD_WINAMP_PLUGIN OFF)
+ set(WAVPACK_BUILD_DOCS OFF)
set(BUILD_SHARED_LIBS "${SDL3MIXER_WAVPACK_SHARED}")
add_subdirectory(external/wavpack EXCLUDE_FROM_ALL)
if(SDL3MIXER_WAVPACK_SHARED OR NOT SDL3MIXER_BUILD_SHARED_LIBS)