Skip to content

Commit f72cc99

Browse files
committed
cmake: make RelWithDebInfo the default configuration
1 parent ae0b7c4 commit f72cc99

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

CMakeLists.txt

+22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
cmake_minimum_required(VERSION 3.16...3.28)
22

3+
if(NOT DEFINED CMAKE_BUILD_TYPE)
4+
set(cmake_build_type_undefined 1)
5+
endif()
6+
37
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
48

59
# See docs/release_checklist.md
@@ -28,6 +32,24 @@ else()
2832
set(SDLIMAGE_ROOTPROJECT OFF)
2933
endif()
3034

35+
36+
# By default, configure in RelWithDebInfo configuration
37+
if(NOT SDL3_SUBPROJECT)
38+
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
39+
if(is_multi_config)
40+
# The first item in CMAKE_CONFIGURATION_TYPES is the default configuration
41+
if(DEFINED CMAKE_CONFIGURATION_TYPES AND "RelWithDebInfo" IN_LIST CMAKE_CONFIGURATION_TYPES)
42+
list(REMOVE_ITEM CMAKE_CONFIGURATION_TYPES "RelWithDebInfo")
43+
list(INSERT CMAKE_CONFIGURATION_TYPES 0 "RelWithDebInfo")
44+
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING "CMake configuration types" FORCE)
45+
endif()
46+
else()
47+
if(cmake_build_type_undefined)
48+
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "CMake build type" FORCE)
49+
endif()
50+
endif()
51+
endif()
52+
3153
set(SDLIMAGE_SAMPLES_DEFAULT ${SDLIMAGE_ROOTPROJECT})
3254
if(ANDROID)
3355
set(SDLIMAGE_SAMPLES_DEFAULT OFF)

0 commit comments

Comments
 (0)