diff options
-rw-r--r-- | Source/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/BundleTest/BundleSubDir/CMakeLists.txt | 36 | ||||
-rw-r--r-- | Tests/BundleTest/CMakeLists.txt | 5 |
3 files changed, 41 insertions, 2 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 3da7ef5..35f4fcf 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -964,7 +964,7 @@ IF(BUILD_TESTING) --build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}" "-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}" --test-command - ${BundleTestInstallDir}/Application/BundleTestExe.app/Contents/MacOS/BundleTestExe) + ${BundleTestInstallDir}/Application/SecondBundleExe.app/Contents/MacOS/SecondBundleExe) ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND} --build-and-test diff --git a/Tests/BundleTest/BundleSubDir/CMakeLists.txt b/Tests/BundleTest/BundleSubDir/CMakeLists.txt new file mode 100644 index 0000000..299c42e --- /dev/null +++ b/Tests/BundleTest/BundleSubDir/CMakeLists.txt @@ -0,0 +1,36 @@ +ADD_CUSTOM_COMMAND( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist" + COMMAND /bin/cp + ARGS "${BundleTest_SOURCE_DIR}/randomResourceFile.plist.in" + "${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist") + +SET_SOURCE_FILES_PROPERTIES( + "${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist" + PROPERTIES + MACOSX_PACKAGE_LOCATION Resources + ) + +SET_SOURCE_FILES_PROPERTIES( + "${BundleTest_SOURCE_DIR}/SomeRandomFile.txt" + "${CMake_SOURCE_DIR}/ChangeLog.txt" + PROPERTIES + MACOSX_PACKAGE_LOCATION MacOS + ) + +ADD_EXECUTABLE(SecondBundle + MACOSX_BUNDLE + "${BundleTest_SOURCE_DIR}/BundleTest.cxx" + "${BundleTest_SOURCE_DIR}/SomeRandomFile.txt" + "${CMake_SOURCE_DIR}/ChangeLog.txt" + "${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist" + ) +TARGET_LINK_LIBRARIES(SecondBundle BundleTestLib) + +# Test bundle installation. +INSTALL(TARGETS SecondBundle DESTINATION Application) + +# Test whether bundles respect the output name. Since the library is +# installed into a location that uses this output name this will fail if the +# bundle does not respect the name. Also the executable will not be found by +# the test driver if this does not work. +SET_TARGET_PROPERTIES(SecondBundle PROPERTIES OUTPUT_NAME SecondBundleExe) diff --git a/Tests/BundleTest/CMakeLists.txt b/Tests/BundleTest/CMakeLists.txt index 0c742b0..ff9626f 100644 --- a/Tests/BundleTest/CMakeLists.txt +++ b/Tests/BundleTest/CMakeLists.txt @@ -36,7 +36,8 @@ ADD_EXECUTABLE(BundleTest TARGET_LINK_LIBRARIES(BundleTest BundleTestLib) # Test bundle installation. -INSTALL(TARGETS BundleTestLib DESTINATION Application/BundleTestExe.app/Contents/Plugins) +#INSTALL(TARGETS BundleTestLib DESTINATION Application/BundleTestExe.app/Contents/Plugins) +INSTALL(TARGETS BundleTestLib DESTINATION Application/SecondBundleExe.app/Contents/Plugins) INSTALL(TARGETS BundleTest DESTINATION Application) # Test whether bundles respect the output name. Since the library is @@ -87,3 +88,5 @@ IF(EXISTS /usr/lib/libtcl.dylib MESSAGE("frame: ${TCL}") ENDIF(EXISTS /usr/lib/libtcl.dylib AND EXISTS /System/Library/Frameworks/tcl.framework) + +SUBDIRS(BundleSubDir) |