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] != '.' )
|
||||
{
|
||||
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("-P");
|
||||
|
|
|
@ -2901,10 +2901,9 @@ bool cmTarget::ComputeOutputDir(const std::string& config,
|
|||
// The generator may add the configuration's subdirectory.
|
||||
if(!conf.empty())
|
||||
{
|
||||
const char *platforms = this->Makefile->GetDefinition(
|
||||
"CMAKE_XCODE_EFFECTIVE_PLATFORMS");
|
||||
bool iosPlatform = this->Makefile->PlatformIsAppleIos();
|
||||
std::string suffix =
|
||||
usesDefaultOutputDir && platforms ? "$(EFFECTIVE_PLATFORM_NAME)" : "";
|
||||
usesDefaultOutputDir && iosPlatform ? "${EFFECTIVE_PLATFORM_NAME}" : "";
|
||||
this->Makefile->GetGlobalGenerator()->
|
||||
AppendDirectoryForConfig("/", conf, suffix, out);
|
||||
}
|
||||
|
|
|
@ -11,6 +11,20 @@ endif()
|
|||
# Use a single build tree for a few tests without cleaning.
|
||||
|
||||
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_NO_CLEAN 1)
|
||||
set(RunCMake_TEST_OPTIONS "-DTEST_IOS=OFF")
|
||||
|
|
|
@ -6,7 +6,6 @@ enable_language(C)
|
|||
if(TEST_IOS)
|
||||
set(CMAKE_OSX_SYSROOT iphoneos)
|
||||
set(CMAKE_OSX_ARCHITECTURES "armv7")
|
||||
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
|
||||
endif(TEST_IOS)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
-- Install configuration: .*
|
||||
-- Installing: .*/ios_install/lib/libfoo.a
|
|
@ -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)
|
|
@ -0,0 +1 @@
|
|||
void foo() { }
|
|
@ -3,7 +3,6 @@ project(NavApp3)
|
|||
|
||||
set(CMAKE_OSX_SYSROOT iphoneos4.3)
|
||||
set(CMAKE_OSX_ARCHITECTURES "armv6;armv7;i386")
|
||||
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
|
Loading…
Reference in New Issue