Fix GCC builds with Debug build type
codespell / Check for spelling errors (push) Successful in 11s Details
suyu-ci / Check REUSE Specification (push) Successful in 10s Details
suyu verify / Verify Format (push) Successful in 1m28s Details
suyu verify / test build (linux-fresh, clang) (push) Successful in 11m22s Details
suyu verify / android (push) Successful in 16m53s Details
suyu verify / test build (linux-fresh, linux) (push) Successful in 25m33s Details

When compiling with -DCMAKE_BUILD_TYPE=Debug, GCC would (correctly) fail to
compile intrinsics in stb and host1x due to lack of optimizations.

Sadly, the compilation error given is bogus and Clang completing the builds
without issues does raise some eyebrows.

Therefore, force optimizations for the offending files under GCC when
creating Debug builds.

Signed-off-by: voidanix <voidanix@keyedlimepie.org>
This commit is contained in:
voidanix 2024-03-23 23:25:52 +01:00 committed by Fijxu
parent c25bcb6083
commit d3f67d1e9c
2 changed files with 14 additions and 0 deletions

View File

@ -240,6 +240,15 @@ if (MSVC)
)
else()
set_source_files_properties(stb.cpp PROPERTIES COMPILE_OPTIONS "-Wno-implicit-fallthrough;-Wno-missing-declarations;-Wno-missing-field-initializers")
# Get around GCC failing with intrinsics in Debug
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES "Debug")
set_property(
SOURCE stb.cpp
APPEND
PROPERTY COMPILE_OPTIONS ";-O2"
)
endif()
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")

View File

@ -425,6 +425,11 @@ else()
# VMA
set_source_files_properties(vulkan_common/vma.cpp PROPERTIES COMPILE_OPTIONS "-Wno-conversion;-Wno-unused-variable;-Wno-unused-parameter;-Wno-missing-field-initializers")
# Get around GCC failing with intrinsics in Debug
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES "Debug")
set_source_files_properties(host1x/vic.cpp PROPERTIES COMPILE_OPTIONS "-O2")
endif()
endif()
if (ARCHITECTURE_x86_64)