summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-12-19 13:26:57 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-12-19 13:26:57 (GMT)
commitccd5822a8322155a491ad871fa135cfce1ef9a88 (patch)
tree60c1a65be27fabf3d7d17bc39c1595a367f9be8d
parent1ac8523c3bd4f404d8306b3d5fe905e1d988461c (diff)
parentb189c5994d94b8dd0afdf14844db4a4be28cf4b1 (diff)
downloadCMake-ccd5822a8322155a491ad871fa135cfce1ef9a88.zip
CMake-ccd5822a8322155a491ad871fa135cfce1ef9a88.tar.gz
CMake-ccd5822a8322155a491ad871fa135cfce1ef9a88.tar.bz2
Merge topic 'osx-cfbundle-tweaks'
b189c599 Tests: Run CFBundleTest only with valid configuration 3a605693 Xcode: Call IsCFBundleOnApple to decide if bundle is being built 207b7af0 cmTarget: Use GetCFBundleDirectory within GetFullNameInternal
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx2
-rw-r--r--Source/cmTarget.cxx11
-rw-r--r--Tests/CFBundleTest/VerifyResult.cmake9
-rw-r--r--Tests/CMakeLists.txt5
4 files changed, 9 insertions, 18 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index de6e915..6a480a9 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1925,7 +1925,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
{
buildSettings->AddAttribute("LIBRARY_STYLE",
this->CreateString("BUNDLE"));
- if (target.GetPropertyAsBool("BUNDLE"))
+ if (target.IsCFBundleOnApple())
{
// It turns out that a BUNDLE is basically the same
// in many ways as an application bundle, as far as
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 865a824..94a6de3 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -4057,15 +4057,8 @@ void cmTarget::GetFullNameInternal(const std::string& config,
if(this->IsCFBundleOnApple())
{
- fw_prefix = this->GetOutputName(config, false);
- fw_prefix += ".";
- const char *ext = this->GetProperty("BUNDLE_EXTENSION");
- if (!ext)
- {
- ext = "bundle";
- }
- fw_prefix += ext;
- fw_prefix += "/Contents/MacOS/";
+ fw_prefix = this->GetCFBundleDirectory(config, false);
+ fw_prefix += "/";
targetPrefix = fw_prefix.c_str();
targetSuffix = 0;
}
diff --git a/Tests/CFBundleTest/VerifyResult.cmake b/Tests/CFBundleTest/VerifyResult.cmake
index e622900..e637bb1 100644
--- a/Tests/CFBundleTest/VerifyResult.cmake
+++ b/Tests/CFBundleTest/VerifyResult.cmake
@@ -14,13 +14,10 @@ message(STATUS "CTEST_CONFIGURATION_TYPE='${CTEST_CONFIGURATION_TYPE}'")
message(STATUS "dir='${dir}'")
message(STATUS "gen='${gen}'")
-if(gen MATCHES "Make" OR
- "${CTEST_CONFIGURATION_TYPE}" STREQUAL "" OR
- "${CTEST_CONFIGURATION_TYPE}" STREQUAL "." OR
- "${CTEST_CONFIGURATION_TYPE}" STREQUAL "NoConfig")
- set(expected_filename "${dir}/CFBundleTest.plugin/Contents/MacOS/CFBundleTest")
-else()
+if(gen STREQUAL "Xcode")
set(expected_filename "${dir}/${CTEST_CONFIGURATION_TYPE}/CFBundleTest.plugin/Contents/MacOS/CFBundleTest")
+else()
+ set(expected_filename "${dir}/CFBundleTest.plugin/Contents/MacOS/CFBundleTest")
endif()
if(NOT EXISTS "${expected_filename}")
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 250e966..8528042 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1931,16 +1931,17 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
${BundleTestInstallDir}/Applications/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleTest")
- add_test(CFBundleTest ${CMAKE_CTEST_COMMAND}
+ add_test(NAME CFBundleTest COMMAND ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CFBundleTest"
"${CMake_BINARY_DIR}/Tests/CFBundleTest"
--build-two-config
${build_generator_args}
--build-project CFBundleTest
+ --build-config $<CONFIGURATION>
--build-options ${build_options}
--test-command
- ${CMAKE_CMAKE_COMMAND} -DCTEST_CONFIGURATION_TYPE=\${CTEST_CONFIGURATION_TYPE}
+ ${CMAKE_CMAKE_COMMAND} -DCTEST_CONFIGURATION_TYPE=$<CONFIGURATION>
-Ddir=${CMake_BINARY_DIR}/Tests/CFBundleTest
-Dgen=${CMAKE_GENERATOR}
-P ${CMake_SOURCE_DIR}/Tests/CFBundleTest/VerifyResult.cmake)