summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2020-06-14 08:21:35 (GMT)
committerCraig Scott <craig.scott@crascit.com>2020-06-14 08:21:35 (GMT)
commitd3fd518c0316b15e4680c32808788935bf8c5c3d (patch)
tree6a843d0dbfdb639f206c3693bc007a5d017de555 /Tests
parent6dc7c1f85d7a01917f7f239866f88ebc3268df89 (diff)
downloadCMake-d3fd518c0316b15e4680c32808788935bf8c5c3d.zip
CMake-d3fd518c0316b15e4680c32808788935bf8c5c3d.tar.gz
CMake-d3fd518c0316b15e4680c32808788935bf8c5c3d.tar.bz2
find_program: Properly decode URL for bundle exe name with spaces
Fixes: #20817
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/find_program/BundleSpaceInName-stdout.txt1
-rw-r--r--Tests/RunCMake/find_program/BundleSpaceInName.cmake8
-rw-r--r--Tests/RunCMake/find_program/RunCMakeTest.cmake4
3 files changed, 13 insertions, 0 deletions
diff --git a/Tests/RunCMake/find_program/BundleSpaceInName-stdout.txt b/Tests/RunCMake/find_program/BundleSpaceInName-stdout.txt
new file mode 100644
index 0000000..331d465
--- /dev/null
+++ b/Tests/RunCMake/find_program/BundleSpaceInName-stdout.txt
@@ -0,0 +1 @@
+-- FakeApp_EXECUTABLE='.*/Tests/RunCMake/find_program/BundleSpaceInName-build/Fake app.app/Contents/MacOS/Fake app'
diff --git a/Tests/RunCMake/find_program/BundleSpaceInName.cmake b/Tests/RunCMake/find_program/BundleSpaceInName.cmake
new file mode 100644
index 0000000..9152d5b
--- /dev/null
+++ b/Tests/RunCMake/find_program/BundleSpaceInName.cmake
@@ -0,0 +1,8 @@
+set(fakeApp "${CMAKE_CURRENT_BINARY_DIR}/Fake app.app/Contents/MacOS/Fake app")
+file(WRITE "${fakeApp}" "#!/bin/sh\n")
+execute_process(COMMAND chmod a+rx "${fakeApp}")
+
+find_program(FakeApp_EXECUTABLE NAMES "Fake app" NO_DEFAULT_PATH
+ PATHS "${CMAKE_CURRENT_BINARY_DIR}"
+)
+message(STATUS "FakeApp_EXECUTABLE='${FakeApp_EXECUTABLE}'")
diff --git a/Tests/RunCMake/find_program/RunCMakeTest.cmake b/Tests/RunCMake/find_program/RunCMakeTest.cmake
index 95ffd84..be70deb 100644
--- a/Tests/RunCMake/find_program/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_program/RunCMakeTest.cmake
@@ -14,3 +14,7 @@ endif()
if(UNIX)
run_cmake(ExeNoRead)
endif()
+
+if(APPLE)
+ run_cmake(BundleSpaceInName)
+endif()