From b756ff8e14037d4f25db1a14c7533ca513a0f2e0 Mon Sep 17 00:00:00 2001 From: Juha Alanen Date: Mon, 24 Feb 2020 17:04:37 +0200 Subject: [PATCH] [build][ios] Move iOS specific ccache scripts to platform directory --- CMakeLists.txt | 20 ---------------- {scripts/ci => platform/ios}/ccache-c.in | 0 {scripts/ci => platform/ios}/ccache-cxx.in | 0 platform/ios/ccache.cmake | 27 ++++++++++++++++++++++ platform/ios/ios.cmake | 1 + 5 files changed, 28 insertions(+), 20 deletions(-) rename {scripts/ci => platform/ios}/ccache-c.in (100%) rename {scripts/ci => platform/ios}/ccache-cxx.in (100%) create mode 100644 platform/ios/ccache.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a09f0966..05ba29a96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,26 +1,6 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR) project("Mapbox GL Native" LANGUAGES CXX C) -find_program(CCACHE_PROGRAM ccache) -if(CCACHE_PROGRAM AND CMAKE_SYSTEM_NAME STREQUAL "iOS") - # Set up wrapper scripts - set(C_LAUNCHER "${CCACHE_PROGRAM}") - set(CXX_LAUNCHER "${CCACHE_PROGRAM}") - configure_file(${PROJECT_SOURCE_DIR}/scripts/ci/ccache-c.in ccache-c) - configure_file(${PROJECT_SOURCE_DIR}/scripts/ci/ccache-cxx.in ccache-cxx) - execute_process( - COMMAND - chmod - a+rx - "${CMAKE_BINARY_DIR}/ccache-c" - "${CMAKE_BINARY_DIR}/ccache-cxx" - ) - - # Set Xcode project attributes to route compilation and linking through our scripts - set(CMAKE_XCODE_ATTRIBUTE_CC "${CMAKE_BINARY_DIR}/ccache-c") - set(CMAKE_XCODE_ATTRIBUTE_CXX "${CMAKE_BINARY_DIR}/ccache-cxx") -endif() - set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER Core) diff --git a/scripts/ci/ccache-c.in b/platform/ios/ccache-c.in similarity index 100% rename from scripts/ci/ccache-c.in rename to platform/ios/ccache-c.in diff --git a/scripts/ci/ccache-cxx.in b/platform/ios/ccache-cxx.in similarity index 100% rename from scripts/ci/ccache-cxx.in rename to platform/ios/ccache-cxx.in diff --git a/platform/ios/ccache.cmake b/platform/ios/ccache.cmake new file mode 100644 index 000000000..cedf062a1 --- /dev/null +++ b/platform/ios/ccache.cmake @@ -0,0 +1,27 @@ +find_program(CCACHE_PROGRAM ccache) +if(CCACHE_PROGRAM) + # Set up wrapper scripts + set(C_LAUNCHER "${CCACHE_PROGRAM}") + set(CXX_LAUNCHER "${CCACHE_PROGRAM}") + configure_file(${PROJECT_SOURCE_DIR}/platform/ios/ccache-c.in ccache-c) + configure_file(${PROJECT_SOURCE_DIR}/platform/ios/ccache-cxx.in ccache-cxx) + execute_process( + COMMAND + chmod + a+rx + "${CMAKE_BINARY_DIR}/ccache-c" + "${CMAKE_BINARY_DIR}/ccache-cxx" + ) + + if(CMAKE_GENERATOR STREQUAL "Xcode") + # Set Xcode project attributes to route compilation and linking through our scripts + set(CMAKE_XCODE_ATTRIBUTE_CC "${CMAKE_BINARY_DIR}/ccache-c") + set(CMAKE_XCODE_ATTRIBUTE_CXX "${CMAKE_BINARY_DIR}/ccache-cxx") + set(CMAKE_XCODE_ATTRIBUTE_LD "${CMAKE_BINARY_DIR}/ccache-c") + set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CMAKE_BINARY_DIR}/ccache-cxx") + else() + # Support Unix Makefiles and Ninja + set(CMAKE_C_COMPILER_LAUNCHER "${CMAKE_BINARY_DIR}/ccache-c") + set(CMAKE_CXX_COMPILER_LAUNCHER "${CMAKE_BINARY_DIR}/ccache-cxx") + endif() +endif() diff --git a/platform/ios/ios.cmake b/platform/ios/ios.cmake index 3b8635355..7e9db575a 100644 --- a/platform/ios/ios.cmake +++ b/platform/ios/ios.cmake @@ -76,6 +76,7 @@ target_include_directories( ) include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) +include(${PROJECT_SOURCE_DIR}/platform/ios/ccache.cmake) initialize_ios_target(mbgl-core) initialize_ios_target(mbgl-vendor-icu)