|
|
@@ -40,8 +40,16 @@ if (NOT EXISTS ${MINGW_PREFIX}-gcc)
|
|
|
message (FATAL_ERROR "Could not find MinGW cross compilation tool. "
|
|
|
"Use MINGW_PREFIX environment variable or build option to specify the location of the toolchain.")
|
|
|
endif ()
|
|
|
-set (CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc CACHE PATH "C compiler")
|
|
|
-set (CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++ CACHE PATH "C++ compiler")
|
|
|
+set (COMPILER_PREFIX ${MINGW_PREFIX})
|
|
|
+if ($ENV{USE_CCACHE})
|
|
|
+ execute_process (COMMAND whereis -b ccache COMMAND grep -o \\S*lib\\S* RESULT_VARIABLE EXIT_CODE OUTPUT_VARIABLE CCACHE_SYMLINK ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
+ if (EXIT_CODE EQUAL 0)
|
|
|
+ get_filename_component (NAME ${MINGW_PREFIX} NAME)
|
|
|
+ set (COMPILER_PREFIX ${CCACHE_SYMLINK}/${NAME})
|
|
|
+ endif ()
|
|
|
+endif ()
|
|
|
+set (CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc CACHE PATH "C compiler")
|
|
|
+set (CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++ CACHE PATH "C++ compiler")
|
|
|
set (CMAKE_STRIP ${MINGW_PREFIX}-strip CACHE PATH "strip")
|
|
|
set (CMAKE_AR ${MINGW_PREFIX}-ar CACHE PATH "archive")
|
|
|
set (CMAKE_LINKER ${MINGW_PREFIX}-ld CACHE PATH "linker")
|