From 50c1a4b1a559bf9e45c7426cf76bcf0f7dd962e1 Mon Sep 17 00:00:00 2001 From: Rintaro Ishizaki Date: Wed, 28 Aug 2024 12:10:46 -0700 Subject: [PATCH] [CMake] Accept 'PACKAGE_NAME' from the parent project So the parent project can compile things in the same package. --- CMakeLists.txt | 8 ++++++-- cmake/modules/AddSwiftHostLibrary.cmake | 8 ++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fd3facb64df..0ddf76cdff2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,8 +58,12 @@ endif() if(NOT DEFINED SWIFTSYNTAX_EMIT_MODULE) set(SWIFTSYNTAX_EMIT_MODULE TRUE) endif() -if(SWIFTSYNTAX_EMIT_MODULE) - swift_get_package_cmo_support(SWIFT_PACKAGE_CMO_SUPPORT) + +if(NOT DEFINED Swift_COMPILER_PACKAGE_CMO_SUPPORT AND SWIFTSYNTAX_EMIT_MODULE) + swift_get_package_cmo_support(Swift_COMPILER_PACKAGE_CMO_SUPPORT) +endif() +if(NOT DEFINED SWIFTSYNTAX_PACKAGE_NAME) + set(SWIFTSYNTAX_PACKAGE_NAME "${SWIFT_MODULE_ABI_NAME_PREFIX}${PROJECT_NAME}") endif() # Determine the module triple. diff --git a/cmake/modules/AddSwiftHostLibrary.cmake b/cmake/modules/AddSwiftHostLibrary.cmake index f68f719a6e5..25d6c49799f 100644 --- a/cmake/modules/AddSwiftHostLibrary.cmake +++ b/cmake/modules/AddSwiftHostLibrary.cmake @@ -81,17 +81,17 @@ function(add_swift_syntax_library name) >) # Enable package CMO if possible. - if(SWIFT_PACKAGE_CMO_SUPPORT STREQUAL "IMPLEMENTED") + if(Swift_COMPILER_PACKAGE_CMO_SUPPORT STREQUAL "IMPLEMENTED") target_compile_options("${target}" PRIVATE $<$: - "SHELL:-package-name ${SWIFT_MODULE_ABI_NAME_PREFIX}${PROJECT_NAME}" + "SHELL:-package-name ${SWIFTSYNTAX_PACKAGE_NAME}" "SHELL:-Xfrontend -package-cmo" "SHELL:-Xfrontend -allow-non-resilient-access" >) - elseif(SWIFT_PACKAGE_CMO_SUPPORT STREQUAL "EXPERIMENTAL") + elseif(Swift_COMPILER_PACKAGE_CMO_SUPPORT STREQUAL "EXPERIMENTAL") target_compile_options("${target}" PRIVATE $<$: - "SHELL:-package-name ${SWIFT_MODULE_ABI_NAME_PREFIX}${PROJECT_NAME}" + "SHELL:-package-name ${SWIFTSYNTAX_PACKAGE_NAME}" "SHELL:-Xfrontend -experimental-package-cmo" "SHELL:-Xfrontend -experimental-allow-non-resilient-access" "SHELL:-Xfrontend -experimental-package-bypass-resilience"