1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-16 22:37:30 +08:00

Tests/ConfigSources: fix for non main stream CMAKE_BUILD_TYPE

- None is a valid CMAKE_BUILD_TYPE
- Most of distros uses None as CMAKE_BUILD_TYPE
- When CMAKE_BUILD_TYPE=None, main_other.cpp will be compiled and linked
  into final executable, this program requires some symbols only exist
  when CUSTOM_CFG_OTHER is defined.
- And CMake also allows other CMAKE_BUILD_TYPE, too, CMake documentation
  specificaly mentions funny CMAKE_BUILD_TYPE like ReLeAsE [1]

Let's define them when non main stream like None is specified as CMAKE_BUILD_TYPE.

[1]: https://cmake.org/cmake/help/v3.20/variable/CMAKE_BUILD_TYPE.html
This commit is contained in:
Đoàn Trần Công Danh
2021-04-01 20:14:06 +07:00
parent a8d2f7f459
commit ce1cadd35a

View File

@@ -74,10 +74,10 @@ add_custom_command(APPEND
VERBATIM
)
foreach(n RANGE 1 5)
set_property(SOURCE custom${n}_Debug.cpp PROPERTY COMPILE_DEFINITIONS CUSTOM_CFG_DEBUG)
foreach(other Release RelWithDebInfo MinSizeRel)
foreach(other ${CMAKE_BUILD_TYPE} Release RelWithDebInfo MinSizeRel)
set_property(SOURCE custom${n}_${other}.cpp PROPERTY COMPILE_DEFINITIONS CUSTOM_CFG_OTHER)
endforeach()
set_property(SOURCE custom${n}_Debug.cpp PROPERTY COMPILE_DEFINITIONS CUSTOM_CFG_DEBUG)
endforeach()
add_library(Custom STATIC
custom1_$<CONFIG>.cpp