From 0771ddf3e5ad066f42727a1a60862dac1b5e43b4 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Sat, 30 Dec 2023 16:12:39 -0800 Subject: [PATCH] Don't -fobjc-runtime=gnustep-2.0 as a global flag The legacy tests will override this flag. --- CMakeLists.txt | 2 +- Test/CMakeLists.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 95c2fa5..5009fd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,7 +175,6 @@ set(LIBOBJC_NAME "objc" CACHE STRING set(INCLUDE_DIRECTORY "objc" CACHE STRING "Subdirectory of the include path to install the headers.") -add_compile_options("$<$,$>:-Wno-deprecated-objc-isa-usage;-Wno-objc-root-class;-fobjc-runtime=gnustep-2.0>$<$:-Xclang;-fexceptions>") add_compile_options($<$:-march=i586>) set(INSTALL_TARGETS objc) @@ -227,6 +226,7 @@ else () endif () add_library(objc SHARED ${libobjc_C_SRCS} ${libobjc_ASM_SRCS} ${libobjc_OBJC_SRCS} ${libobjc_OBJCXX_SRCS} ${libobjc_ASM_OBJS}) +target_compile_options(objc PRIVATE "$<$,$>:-Wno-deprecated-objc-isa-usage;-Wno-objc-root-class;-fobjc-runtime=gnustep-2.0>$<$:-Xclang;-fexceptions>") list(APPEND libobjc_CXX_SRCS ${libobjcxx_CXX_SRCS}) target_sources(objc PRIVATE ${libobjc_CXX_SRCS}) diff --git a/Test/CMakeLists.txt b/Test/CMakeLists.txt index 92f25d7..3570ef0 100644 --- a/Test/CMakeLists.txt +++ b/Test/CMakeLists.txt @@ -138,7 +138,9 @@ function(addtest_variants TEST TEST_SOURCE LEGACY) target_sources(${TEST} PRIVATE $) addtest_flags("${TEST}_optimised" "-O3 -fobjc-runtime=gnustep-2.0 -UNDEBUG -DGS_RUNTIME_V2" "${TEST_SOURCE}") target_sources("${TEST}_optimised" PRIVATE $) - if (${LEGACY} AND ${OLDABI_COMPAT}) + + # -fobjc-arc is not supported on platforms using the legacy runtime + if (${LEGACY} AND ${OLDABI_COMPAT} AND NOT ${TEST} MATCHES ".*_arc") addtest_flags("${TEST}_legacy" "-O0 -fobjc-runtime=gnustep-1.7 -UNDEBUG" "${TEST_SOURCE}") target_sources("${TEST}_legacy" PRIVATE $) addtest_flags("${TEST}_legacy_optimised" "-O3 -fobjc-runtime=gnustep-1.7 -UNDEBUG" "${TEST_SOURCE}")