diff --git a/CMakeLists.txt b/CMakeLists.txt index 67fe3e8..ac0f4e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,9 @@ -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.14) # Enable CMAKE_MSVC_RUNTIME_LIBRARY, requires CMake >=3.15 -cmake_policy(SET CMP0091 NEW) +if (POLICY CMP0091) + cmake_policy(SET CMP0091 NEW) +endif () project(System3 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 14) @@ -69,20 +71,14 @@ else() # NOT (ANDROID OR EMSCRIPTEN) FetchContent_Declare(sdl2 URL https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-devel-2.28.5-VC.zip URL_HASH SHA1=7469e9ea44d30a48b0510328cd94b25596e0aa0f) - FetchContent_GetProperties(sdl2) - if (NOT sdl2_POPULATED) - FetchContent_Populate(sdl2) - endif() + FetchContent_MakeAvailable(sdl2) find_package(SDL2 REQUIRED CONFIG PATHS ${sdl2_SOURCE_DIR}/cmake NO_DEFAULT_PATH) get_target_property(SDL2_DLL SDL2::SDL2 IMPORTED_LOCATION) FetchContent_Declare(sdl2_ttf URL https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.2/SDL2_ttf-devel-2.20.2-VC.zip URL_HASH SHA1=dee48e9c5184c139aa8bcab34a937d1b3df4f503) - FetchContent_GetProperties(sdl2_ttf) - if (NOT sdl2_ttf_POPULATED) - FetchContent_Populate(sdl2_ttf) - endif() + FetchContent_MakeAvailable(sdl2_ttf) find_package(SDL2_ttf REQUIRED CONFIG PATHS ${sdl2_ttf_SOURCE_DIR}/cmake NO_DEFAULT_PATH) get_target_property(SDL2TTF_DLL SDL2_ttf::SDL2_ttf IMPORTED_LOCATION) get_filename_component(SDL2TTF_LIBDIR ${SDL2TTF_DLL} DIRECTORY) diff --git a/android/app/jni/CMakeLists.txt b/android/app/jni/CMakeLists.txt index 36a4dc8..0f2ac44 100644 --- a/android/app/jni/CMakeLists.txt +++ b/android/app/jni/CMakeLists.txt @@ -1,8 +1,9 @@ -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.14) project(GAME) set(PROJECT_ROOT_DIR ../../..) +# Compilation of SDL and companion libraries include(FetchContent) FetchContent_Declare( SDL @@ -20,31 +21,20 @@ FetchContent_Declare( URL_HASH SHA1=036fc7839a6b8dc1af3dbfed4e2531224bbacdd7 ) -# Compilation of SDL and companion libraries -FetchContent_GetProperties(SDL) -if(NOT sdl_POPULATED) - FetchContent_Populate(SDL) - add_subdirectory(${sdl_SOURCE_DIR} ${sdl_BINARY_DIR}) -endif() -FetchContent_GetProperties(SDL_ttf) -if(NOT sdl_ttf_POPULATED) - FetchContent_Populate(SDL_ttf) - set(SDL2TTF_SAMPLES OFF CACHE BOOL "Build the SDL2_ttf sample program(s)" FORCE) - set(SDL2TTF_INSTALL OFF CACHE BOOL "Enable SDL2_ttf install target" FORCE) - set(SDL2TTF_VENDORED ON CACHE BOOL "Use vendored third-party libraries" FORCE) - add_subdirectory(${sdl_ttf_SOURCE_DIR} ${sdl_ttf_BINARY_DIR}) -endif() -FetchContent_GetProperties(SDL_mixer) -if(NOT sdl_mixer_POPULATED) - FetchContent_Populate(SDL_mixer) - set(SDL2MIXER_OPUS OFF CACHE BOOL "Enable Opus music" FORCE) - set(SDL2MIXER_FLAC OFF CACHE BOOL "Enable FLAC music" FORCE) - set(SDL2MIXER_MOD OFF CACHE BOOL "Support loading MOD music" FORCE) - set(SDL2MIXER_MIDI OFF CACHE BOOL "Enable MIDI music" FORCE) - set(SDL2MIXER_SAMPLES OFF CACHE BOOL "Build the SDL2_mixer sample program(s)" FORCE) - set(SDL2MIXER_INSTALL OFF CACHE BOOL "Enable SDL2_mixer install target" FORCE) - add_subdirectory(${sdl_mixer_SOURCE_DIR} ${sdl_mixer_BINARY_DIR}) -endif() +set(SDL2TTF_SAMPLES OFF CACHE BOOL "Build the SDL2_ttf sample program(s)" FORCE) +set(SDL2TTF_INSTALL OFF CACHE BOOL "Enable SDL2_ttf install target" FORCE) +set(SDL2TTF_VENDORED ON CACHE BOOL "Use vendored third-party libraries" FORCE) + +set(SDL2MIXER_OPUS OFF CACHE BOOL "Enable Opus music" FORCE) +set(SDL2MIXER_FLAC OFF CACHE BOOL "Enable FLAC music" FORCE) +set(SDL2MIXER_MOD OFF CACHE BOOL "Support loading MOD music" FORCE) +set(SDL2MIXER_MIDI OFF CACHE BOOL "Enable MIDI music" FORCE) +set(SDL2MIXER_SAMPLES OFF CACHE BOOL "Build the SDL2_mixer sample program(s)" FORCE) +set(SDL2MIXER_INSTALL OFF CACHE BOOL "Enable SDL2_mixer install target" FORCE) + +FetchContent_MakeAvailable(SDL) +FetchContent_MakeAvailable(SDL_ttf) +FetchContent_MakeAvailable(SDL_mixer) # The main CMakeLists.txt of system3 add_subdirectory(${PROJECT_ROOT_DIR} src)