Tests: Add case covering XCODE_EMIT_EFFECTIVE_PLATFORM_NAME=OFF for iOS

This use case was fixed by commit a7fb4bc475 (Xcode: Set build product
locations using CONFIGURATION_BUILD_DIR, 2022-09-28).  Add a test to
verify the fix.

Fixes: #23970
This commit is contained in:
Brad King
2022-10-03 12:40:12 -04:00
parent 6abd40b979
commit 25630863ea
2 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
enable_language(CXX)
set_property(GLOBAL PROPERTY XCODE_EMIT_EFFECTIVE_PLATFORM_NAME OFF)
set(CMAKE_MACOSX_BUNDLE true)
add_library(library STATIC foo.cpp)
add_executable(main main.cpp)
target_link_libraries(main library)
install(TARGETS library ARCHIVE DESTINATION lib)

View File

@@ -354,6 +354,7 @@ if(XCODE_VERSION VERSION_GREATER_EQUAL 6)
endif()
if(NOT XCODE_VERSION VERSION_LESS 5)
# XcodeMultiplatform
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeMultiplatform-build)
set(RunCMake_TEST_NO_CLEAN 1)
set(RunCMake_TEST_OPTIONS "${IOS_DEPLOYMENT_TARGET}")
@@ -373,6 +374,23 @@ if(NOT XCODE_VERSION VERSION_LESS 5)
unset(RunCMake_TEST_BINARY_DIR)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_OPTIONS)
# EffectivePlatformNameOFF
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/EffectivePlatformNameOFF-build)
set(RunCMake_TEST_NO_CLEAN 1)
set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=iOS" "-DCMAKE_OSX_SYSROOT=iphonesimulator")
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
run_cmake(EffectivePlatformNameOFF)
run_cmake_command(EffectivePlatformNameOFF-iphonesimulator-build ${CMAKE_COMMAND} --build .)
run_cmake_command(EffectivePlatformNameOFF-iphonesimulator-install ${CMAKE_COMMAND} --build . --target install -- DESTDIR=${RunCMake_TEST_BINARY_DIR}/_install_iphonesimulator)
unset(RunCMake_TEST_BINARY_DIR)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_OPTIONS)
endif()
if(XCODE_VERSION VERSION_GREATER_EQUAL 8)