ENH: Improve the test to create a bundle in the subdirectory
This commit is contained in:
parent
5a71f83f7a
commit
9dffe62736
|
@ -964,7 +964,7 @@ IF(BUILD_TESTING)
|
||||||
--build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}"
|
--build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}"
|
||||||
"-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}"
|
"-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}"
|
||||||
--test-command
|
--test-command
|
||||||
${BundleTestInstallDir}/Application/BundleTestExe.app/Contents/MacOS/BundleTestExe)
|
${BundleTestInstallDir}/Application/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
|
||||||
|
|
||||||
ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
|
ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
|
||||||
--build-and-test
|
--build-and-test
|
||||||
|
|
|
@ -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)
|
|
@ -36,7 +36,8 @@ ADD_EXECUTABLE(BundleTest
|
||||||
TARGET_LINK_LIBRARIES(BundleTest BundleTestLib)
|
TARGET_LINK_LIBRARIES(BundleTest BundleTestLib)
|
||||||
|
|
||||||
# Test bundle installation.
|
# 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)
|
INSTALL(TARGETS BundleTest DESTINATION Application)
|
||||||
|
|
||||||
# Test whether bundles respect the output name. Since the library is
|
# Test whether bundles respect the output name. Since the library is
|
||||||
|
@ -87,3 +88,5 @@ IF(EXISTS /usr/lib/libtcl.dylib
|
||||||
MESSAGE("frame: ${TCL}")
|
MESSAGE("frame: ${TCL}")
|
||||||
ENDIF(EXISTS /usr/lib/libtcl.dylib
|
ENDIF(EXISTS /usr/lib/libtcl.dylib
|
||||||
AND EXISTS /System/Library/Frameworks/tcl.framework)
|
AND EXISTS /System/Library/Frameworks/tcl.framework)
|
||||||
|
|
||||||
|
SUBDIRS(BundleSubDir)
|
||||||
|
|
Loading…
Reference in New Issue