From d525754eabef7a9f6e6696ae323a8ed965e12f2e Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 26 Dec 2016 18:01:32 +0100 Subject: Xcode: Refactor RunCMake.Framework test to prepare for static frameworks --- Tests/RunCMake/CMakeLists.txt | 3 +- Tests/RunCMake/Framework/RunCMakeTest.cmake | 48 ++++++++++------------------- 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index c2c744f..63016f1 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -276,8 +276,7 @@ if(XCODE_VERSION AND NOT "${XCODE_VERSION}" VERSION_LESS 3) add_RunCMake_test(XcodeProject -DXCODE_VERSION=${XCODE_VERSION}) endif() -if(NOT XCODE - AND CMAKE_C_COMPILER_ID STREQUAL "AppleClang" +if(CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0) add_RunCMake_test(Framework) endif() diff --git a/Tests/RunCMake/Framework/RunCMakeTest.cmake b/Tests/RunCMake/Framework/RunCMakeTest.cmake index eeea6f1..1f7d54e 100644 --- a/Tests/RunCMake/Framework/RunCMakeTest.cmake +++ b/Tests/RunCMake/Framework/RunCMakeTest.cmake @@ -1,33 +1,19 @@ include(RunCMake) -# iOS - -set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/iOSFrameworkLayout-build) -set(RunCMake_TEST_NO_CLEAN 1) -set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/ios.cmake") - -file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") -file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") - -run_cmake(FrameworkLayout) -run_cmake_command(iOSFrameworkLayout-build ${CMAKE_COMMAND} --build .) - -unset(RunCMake_TEST_BINARY_DIR) -unset(RunCMake_TEST_NO_CLEAN) -unset(RunCMake_TEST_OPTIONS) - -# OSX - -set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/OSXFrameworkLayout-build) -set(RunCMake_TEST_NO_CLEAN 1) -set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/osx.cmake") - -file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") -file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") - -run_cmake(FrameworkLayout) -run_cmake_command(OSXFrameworkLayout-build ${CMAKE_COMMAND} --build .) - -unset(RunCMake_TEST_BINARY_DIR) -unset(RunCMake_TEST_NO_CLEAN) -unset(RunCMake_TEST_OPTIONS) +function(framework_layout_test Name Toolchain) + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${Toolchain}FrameworkLayout-build) + set(RunCMake_TEST_NO_CLEAN 1) + set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/${Toolchain}.cmake") + + file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") + file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") + + run_cmake(FrameworkLayout) + run_cmake_command(${Name} ${CMAKE_COMMAND} --build .) +endfunction() + +# build check cannot cope with multi-configuration generators directory layout +if(NOT RunCMake_GENERATOR STREQUAL "Xcode") + framework_layout_test(iOSFrameworkLayout-build ios) + framework_layout_test(OSXFrameworkLayout-build osx) +endif() -- cgit v0.12