Split out SWIFT_ENABLE_REFLECTION into a separate SWIFT_STDLIB_REFLECTION_METADATA CMake flag to control whether stdlib is built with reflection metadata or not (#61496)

This commit is contained in:
Kuba (Brecka) Mracek
2022-10-13 17:26:25 -07:00
committed by GitHub
parent 36c01e80cc
commit 6f77e8bb70
4 changed files with 19 additions and 5 deletions

View File

@@ -499,12 +499,20 @@ function(_compile_swift_files
list(APPEND swift_flags "-Xfrontend" "-emit-sorted-sil")
endif()
if(NOT SWIFT_ENABLE_REFLECTION)
list(APPEND swift_flags "-Xfrontend" "-reflection-metadata-for-debugger-only")
else()
if(SWIFT_ENABLE_REFLECTION)
list(APPEND swift_flags "-D" "SWIFT_ENABLE_REFLECTION")
endif()
if("${SWIFT_STDLIB_REFLECTION_METADATA}" STREQUAL "enabled")
# do nothing, emitting reflection metadata is the default in swiftc
elseif("${SWIFT_STDLIB_REFLECTION_METADATA}" STREQUAL "debugger-only")
list(APPEND swift_flags "-Xfrontend" "-reflection-metadata-for-debugger-only")
elseif("${SWIFT_STDLIB_REFLECTION_METADATA}" STREQUAL "disabled")
list(APPEND swift_flags "-Xfrontend" "-disable-reflection-metadata")
else()
message(FATAL_ERROR "Invalid SWIFT_STDLIB_REFLECTION_METADATA value: ${SWIFT_STDLIB_REFLECTION_METADATA}")
endif()
if(NOT "${SWIFT_STDLIB_TRAP_FUNCTION}" STREQUAL "")
list(APPEND swift_flags "-Xfrontend" "-trap-function" "-Xfrontend" "${SWIFT_STDLIB_TRAP_FUNCTION}")
endif()