summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/GenEx-TARGET_FILE
diff options
context:
space:
mode:
authorBen Leadbetter <ben.leadbetter@native-instruments.com>2022-06-30 10:00:59 (GMT)
committerBrad King <brad.king@kitware.com>2022-07-01 12:18:10 (GMT)
commit8bd98b8117c31ee797b33fbf04ebfc03942ea15e (patch)
tree74ba0bde4a91bf5ede9f75719a869b24976a21ce /Tests/RunCMake/GenEx-TARGET_FILE
parent6b2bcae7d4e4356af41da60fb6b038683367c052 (diff)
downloadCMake-8bd98b8117c31ee797b33fbf04ebfc03942ea15e.zip
CMake-8bd98b8117c31ee797b33fbf04ebfc03942ea15e.tar.gz
CMake-8bd98b8117c31ee797b33fbf04ebfc03942ea15e.tar.bz2
Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extension
Fix the genex from commit 997af2e1a6 (Genex: Add TARGET_BUNDLE_DIR_NAME, 2022-04-14, v3.24.0-rc1~233^2) to use the correct bundle directory extension for each bundle type. Fixes: #23683
Diffstat (limited to 'Tests/RunCMake/GenEx-TARGET_FILE')
-rw-r--r--Tests/RunCMake/GenEx-TARGET_FILE/RunCMakeTest.cmake3
-rw-r--r--Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME-check.cmake1
-rw-r--r--Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME.cmake33
3 files changed, 37 insertions, 0 deletions
diff --git a/Tests/RunCMake/GenEx-TARGET_FILE/RunCMakeTest.cmake b/Tests/RunCMake/GenEx-TARGET_FILE/RunCMakeTest.cmake
index 148baac..a79fcaf 100644
--- a/Tests/RunCMake/GenEx-TARGET_FILE/RunCMakeTest.cmake
+++ b/Tests/RunCMake/GenEx-TARGET_FILE/RunCMakeTest.cmake
@@ -2,6 +2,9 @@ include(RunCMake)
run_cmake(TARGET_FILE-recursion)
run_cmake(OUTPUT_NAME-recursion)
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+ run_cmake(TARGET_BUNDLE_DIR_NAME)
+endif()
run_cmake(TARGET_FILE_DIR-dependency)
run_cmake(TARGET_FILE_DIR-no-dependency)
run_cmake(TARGET_FILE_PREFIX-imported-target)
diff --git a/Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME-check.cmake b/Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME-check.cmake
new file mode 100644
index 0000000..6e62ce3
--- /dev/null
+++ b/Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME-check.cmake
@@ -0,0 +1 @@
+include ("${RunCMake_TEST_BINARY_DIR}/TARGET_BUNDLE_DIR_NAME-generated.cmake")
diff --git a/Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME.cmake b/Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME.cmake
new file mode 100644
index 0000000..23db8fd
--- /dev/null
+++ b/Tests/RunCMake/GenEx-TARGET_FILE/TARGET_BUNDLE_DIR_NAME.cmake
@@ -0,0 +1,33 @@
+enable_language(C)
+
+set(GENERATE_CONTENT [[
+macro (check_value test_msg value expected)
+ if (NOT "${value}" STREQUAL "${expected}")
+ string (APPEND RunCMake_TEST_FAILED "${test_msg}: actual result:\n [${value}]\nbut expected:\n [${expected}]\n")
+ endif()
+endmacro()
+]])
+
+add_library(test-lib MODULE empty.c)
+set_target_properties(test-lib PROPERTIES BUNDLE TRUE)
+
+add_library(test-fw empty.c)
+set_target_properties(test-fw PROPERTIES FRAMEWORK TRUE)
+
+add_executable(test-app MACOSX_BUNDLE empty.c)
+
+add_executable(test-app-custom MACOSX_BUNDLE empty.c)
+set_target_properties(test-app-custom PROPERTIES BUNDLE_EXTENSION custom)
+
+string(APPEND GENERATE_CONTENT [[
+check_value("TARGET_BUNDLE_DIR_NAME library" "$<TARGET_BUNDLE_DIR_NAME:test-lib>" "test-lib.bundle")
+check_value("TARGET_BUNDLE_DIR_NAME framework" "$<TARGET_BUNDLE_DIR_NAME:test-fw>" "test-fw.framework")
+check_value("TARGET_BUNDLE_DIR_NAME app" "$<TARGET_BUNDLE_DIR_NAME:test-app>" "test-app.app")
+check_value("TARGET_BUNDLE_DIR_NAME custom" "$<TARGET_BUNDLE_DIR_NAME:test-app-custom>" "test-app-custom.custom")
+]])
+
+file(
+ GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/TARGET_BUNDLE_DIR_NAME-generated.cmake"
+ CONTENT "${GENERATE_CONTENT}"
+)