diff --git a/CMakePresets.json b/CMakePresets.json index 7713bb38516877d5e8e50cc46914a7f58c9c6d73..effea7260656c6235c75b07669edea01eeb682b7 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -6,8 +6,6 @@ "description": "Build using default generator", "binaryDir": "build", "cacheVariables": { - "CMAKE_C_FLAGS": "-fdiagnostics-color", - "CMAKE_CXX_FLAGS": "-fdiagnostics-color", "CMAKE_BUILD_TYPE": "RelWithDebInfo" } }, diff --git a/cmake/CPM.cmake b/cmake/CPM.cmake index 772103fc337e48eb1ecb4e978782fea3766fd35d..fba27d2fef3d2bf2edb50ea41687157dc0730c20 100644 --- a/cmake/CPM.cmake +++ b/cmake/CPM.cmake @@ -1,4 +1,4 @@ -set(CPM_DOWNLOAD_VERSION 0.36.0) +set(CPM_DOWNLOAD_VERSION 0.38.7) if(CPM_SOURCE_CACHE) set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") diff --git a/cmake/Comptime.cmake b/cmake/Comptime.cmake index 8388aed9ece077229a35d601ffd0679cb2ecd035..c609efee419f9482ff987f3ebae95ba381dfa155 100644 --- a/cmake/Comptime.cmake +++ b/cmake/Comptime.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.3 FATAL_ERROR) +cmake_minimum_required(VERSION 3.5 FATAL_ERROR) set(CMAKE_BINARY_DIR "${BINARY_DIR}") set(CMAKE_CURRENT_BINARY_DIR "${BINARY_DIR}") diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt index 4c4cdafb640e7806ee1efb79380ee10eaf26e119..5aca04d120c39287eec5c2097aa6375e52eb27fb 100644 --- a/src/sdl/CMakeLists.txt +++ b/src/sdl/CMakeLists.txt @@ -58,6 +58,10 @@ if("${CMAKE_SYSTEM_NAME}" MATCHES Darwin) ) endif() +if("${CMAKE_SYSTEM_NAME}" MATCHES Windows) + target_link_libraries(SRB2SDL2 PRIVATE SDL2::SDL2main) +endif() + if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}" AND NOT "${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}") target_link_libraries(SRB2SDL2 PRIVATE SDL2::SDL2-static SDL2_mixer::SDL2_mixer-static) else() diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index 3eeacd83569188bd3bfdb5c8f2b9e720b5dce9f4..f5fe9fb041b9f02057955afe072815e709b19dc3 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -41,7 +41,7 @@ #endif #if defined (_WIN32) && !defined (main) -//#define SDLMAIN +#define SDLMAIN #endif #ifdef SDLMAIN diff --git a/src/win32/Srb2win.rc b/src/win32/Srb2win.rc index 9ee9b7d3f32dd3fcb9e5e2b2dac370e176d97df1..46114f8717cc0a7396a7355084c25a2e704ac075 100644 --- a/src/win32/Srb2win.rc +++ b/src/win32/Srb2win.rc @@ -31,7 +31,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 #endif -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST srb2win.exe.manifest +/* CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST srb2win.exe.manifest */ ///////////////////////////////////////////////////////////////////////////// // diff --git a/thirdparty/cpm-libgme.cmake b/thirdparty/cpm-libgme.cmake index f15bc3b31cb23ed7663ed950c14c1d6a0dc36567..20949f975365b216844c0686817a5c88ccc61a37 100644 --- a/thirdparty/cpm-libgme.cmake +++ b/thirdparty/cpm-libgme.cmake @@ -12,5 +12,5 @@ CPMAddPackage( if(libgme_ADDED) target_compile_features(gme PRIVATE cxx_std_11) # libgme's CMakeLists.txt already links this - #target_link_libraries(gme PRIVATE ZLIB::ZLIB) + target_link_libraries(gme PRIVATE ZLIB::ZLIB) endif() diff --git a/thirdparty/cpm-sdl2.cmake b/thirdparty/cpm-sdl2.cmake index 58cf9afc2a8c9f443379625049ebd28446382b84..365ae5a064c02e13fdaed0b6aa6416ce8aae520c 100644 --- a/thirdparty/cpm-sdl2.cmake +++ b/thirdparty/cpm-sdl2.cmake @@ -1,13 +1,27 @@ -CPMAddPackage( - NAME SDL2 - VERSION 2.24.2 - URL "https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.24.2.zip" - EXCLUDE_FROM_ALL ON - OPTIONS +set( + internal_sdl2_options + "BUILD_SHARED_LIBS ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}" "SDL_SHARED ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}" "SDL_STATIC ${NOT_SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}" "SDL_TEST OFF" - "SDL2_DISABLE_SDL2MAIN ON" "SDL2_DISABLE_INSTALL ON" ) + +if(${CMAKE_SYSTEM} MATCHES Windows) + list(APPEND internal_sdl2_options "SDL2_DISABLE_SDL2MAIN OFF") +endif() +if(${CMAKE_SYSTEM} MATCHES Darwin) + list(APPEND internal_sdl2_options "SDL2_DISABLE_SDL2MAIN OFF") +endif() +if(${CMAKE_SYSTEM} MATCHES Linux) + list(APPEND internal_sdl2_options "SDL2_DISABLE_SDL2MAIN ON") +endif() + +CPMAddPackage( + NAME SDL2 + VERSION 2.24.2 + URL "https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.24.2.zip" + EXCLUDE_FROM_ALL ON + OPTIONS ${internal_sdl2_options} +)