Merge topic 'fix-ios-install'
ad262917 Xcode: Add unit test for iOS project install (#12506) 48fe617e Fix installation of iOS targets (#12506) d2c2319d Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos
This commit is contained in:
commit
dd2b88777f
@ -2422,7 +2422,17 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
|
|||||||
if ( cmakeCfgIntDir && *cmakeCfgIntDir && cmakeCfgIntDir[0] != '.' )
|
if ( cmakeCfgIntDir && *cmakeCfgIntDir && cmakeCfgIntDir[0] != '.' )
|
||||||
{
|
{
|
||||||
std::string cfgArg = "-DBUILD_TYPE=";
|
std::string cfgArg = "-DBUILD_TYPE=";
|
||||||
cfgArg += mf->GetDefinition("CMAKE_CFG_INTDIR");
|
bool iosPlatform = mf->PlatformIsAppleIos();
|
||||||
|
if(iosPlatform)
|
||||||
|
{
|
||||||
|
cfgArg += "$(CONFIGURATION)";
|
||||||
|
singleLine.push_back(cfgArg);
|
||||||
|
cfgArg = "-DEFFECTIVE_PLATFORM_NAME=$(EFFECTIVE_PLATFORM_NAME)";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cfgArg += mf->GetDefinition("CMAKE_CFG_INTDIR");
|
||||||
|
}
|
||||||
singleLine.push_back(cfgArg);
|
singleLine.push_back(cfgArg);
|
||||||
}
|
}
|
||||||
singleLine.push_back("-P");
|
singleLine.push_back("-P");
|
||||||
|
@ -2901,10 +2901,9 @@ bool cmTarget::ComputeOutputDir(const std::string& config,
|
|||||||
// The generator may add the configuration's subdirectory.
|
// The generator may add the configuration's subdirectory.
|
||||||
if(!conf.empty())
|
if(!conf.empty())
|
||||||
{
|
{
|
||||||
const char *platforms = this->Makefile->GetDefinition(
|
bool iosPlatform = this->Makefile->PlatformIsAppleIos();
|
||||||
"CMAKE_XCODE_EFFECTIVE_PLATFORMS");
|
|
||||||
std::string suffix =
|
std::string suffix =
|
||||||
usesDefaultOutputDir && platforms ? "$(EFFECTIVE_PLATFORM_NAME)" : "";
|
usesDefaultOutputDir && iosPlatform ? "${EFFECTIVE_PLATFORM_NAME}" : "";
|
||||||
this->Makefile->GetGlobalGenerator()->
|
this->Makefile->GetGlobalGenerator()->
|
||||||
AppendDirectoryForConfig("/", conf, suffix, out);
|
AppendDirectoryForConfig("/", conf, suffix, out);
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,20 @@ endif()
|
|||||||
# Use a single build tree for a few tests without cleaning.
|
# Use a single build tree for a few tests without cleaning.
|
||||||
|
|
||||||
if(NOT XCODE_VERSION VERSION_LESS 5)
|
if(NOT XCODE_VERSION VERSION_LESS 5)
|
||||||
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeInstallIOS-build)
|
||||||
|
set(RunCMake_TEST_NO_CLEAN 1)
|
||||||
|
set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_BINARY_DIR}/ios_install")
|
||||||
|
|
||||||
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||||
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||||
|
|
||||||
|
run_cmake(XcodeInstallIOS)
|
||||||
|
run_cmake_command(XcodeInstallIOS-install ${CMAKE_COMMAND} --build . --target install)
|
||||||
|
|
||||||
|
unset(RunCMake_TEST_BINARY_DIR)
|
||||||
|
unset(RunCMake_TEST_NO_CLEAN)
|
||||||
|
unset(RunCMake_TEST_OPTIONS)
|
||||||
|
|
||||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesOSX-build)
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesOSX-build)
|
||||||
set(RunCMake_TEST_NO_CLEAN 1)
|
set(RunCMake_TEST_NO_CLEAN 1)
|
||||||
set(RunCMake_TEST_OPTIONS "-DTEST_IOS=OFF")
|
set(RunCMake_TEST_OPTIONS "-DTEST_IOS=OFF")
|
||||||
|
@ -6,7 +6,6 @@ enable_language(C)
|
|||||||
if(TEST_IOS)
|
if(TEST_IOS)
|
||||||
set(CMAKE_OSX_SYSROOT iphoneos)
|
set(CMAKE_OSX_SYSROOT iphoneos)
|
||||||
set(CMAKE_OSX_ARCHITECTURES "armv7")
|
set(CMAKE_OSX_ARCHITECTURES "armv7")
|
||||||
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")
|
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
|
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
|
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
|
||||||
endif(TEST_IOS)
|
endif(TEST_IOS)
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
-- Install configuration: .*
|
||||||
|
-- Installing: .*/ios_install/lib/libfoo.a
|
12
Tests/RunCMake/XcodeProject/XcodeInstallIOS.cmake
Normal file
12
Tests/RunCMake/XcodeProject/XcodeInstallIOS.cmake
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
cmake_minimum_required(VERSION 2.8.5)
|
||||||
|
|
||||||
|
project(XcodeInstallIOS)
|
||||||
|
|
||||||
|
set(CMAKE_OSX_SYSROOT iphoneos)
|
||||||
|
set(XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
|
||||||
|
|
||||||
|
set(CMAKE_OSX_ARCHITECTURES "armv7;i386")
|
||||||
|
|
||||||
|
add_library(foo STATIC foo.cpp)
|
||||||
|
install(TARGETS foo ARCHIVE DESTINATION lib)
|
1
Tests/RunCMake/XcodeProject/foo.cpp
Normal file
1
Tests/RunCMake/XcodeProject/foo.cpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
void foo() { }
|
@ -3,7 +3,6 @@ project(NavApp3)
|
|||||||
|
|
||||||
set(CMAKE_OSX_SYSROOT iphoneos4.3)
|
set(CMAKE_OSX_SYSROOT iphoneos4.3)
|
||||||
set(CMAKE_OSX_ARCHITECTURES "armv6;armv7;i386")
|
set(CMAKE_OSX_ARCHITECTURES "armv6;armv7;i386")
|
||||||
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user