build: Enable asserts in release mode

This commit is contained in:
Lars Toenning
2025-12-20 11:08:35 +01:00
parent 527327321c
commit 62aaba7556
28 changed files with 35 additions and 3 deletions

View File

@@ -60,6 +60,7 @@ option(SWIFT_ONLY_XSWIFTBUS_WORKAROUND "Only build xswiftbus (useful when compil
option(SWIFT_USE_CRASHPAD "Use crashpad" OFF)
option(SWIFT_USE_PCH "Use precompiled headers" ON)
option(SWIFT_FORCE_ASSERTS "Force Qt asserts also in release mode" ON)
# Shortcut to only build xswiftbus

View File

@@ -48,3 +48,9 @@ function(configure_target_platform)
endif()
endif()
endfunction()
macro(force_asserts TARGET)
if(SWIFT_FORCE_ASSERTS)
target_compile_definitions(${TARGET} PRIVATE QT_FORCE_ASSERTS)
endif()
endmacro()

View File

@@ -12,6 +12,7 @@ add_library(config STATIC
${CMAKE_CURRENT_BINARY_DIR}/buildconfig_gen.cpp
)
force_asserts(config)
target_link_libraries(config PUBLIC Qt::Core)
target_include_directories(config

View File

@@ -245,7 +245,7 @@ add_library(core SHARED
webreaderflags.h
)
force_asserts(core)
target_include_directories(core PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(core

View File

@@ -868,6 +868,7 @@ add_custom_command(TARGET gui
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different share ${PROJECT_BINARY_DIR}/out/share
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
force_asserts(gui)
target_include_directories(gui PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(gui

View File

@@ -37,6 +37,7 @@ else()
)
endif()
force_asserts(input)
target_include_directories(input PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(input

View File

@@ -687,6 +687,7 @@ if(APPLE)
)
endif()
force_asserts(misc)
target_include_directories(misc PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_compile_definitions(misc PRIVATE BUILD_SWIFT_MISC_LIB)

View File

@@ -15,6 +15,7 @@ add_library(simulatoremulated SHARED
set_target_properties(simulatoremulated PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatoremulated PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatoremulated)
target_include_directories(simulatoremulated PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatoremulated

View File

@@ -13,6 +13,7 @@ add_library(simulatoremulatedconfig SHARED
set_target_properties(simulatoremulatedconfig PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatoremulatedconfig PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatoremulatedconfig)
target_include_directories(simulatoremulatedconfig PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatoremulatedconfig

View File

@@ -15,6 +15,7 @@ add_library(simulatorflightgear SHARED
set_target_properties(simulatorflightgear PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorflightgear PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorflightgear)
target_include_directories(simulatorflightgear PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorflightgear

View File

@@ -12,6 +12,7 @@ add_library(simulatorflightgearconfig SHARED
set_target_properties(simulatorflightgearconfig PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorflightgearconfig PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorflightgearconfig)
target_include_directories(simulatorflightgearconfig PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorflightgearconfig

View File

@@ -30,6 +30,7 @@ add_library(simulatorfs9 SHARED
set_target_properties(simulatorfs9 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorfs9 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorfs9)
target_include_directories(simulatorfs9 PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorfs9

View File

@@ -11,6 +11,7 @@ add_library(fscommon SHARED
fscommonexport.h
)
force_asserts(fscommon)
target_compile_definitions(fscommon PRIVATE BUILD_FSCOMMON_LIB)
target_link_libraries(fscommon

View File

@@ -12,6 +12,7 @@ add_library(simulatorfsx SHARED
set_target_properties(simulatorfsx PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorfsx PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorfsx)
target_include_directories(simulatorfsx PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorfsx

View File

@@ -43,6 +43,7 @@ target_link_libraries(fsxcommon
config
)
force_asserts(fsxcommon)
target_compile_definitions(fsxcommon PRIVATE BUILD_FSXCOMMON_LIB)
install(TARGETS fsxcommon

View File

@@ -10,6 +10,7 @@ add_library(simulatorfsxconfig SHARED
set_target_properties(simulatorfsxconfig PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorfsxconfig PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorfsxconfig)
target_include_directories(simulatorfsxconfig PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorfsxconfig

View File

@@ -12,6 +12,7 @@ add_library(simulatormsfs SHARED
set_target_properties(simulatormsfs PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatormsfs PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatormsfs)
target_include_directories(simulatormsfs PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatormsfs

View File

@@ -12,6 +12,7 @@ add_library(simulatormsfs2024 SHARED
set_target_properties(simulatormsfs2024 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatormsfs2024 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatormsfs2024)
target_include_directories(simulatormsfs2024 PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatormsfs2024

View File

@@ -12,6 +12,7 @@ add_library(simulatorp3d SHARED
set_target_properties(simulatorp3d PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorp3d PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorp3d)
target_include_directories(simulatorp3d PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorp3d

View File

@@ -10,6 +10,7 @@ add_library(simulatorp3dconfig SHARED
set_target_properties(simulatorp3dconfig PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
set_target_properties(simulatorp3dconfig PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
force_asserts(simulatorp3dconfig)
target_include_directories(simulatorp3dconfig PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(simulatorp3dconfig

View File

@@ -12,6 +12,7 @@ target_include_directories(plugincommon PUBLIC ${PROJECT_SOURCE_DIR}/src)
set_target_properties(plugincommon PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin)
set_target_properties(plugincommon PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin)
force_asserts(plugincommon)
target_link_libraries(plugincommon
PUBLIC
Qt::Core

View File

@@ -16,6 +16,8 @@ add_library(simulatorxplane SHARED
include(${PROJECT_SOURCE_DIR}/cmake/xswiftbus_tools.cmake)
get_xswiftbus_commit_id()
force_asserts(simulatorxplane)
target_compile_definitions(simulatorxplane PRIVATE XSWIFTBUS_COMMIT="${XSWIFTBUS_COMMIT_ID}")
set_target_properties(simulatorxplane PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)

View File

@@ -13,7 +13,7 @@ set_target_properties(simulatorxplaneconfig PROPERTIES LIBRARY_OUTPUT_DIRECTORY
set_target_properties(simulatorxplaneconfig PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
target_include_directories(simulatorxplaneconfig PUBLIC ${PROJECT_SOURCE_DIR}/src)
force_asserts(simulatorxplaneconfig)
target_link_libraries(simulatorxplaneconfig
PUBLIC
gui

View File

@@ -53,6 +53,7 @@ add_custom_command(TARGET sound
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(sound PRIVATE BUILD_SWIFT_SOUND_LIB)
force_asserts(sound)
target_include_directories(sound PUBLIC ${PROJECT_SOURCE_DIR}/src)

View File

@@ -13,6 +13,7 @@ if(WIN32)
endif()
target_include_directories(swiftcore PUBLIC ${PROJECT_SOURCE_DIR}/src)
force_asserts(swiftcore)
target_link_libraries(swiftcore
PUBLIC

View File

@@ -16,6 +16,7 @@ if(WIN32)
endif()
target_include_directories(swiftdata PUBLIC ${PROJECT_SOURCE_DIR}/src)
force_asserts(swiftdata)
target_link_libraries(swiftdata
PUBLIC

View File

@@ -28,6 +28,8 @@ target_link_libraries(swiftguistd
sound
)
force_asserts(swiftguistd)
if(APPLE)
target_link_libraries(swiftguistd PUBLIC input)

View File

@@ -14,7 +14,7 @@ if(WIN32)
endif()
target_include_directories(swiftlauncher PUBLIC ${PROJECT_SOURCE_DIR}/src)
force_asserts(swiftlauncher)
target_link_libraries(swiftlauncher
PUBLIC
Qt::Core