mirror of
https://github.com/QuasarApp/CMake.git
synced 2025-04-26 01:44:30 +00:00
added support ccache for xcode
This commit is contained in:
parent
6d28ccacbf
commit
6664d65e9f
2
.gitignore
vendored
2
.gitignore
vendored
@ -9,3 +9,5 @@ compile_commands.json
|
||||
CTestTestfile.cmake
|
||||
.cmake
|
||||
build.ninja
|
||||
ccahe_cc_launcher.sh
|
||||
ccahe_cxx_launcher.sh
|
||||
|
16
ccache.cmake
16
ccache.cmake
@ -21,17 +21,21 @@ if(CCACHE_PROGRAM)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_PROGRAM}") # Less useful to do it for linking, see edit2
|
||||
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
|
||||
set(CC_LAUNCHER ${CMAKE_CURRENT_LIST_DIR}/ccahe_cc_launcher.sh)
|
||||
set(CXX_LAUNCHER ${CMAKE_CURRENT_LIST_DIR}/ccahe_cxx_launcher.sh)
|
||||
|
||||
configure_file("${CC_LAUNCHER}.in" "${CC_LAUNCHER}")
|
||||
configure_file("${CXX_LAUNCHER}.in" "${CXX_LAUNCHER}")
|
||||
|
||||
# Set Xcode project attributes to route compilation and linking
|
||||
# through our scripts
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CC "${CCACHE_PROGRAM} ${CMAKE_C_COMPILER}" CACHE INTERNAL "override CMAKE_XCODE_ATTRIBUTE_CC" )
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CXX "${CCACHE_PROGRAM} ${CMAKE_CXX_COMPILER}" CACHE INTERNAL "override CMAKE_XCODE_ATTRIBUTE_CC")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_LD "${CCACHE_PROGRAM} ${CMAKE_LD_COMPILER}" CACHE INTERNAL "override CMAKE_XCODE_ATTRIBUTE_CC")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CCACHE_PROGRAM} ${CMAKE_LDPLUSPLUS_COMPILER}" CACHE INTERNAL "override CMAKE_XCODE_ATTRIBUTE_CC")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CC ${CC_LAUNCHER} CACHE INTERNAL "override CMAKE_XCODE_ATTRIBUTE_CC" )
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CXX ${CXX_LAUNCHER} CACHE INTERNAL "override CMAKE_XCODE_ATTRIBUTE_CC")
|
||||
|
||||
message("CMAKE_XCODE_ATTRIBUTE_CC = ${CMAKE_XCODE_ATTRIBUTE_CC}")
|
||||
message("CMAKE_XCODE_ATTRIBUTE_CXX = ${CMAKE_XCODE_ATTRIBUTE_CXX}")
|
||||
message("CMAKE_XCODE_ATTRIBUTE_LD = ${CMAKE_XCODE_ATTRIBUTE_LD}")
|
||||
message("CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS = ${CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS}")
|
||||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
11
ccahe_cc_launcher.sh.in
Normal file
11
ccahe_cc_launcher.sh.in
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Xcode generator doesn't include the compiler as the
|
||||
# first argument, Ninja and Makefiles do. Handle both cases.
|
||||
if [ "$1" = "${CMAKE_C_COMPILER}" ] ; then
|
||||
shift
|
||||
fi
|
||||
|
||||
${CCCACHE_EXPORTS}
|
||||
|
||||
exec "${CCACHE_PROGRAM}" "${CMAKE_C_COMPILER}" "$@"
|
11
ccahe_cxx_launcher.sh.in
Normal file
11
ccahe_cxx_launcher.sh.in
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Xcode generator doesn't include the compiler as the
|
||||
# first argument, Ninja and Makefiles do. Handle both cases.
|
||||
if [ "$1" = "${CMAKE_CXX_COMPILER}" ] ; then
|
||||
shift
|
||||
fi
|
||||
|
||||
${CCCACHE_EXPORTS}
|
||||
|
||||
exec "${CCACHE_PROGRAM}" "${CMAKE_CXX_COMPILER}" "$@"
|
Loading…
x
Reference in New Issue
Block a user