function(pcapp_detect_compiler TARGET) if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") set(${TARGET}_COMPILER_MSVC 1 PARENT_SCOPE) set(${TARGET}_COMPILER "msvc" PARENT_SCOPE) if(MSVC_TOOLSET_VERSION EQUAL 80) set(MSVC_YEAR "2005" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 90) set(MSVC_YEAR "2008" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 100) set(MSVC_YEAR "2010" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 110) set(MSVC_YEAR "2012" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 120) set(MSVC_YEAR "2013" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 140) set(MSVC_YEAR "2015" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 141) set(MSVC_YEAR "2017" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 142) set(MSVC_YEAR "2019" PARENT_SCOPE) elseif(MSVC_TOOLSET_VERSION EQUAL 143) set(MSVC_YEAR "2022" PARENT_SCOPE) else() message(WARNING "Unsupported MSVC_TOOLSET_VERSION: ${MSVC_TOOLSET_VERSION}") set(MSVC_YEAR "2099" PARENT_SCOPE) endif() elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") set(${TARGET}_COMPILER_CLANG 1 PARENT_SCOPE) set(${TARGET}_COMPILER "xcode" PARENT_SCOPE) elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(${TARGET}_COMPILER_CLANG 1 PARENT_SCOPE) set(${TARGET}_COMPILER "clang" PARENT_SCOPE) elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") set(${TARGET}_COMPILER_GCC 1 PARENT_SCOPE) set(${TARGET}_COMPILER "gcc" PARENT_SCOPE) elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") set(${TARGET}_COMPILER_INTEL 1 PARENT_SCOPE) set(${TARGET}_COMPILER "intel" PARENT_SCOPE) else() message(FATAL_ERROR "Unsupported Compiler: ${CMAKE_CXX_COMPILER_ID}") endif() endfunction() function(pcapp_install_cmake_module MODULE) set(_PCAPPP_CONFIG_DEPENDENCY "${_PCAPPP_CONFIG_DEPENDENCY}if(NOT ${MODULE}_FOUND)\nfind_dependency(${MODULE})\nendif()\n" PARENT_SCOPE) install( FILES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/Find${MODULE}.cmake" COMPONENT devel DESTINATION "${PCAPPP_INSTALL_CMAKEDIR}") endfunction()