From 797e49a1cc53fb120fad286665c875075eb18361 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 23 Jul 2009 10:06:31 -0400 Subject: ENH: Load platform-independent per-compiler files This teaches the language configuration modules to load per-compiler information for each language using the compiler id but no system name. They look for modules named "Compiler/-.cmake". Such modules may specify compiler flags that do not depend on the platform. --- Modules/CMakeCInformation.cmake | 6 ++++++ Modules/CMakeCXXInformation.cmake | 5 +++++ Modules/CMakeFortranInformation.cmake | 5 +++++ 3 files changed, 16 insertions(+) diff --git a/Modules/CMakeCInformation.cmake b/Modules/CMakeCInformation.cmake index bb3142c..e163b30 100644 --- a/Modules/CMakeCInformation.cmake +++ b/Modules/CMakeCInformation.cmake @@ -12,6 +12,12 @@ IF(UNIX) ELSE(UNIX) SET(CMAKE_C_OUTPUT_EXTENSION .obj) ENDIF(UNIX) + +# Load compiler-specific information. +IF(CMAKE_C_COMPILER_ID) + INCLUDE(Compiler/${CMAKE_C_COMPILER_ID}-C OPTIONAL) +ENDIF(CMAKE_C_COMPILER_ID) + SET(CMAKE_BASE_NAME) GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_C_COMPILER} NAME_WE) IF(CMAKE_COMPILER_IS_GNUCC) diff --git a/Modules/CMakeCXXInformation.cmake b/Modules/CMakeCXXInformation.cmake index a5923a3..4f536e6 100644 --- a/Modules/CMakeCXXInformation.cmake +++ b/Modules/CMakeCXXInformation.cmake @@ -13,6 +13,11 @@ ELSE(UNIX) SET(CMAKE_CXX_OUTPUT_EXTENSION .obj) ENDIF(UNIX) +# Load compiler-specific information. +IF(CMAKE_CXX_COMPILER_ID) + INCLUDE(Compiler/${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL) +ENDIF(CMAKE_CXX_COMPILER_ID) + SET(CMAKE_BASE_NAME) GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE) # since the gnu compiler has several names force g++ diff --git a/Modules/CMakeFortranInformation.cmake b/Modules/CMakeFortranInformation.cmake index 25ebe21..443d71e 100644 --- a/Modules/CMakeFortranInformation.cmake +++ b/Modules/CMakeFortranInformation.cmake @@ -3,6 +3,11 @@ # It also loads the available platform file for the system-compiler # if it exists. +# Load compiler-specific information. +IF(CMAKE_Fortran_COMPILER_ID) + INCLUDE(Compiler/${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL) +ENDIF(CMAKE_Fortran_COMPILER_ID) + SET(CMAKE_BASE_NAME) GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER} NAME_WE) # since the gnu compiler has several names force g++ -- cgit v0.12