# ####################################################################################### # ____ ____ __ ______ __________ __ __ __ __ # \ \ | | | | | _ \ |___ ___| | | | | / \ | | # \ \ | | | | | |_) | | | | | | | / \ | | # \ \ | | | | | _ / | | | | | | / /\ \ | | # \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ # \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| # \ \ | | ________________________________________________________________ # \ \ | | | ______________________________________________________________| # \ \| | | | __ __ __ __ ______ _______ # \ | | |_____ | | | | | | | | | _ \ / _____) # \ | | _____| | | | | | | | | | | \ \ \_______ # \ | | | | |_____ | \_/ | | | | |_/ / _____ | # \ _____| |__| |________| \_______/ |__| |______/ (_______/ # # This file is part of VirtualFluids. VirtualFluids is free software: you can # redistribute it and/or modify it under the terms of the GNU General Public # License as published by the Free Software Foundation, either version 3 of # the License, or (at your option) any later version. # # VirtualFluids is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License along # with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. # ####################################################################################### function(enable_cache) set(CACHE_OPTION "ccache" CACHE STRING "Compiler cache to be used") set(CACHE_OPTION_VALUES "ccache" "sccache") set_property(CACHE CACHE_OPTION PROPERTY STRINGS ${CACHE_OPTION_VALUES}) list( FIND CACHE_OPTION_VALUES ${CACHE_OPTION} CACHE_OPTION_INDEX) if(${CACHE_OPTION_INDEX} EQUAL -1) message( STATUS "Using custom compiler cache system: '${CACHE_OPTION}', explicitly supported entries are ${CACHE_OPTION_VALUES}" ) endif() find_program(CACHE_BINARY NAMES ${CACHE_OPTION_VALUES}) if(CACHE_BINARY) message(STATUS "${CACHE_BINARY} found and enabled") set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY} CACHE FILEPATH "CXX compiler cache used") set(CMAKE_C_COMPILER_LAUNCHER ${CACHE_BINARY} CACHE FILEPATH "C compiler cache used") else() message(STATUS "${CACHE_OPTION} is enabled but was not found. Not using it!") endif() endfunction()