summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-06-18 12:24:23 (GMT)
committerBrad King <brad.king@kitware.com>2024-06-20 14:33:07 (GMT)
commit8a06f173d906a750808ac1f5fbdbd91293ac474d (patch)
treea888cae32a0d282ac499dd013a5a3d2e7f3877c2 /Tests/RunCMake
parent7c1a18655bdbc95786a35d0dffaca5206dd6cbf3 (diff)
downloadCMake-8a06f173d906a750808ac1f5fbdbd91293ac474d.zip
CMake-8a06f173d906a750808ac1f5fbdbd91293ac474d.tar.gz
CMake-8a06f173d906a750808ac1f5fbdbd91293ac474d.tar.bz2
Apple: Add CFBundleName to framework Info.plist files
Fixes: #26046
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r--Tests/RunCMake/Framework/FrameworkLayout-check-common.cmake24
-rw-r--r--Tests/RunCMake/Framework/FrameworkLayout.cmake4
-rw-r--r--Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake2
-rw-r--r--Tests/RunCMake/Framework/iOSFrameworkLayout-build-check.cmake2
4 files changed, 32 insertions, 0 deletions
diff --git a/Tests/RunCMake/Framework/FrameworkLayout-check-common.cmake b/Tests/RunCMake/Framework/FrameworkLayout-check-common.cmake
new file mode 100644
index 0000000..13a91df
--- /dev/null
+++ b/Tests/RunCMake/Framework/FrameworkLayout-check-common.cmake
@@ -0,0 +1,24 @@
+macro(check_plist key expect)
+ execute_process(
+ COMMAND plutil -extract "${key}" xml1 "${plist-file}" -o -
+ RESULT_VARIABLE result
+ OUTPUT_VARIABLE actual
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if(actual MATCHES "<string>([^<>]*)</string>")
+ set(actual "${CMAKE_MATCH_1}")
+ endif()
+ if(NOT "${actual}" STREQUAL "${expect}")
+ string(CONCAT RunCMake_TEST_FAILED
+ "Framework Info.plist key \"${key}\" has value:\n"
+ " \"${actual}\"\n"
+ "but we expected:\n"
+ " \"${expect}\""
+ )
+ endif()
+endmacro()
+
+check_plist(CFBundleIdentifier MyFrameworkId)
+check_plist(CFBundleName MyFrameworkBundleName)
+check_plist(CFBundleVersion 3.2.1)
+check_plist(CFBundleShortVersionString 3)
diff --git a/Tests/RunCMake/Framework/FrameworkLayout.cmake b/Tests/RunCMake/Framework/FrameworkLayout.cmake
index d09e8a0..e230e07 100644
--- a/Tests/RunCMake/Framework/FrameworkLayout.cmake
+++ b/Tests/RunCMake/Framework/FrameworkLayout.cmake
@@ -15,6 +15,10 @@ if("${CMAKE_FRAMEWORK}" STREQUAL "")
FRAMEWORK TRUE)
endif()
set_target_properties(Framework PROPERTIES
+ MACOSX_FRAMEWORK_BUNDLE_NAME MyFrameworkBundleName
+ MACOSX_FRAMEWORK_BUNDLE_VERSION 3.2.1
+ MACOSX_FRAMEWORK_SHORT_VERSION_STRING 3
+ MACOSX_FRAMEWORK_IDENTIFIER MyFrameworkId
PUBLIC_HEADER foo.h
RESOURCE "res.txt")
set_source_files_properties(flatresource.txt PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
diff --git a/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake b/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake
index 7d58946..b436128 100644
--- a/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake
+++ b/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake
@@ -58,3 +58,5 @@ if(NOT EXISTS ${framework-header})
set(RunCMake_TEST_FAILED "Framework header file not found at \n ${framework-header}")
return()
endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FrameworkLayout-check-common.cmake)
diff --git a/Tests/RunCMake/Framework/iOSFrameworkLayout-build-check.cmake b/Tests/RunCMake/Framework/iOSFrameworkLayout-build-check.cmake
index 719a749..be9a5fe 100644
--- a/Tests/RunCMake/Framework/iOSFrameworkLayout-build-check.cmake
+++ b/Tests/RunCMake/Framework/iOSFrameworkLayout-build-check.cmake
@@ -58,3 +58,5 @@ if(NOT EXISTS ${framework-header})
set(RunCMake_TEST_FAILED "Framework headers not found at\n ${framework-header}")
return()
endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FrameworkLayout-check-common.cmake)