Merge topic 'select-compiler'
7e58e5b
Prefer generic system compilers by default for C, C++, and Fortran796e337
Factor common code out of CMakeDetermine(ASM|C|CXX|Fortran)Compilerb708f1a
CMakeDetermine(C|CXX)Compiler: Consider Clang compilers
This commit is contained in:
commit
0d28661999
|
@ -14,6 +14,8 @@
|
||||||
|
|
||||||
# determine the compiler to use for ASM programs
|
# determine the compiler to use for ASM programs
|
||||||
|
|
||||||
|
INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
|
||||||
|
|
||||||
IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
||||||
# prefer the environment variable ASM
|
# prefer the environment variable ASM
|
||||||
IF($ENV{ASM${ASM_DIALECT}} MATCHES ".+")
|
IF($ENV{ASM${ASM_DIALECT}} MATCHES ".+")
|
||||||
|
@ -22,42 +24,28 @@ IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
||||||
|
|
||||||
# finally list compilers to try
|
# finally list compilers to try
|
||||||
IF("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
|
IF("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
|
||||||
|
IF(NOT CMAKE_ASM_COMPILER_INIT)
|
||||||
IF(CMAKE_ASM_COMPILER_INIT)
|
|
||||||
SET(CMAKE_ASM_COMPILER_LIST ${CMAKE_ASM_COMPILER_INIT})
|
|
||||||
ELSE(CMAKE_ASM_COMPILER_INIT)
|
|
||||||
|
|
||||||
IF(CMAKE_C_COMPILER)
|
IF(CMAKE_C_COMPILER)
|
||||||
SET(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "The ASM compiler")
|
SET(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "The ASM compiler")
|
||||||
SET(CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
|
SET(CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
|
||||||
ELSEIF(CMAKE_CXX_COMPILER)
|
ELSEIF(CMAKE_CXX_COMPILER)
|
||||||
SET(CMAKE_ASM_COMPILER "${CMAKE_CXX_COMPILER}" CACHE FILEPATH "The ASM compiler")
|
SET(CMAKE_ASM_COMPILER "${CMAKE_CXX_COMPILER}" CACHE FILEPATH "The ASM compiler")
|
||||||
SET(CMAKE_ASM_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
|
SET(CMAKE_ASM_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
|
||||||
ELSE(CMAKE_CXX_COMPILER)
|
ELSE()
|
||||||
# List all default C and CXX compilers
|
# List all default C and CXX compilers
|
||||||
SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl bcc xlc
|
SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST
|
||||||
${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl bcc xlC)
|
${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc
|
||||||
ENDIF(CMAKE_C_COMPILER)
|
CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC)
|
||||||
|
ENDIF()
|
||||||
ENDIF(CMAKE_ASM_COMPILER_INIT)
|
ENDIF()
|
||||||
|
ELSE() # some specific assembler "dialect"
|
||||||
|
IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
|
||||||
ELSE("ASM${ASM_DIALECT}" STREQUAL "ASM") # some specific assembler "dialect"
|
|
||||||
|
|
||||||
IF(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
|
|
||||||
SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT})
|
|
||||||
ELSE(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
|
|
||||||
MESSAGE(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT must be preset !")
|
MESSAGE(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT must be preset !")
|
||||||
ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
ENDIF("ASM${ASM_DIALECT}" STREQUAL "ASM")
|
|
||||||
|
|
||||||
|
|
||||||
# Find the compiler.
|
# Find the compiler.
|
||||||
IF (_CMAKE_USER_CXX_COMPILER_PATH OR _CMAKE_USER_C_COMPILER_PATH)
|
_cmake_find_compiler(ASM${ASM_DIALECT})
|
||||||
FIND_PROGRAM(CMAKE_ASM${ASM_DIALECT}_COMPILER NAMES ${CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST} PATHS ${_CMAKE_USER_C_COMPILER_PATH} ${_CMAKE_USER_CXX_COMPILER_PATH} DOC "Assembler" NO_DEFAULT_PATH)
|
|
||||||
ENDIF (_CMAKE_USER_CXX_COMPILER_PATH OR _CMAKE_USER_C_COMPILER_PATH)
|
|
||||||
FIND_PROGRAM(CMAKE_ASM${ASM_DIALECT}_COMPILER NAMES ${CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST} PATHS ${_CMAKE_TOOLCHAIN_LOCATION} DOC "Assembler")
|
|
||||||
|
|
||||||
ELSE(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
ELSE(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,14 @@
|
||||||
# If not already set before, it also sets
|
# If not already set before, it also sets
|
||||||
# _CMAKE_TOOLCHAIN_PREFIX
|
# _CMAKE_TOOLCHAIN_PREFIX
|
||||||
|
|
||||||
|
INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
|
||||||
|
|
||||||
|
# Load system-specific compiler preferences for this language.
|
||||||
|
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL)
|
||||||
|
IF(NOT CMAKE_C_COMPILER_NAMES)
|
||||||
|
SET(CMAKE_C_COMPILER_NAMES cc)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(NOT CMAKE_C_COMPILER)
|
IF(NOT CMAKE_C_COMPILER)
|
||||||
SET(CMAKE_C_COMPILER_INIT NOTFOUND)
|
SET(CMAKE_C_COMPILER_INIT NOTFOUND)
|
||||||
|
|
||||||
|
@ -53,21 +61,12 @@ IF(NOT CMAKE_C_COMPILER)
|
||||||
ENDIF(CMAKE_GENERATOR_CC)
|
ENDIF(CMAKE_GENERATOR_CC)
|
||||||
|
|
||||||
# finally list compilers to try
|
# finally list compilers to try
|
||||||
IF(CMAKE_C_COMPILER_INIT)
|
IF(NOT CMAKE_C_COMPILER_INIT)
|
||||||
SET(CMAKE_C_COMPILER_LIST ${CMAKE_C_COMPILER_INIT})
|
SET(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc clang)
|
||||||
ELSE(CMAKE_C_COMPILER_INIT)
|
ENDIF()
|
||||||
SET(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl bcc xlc)
|
|
||||||
ENDIF(CMAKE_C_COMPILER_INIT)
|
|
||||||
|
|
||||||
# Find the compiler.
|
_cmake_find_compiler(C)
|
||||||
IF (_CMAKE_USER_CXX_COMPILER_PATH)
|
|
||||||
FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} PATHS ${_CMAKE_USER_CXX_COMPILER_PATH} DOC "C compiler" NO_DEFAULT_PATH)
|
|
||||||
ENDIF (_CMAKE_USER_CXX_COMPILER_PATH)
|
|
||||||
FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} DOC "C compiler")
|
|
||||||
|
|
||||||
IF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
|
|
||||||
SET(CMAKE_C_COMPILER "${CMAKE_C_COMPILER_INIT}" CACHE FILEPATH "C compiler" FORCE)
|
|
||||||
ENDIF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
|
|
||||||
ELSE(NOT CMAKE_C_COMPILER)
|
ELSE(NOT CMAKE_C_COMPILER)
|
||||||
|
|
||||||
# we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt
|
# we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt
|
||||||
|
|
|
@ -30,6 +30,14 @@
|
||||||
# If not already set before, it also sets
|
# If not already set before, it also sets
|
||||||
# _CMAKE_TOOLCHAIN_PREFIX
|
# _CMAKE_TOOLCHAIN_PREFIX
|
||||||
|
|
||||||
|
INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
|
||||||
|
|
||||||
|
# Load system-specific compiler preferences for this language.
|
||||||
|
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL)
|
||||||
|
IF(NOT CMAKE_CXX_COMPILER_NAMES)
|
||||||
|
SET(CMAKE_CXX_COMPILER_NAMES CC)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(NOT CMAKE_CXX_COMPILER)
|
IF(NOT CMAKE_CXX_COMPILER)
|
||||||
SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
|
SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
|
||||||
|
|
||||||
|
@ -52,21 +60,11 @@ IF(NOT CMAKE_CXX_COMPILER)
|
||||||
ENDIF(CMAKE_GENERATOR_CXX)
|
ENDIF(CMAKE_GENERATOR_CXX)
|
||||||
|
|
||||||
# finally list compilers to try
|
# finally list compilers to try
|
||||||
IF(CMAKE_CXX_COMPILER_INIT)
|
IF(NOT CMAKE_CXX_COMPILER_INIT)
|
||||||
SET(CMAKE_CXX_COMPILER_LIST ${CMAKE_CXX_COMPILER_INIT})
|
SET(CMAKE_CXX_COMPILER_LIST CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC clang++)
|
||||||
ELSE(CMAKE_CXX_COMPILER_INIT)
|
ENDIF()
|
||||||
SET(CMAKE_CXX_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl bcc xlC)
|
|
||||||
ENDIF(CMAKE_CXX_COMPILER_INIT)
|
|
||||||
|
|
||||||
# Find the compiler.
|
_cmake_find_compiler(CXX)
|
||||||
IF (_CMAKE_USER_C_COMPILER_PATH)
|
|
||||||
FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} PATHS ${_CMAKE_USER_C_COMPILER_PATH} DOC "C++ compiler" NO_DEFAULT_PATH)
|
|
||||||
ENDIF (_CMAKE_USER_C_COMPILER_PATH)
|
|
||||||
FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} DOC "C++ compiler")
|
|
||||||
|
|
||||||
IF(CMAKE_CXX_COMPILER_INIT AND NOT CMAKE_CXX_COMPILER)
|
|
||||||
SET(CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER_INIT}" CACHE FILEPATH "C++ compiler" FORCE)
|
|
||||||
ENDIF(CMAKE_CXX_COMPILER_INIT AND NOT CMAKE_CXX_COMPILER)
|
|
||||||
ELSE(NOT CMAKE_CXX_COMPILER)
|
ELSE(NOT CMAKE_CXX_COMPILER)
|
||||||
|
|
||||||
# we only get here if CMAKE_CXX_COMPILER was specified using -D or a pre-made CMakeCache.txt
|
# we only get here if CMAKE_CXX_COMPILER was specified using -D or a pre-made CMakeCache.txt
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2004-2012 Kitware, Inc.
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
# see accompanying file Copyright.txt for details.
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
|
# License text for the above reference.)
|
||||||
|
|
||||||
|
macro(_cmake_find_compiler lang)
|
||||||
|
# Use already-enabled languages for reference.
|
||||||
|
get_property(_languages GLOBAL PROPERTY ENABLED_LANGUAGES)
|
||||||
|
list(REMOVE_ITEM _languages "${lang}")
|
||||||
|
|
||||||
|
if(CMAKE_${lang}_COMPILER_INIT)
|
||||||
|
# Search only for the specified compiler.
|
||||||
|
set(CMAKE_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_INIT}")
|
||||||
|
else()
|
||||||
|
# Re-order the compiler list with preferred vendors first.
|
||||||
|
set(_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_LIST}")
|
||||||
|
set(CMAKE_${lang}_COMPILER_LIST "")
|
||||||
|
# Prefer vendors of compilers from reference languages.
|
||||||
|
foreach(l ${_languages})
|
||||||
|
list(APPEND CMAKE_${lang}_COMPILER_LIST
|
||||||
|
${_${lang}_COMPILER_NAMES_${CMAKE_${l}_COMPILER_ID}})
|
||||||
|
endforeach()
|
||||||
|
# Prefer vendors based on the platform.
|
||||||
|
list(APPEND CMAKE_${lang}_COMPILER_LIST ${CMAKE_${lang}_COMPILER_NAMES})
|
||||||
|
# Append the rest of the list and remove duplicates.
|
||||||
|
list(APPEND CMAKE_${lang}_COMPILER_LIST ${_${lang}_COMPILER_LIST})
|
||||||
|
unset(_${lang}_COMPILER_LIST)
|
||||||
|
list(REMOVE_DUPLICATES CMAKE_${lang}_COMPILER_LIST)
|
||||||
|
if(CMAKE_${lang}_COMPILER_EXCLUDE)
|
||||||
|
list(REMOVE_ITEM CMAKE_${lang}_COMPILER_LIST
|
||||||
|
${CMAKE_${lang}_COMPILER_EXCLUDE})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Look for directories containing compilers of reference languages.
|
||||||
|
set(_${lang}_COMPILER_HINTS)
|
||||||
|
foreach(l ${_languages})
|
||||||
|
if(CMAKE_${l}_COMPILER AND IS_ABSOLUTE "${CMAKE_${l}_COMPILER}")
|
||||||
|
get_filename_component(_hint "${CMAKE_${l}_COMPILER}" PATH)
|
||||||
|
if(IS_DIRECTORY "${_hint}")
|
||||||
|
list(APPEND _${lang}_COMPILER_HINTS "${_hint}")
|
||||||
|
endif()
|
||||||
|
unset(_hint)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Find the compiler.
|
||||||
|
if(_${lang}_COMPILER_HINTS)
|
||||||
|
# Prefer directories containing compilers of reference languages.
|
||||||
|
list(REMOVE_DUPLICATES _${lang}_COMPILER_HINTS)
|
||||||
|
find_program(CMAKE_${lang}_COMPILER
|
||||||
|
NAMES ${CMAKE_${lang}_COMPILER_LIST}
|
||||||
|
PATHS ${_${lang}_COMPILER_HINTS}
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
DOC "${lang} compiler")
|
||||||
|
endif()
|
||||||
|
find_program(CMAKE_${lang}_COMPILER NAMES ${CMAKE_${lang}_COMPILER_LIST} DOC "${lang} compiler")
|
||||||
|
if(CMAKE_${lang}_COMPILER_INIT AND NOT CMAKE_${lang}_COMPILER)
|
||||||
|
set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER_INIT}" CACHE FILEPATH "${lang} compiler" FORCE)
|
||||||
|
endif()
|
||||||
|
unset(_${lang}_COMPILER_HINTS)
|
||||||
|
unset(_languages)
|
||||||
|
endmacro()
|
|
@ -19,6 +19,12 @@
|
||||||
# the cmake variable CMAKE_GENERATOR_FC which can be defined by a generator
|
# the cmake variable CMAKE_GENERATOR_FC which can be defined by a generator
|
||||||
# as a default compiler
|
# as a default compiler
|
||||||
|
|
||||||
|
INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
|
||||||
|
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-Fortran OPTIONAL)
|
||||||
|
IF(NOT CMAKE_Fortran_COMPILER_NAMES)
|
||||||
|
SET(CMAKE_Fortran_COMPILER_NAMES f95)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(NOT CMAKE_Fortran_COMPILER)
|
IF(NOT CMAKE_Fortran_COMPILER)
|
||||||
# prefer the environment variable CC
|
# prefer the environment variable CC
|
||||||
IF($ENV{FC} MATCHES ".+")
|
IF($ENV{FC} MATCHES ".+")
|
||||||
|
@ -40,9 +46,7 @@ IF(NOT CMAKE_Fortran_COMPILER)
|
||||||
ENDIF(CMAKE_GENERATOR_FC)
|
ENDIF(CMAKE_GENERATOR_FC)
|
||||||
|
|
||||||
# finally list compilers to try
|
# finally list compilers to try
|
||||||
IF(CMAKE_Fortran_COMPILER_INIT)
|
IF(NOT CMAKE_Fortran_COMPILER_INIT)
|
||||||
SET(CMAKE_Fortran_COMPILER_LIST ${CMAKE_Fortran_COMPILER_INIT})
|
|
||||||
ELSE(CMAKE_Fortran_COMPILER_INIT)
|
|
||||||
# Known compilers:
|
# Known compilers:
|
||||||
# f77/f90/f95: generic compiler names
|
# f77/f90/f95: generic compiler names
|
||||||
# g77: GNU Fortran 77 compiler
|
# g77: GNU Fortran 77 compiler
|
||||||
|
@ -77,41 +81,10 @@ IF(NOT CMAKE_Fortran_COMPILER)
|
||||||
SET(_Fortran_COMPILER_NAMES_PathScale pathf2003 pathf95 pathf90)
|
SET(_Fortran_COMPILER_NAMES_PathScale pathf2003 pathf95 pathf90)
|
||||||
SET(_Fortran_COMPILER_NAMES_XL xlf)
|
SET(_Fortran_COMPILER_NAMES_XL xlf)
|
||||||
SET(_Fortran_COMPILER_NAMES_VisualAge xlf95 xlf90 xlf)
|
SET(_Fortran_COMPILER_NAMES_VisualAge xlf95 xlf90 xlf)
|
||||||
|
|
||||||
# Prefer vendors matching the C and C++ compilers.
|
|
||||||
SET(CMAKE_Fortran_COMPILER_LIST
|
|
||||||
${_Fortran_COMPILER_NAMES_${CMAKE_C_COMPILER_ID}}
|
|
||||||
${_Fortran_COMPILER_NAMES_${CMAKE_CXX_COMPILER_ID}}
|
|
||||||
${CMAKE_Fortran_COMPILER_LIST})
|
|
||||||
LIST(REMOVE_DUPLICATES CMAKE_Fortran_COMPILER_LIST)
|
|
||||||
ENDIF(CMAKE_Fortran_COMPILER_INIT)
|
|
||||||
|
|
||||||
# Look for directories containing the C and C++ compilers.
|
|
||||||
SET(_Fortran_COMPILER_HINTS)
|
|
||||||
FOREACH(lang C CXX)
|
|
||||||
IF(CMAKE_${lang}_COMPILER AND IS_ABSOLUTE "${CMAKE_${lang}_COMPILER}")
|
|
||||||
GET_FILENAME_COMPONENT(_hint "${CMAKE_${lang}_COMPILER}" PATH)
|
|
||||||
IF(IS_DIRECTORY "${_hint}")
|
|
||||||
LIST(APPEND _Fortran_COMPILER_HINTS "${_hint}")
|
|
||||||
ENDIF()
|
|
||||||
SET(_hint)
|
|
||||||
ENDIF()
|
|
||||||
ENDFOREACH()
|
|
||||||
|
|
||||||
# Find the compiler.
|
|
||||||
IF(_Fortran_COMPILER_HINTS)
|
|
||||||
# Prefer directories containing C and C++ compilers.
|
|
||||||
LIST(REMOVE_DUPLICATES _Fortran_COMPILER_HINTS)
|
|
||||||
FIND_PROGRAM(CMAKE_Fortran_COMPILER
|
|
||||||
NAMES ${CMAKE_Fortran_COMPILER_LIST}
|
|
||||||
PATHS ${_Fortran_COMPILER_HINTS}
|
|
||||||
NO_DEFAULT_PATH
|
|
||||||
DOC "Fortran compiler")
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
FIND_PROGRAM(CMAKE_Fortran_COMPILER NAMES ${CMAKE_Fortran_COMPILER_LIST} DOC "Fortran compiler")
|
|
||||||
IF(CMAKE_Fortran_COMPILER_INIT AND NOT CMAKE_Fortran_COMPILER)
|
_cmake_find_compiler(Fortran)
|
||||||
SET(CMAKE_Fortran_COMPILER "${CMAKE_Fortran_COMPILER_INIT}" CACHE FILEPATH "Fortran compiler" FORCE)
|
|
||||||
ENDIF(CMAKE_Fortran_COMPILER_INIT AND NOT CMAKE_Fortran_COMPILER)
|
|
||||||
ELSE(NOT CMAKE_Fortran_COMPILER)
|
ELSE(NOT CMAKE_Fortran_COMPILER)
|
||||||
# we only get here if CMAKE_Fortran_COMPILER was specified using -D or a pre-made CMakeCache.txt
|
# we only get here if CMAKE_Fortran_COMPILER was specified using -D or a pre-made CMakeCache.txt
|
||||||
# (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
|
# (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
if(NOT CMAKE_CXX_COMPILER_NAMES)
|
||||||
|
set(CMAKE_CXX_COMPILER_NAMES c++)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Exclude C++ compilers differing from C compiler only by case
|
||||||
|
# because this platform may have a case-insensitive filesystem.
|
||||||
|
set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
|
|
@ -0,0 +1,7 @@
|
||||||
|
if(NOT CMAKE_CXX_COMPILER_NAMES)
|
||||||
|
set(CMAKE_CXX_COMPILER_NAMES c++)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Exclude C++ compilers differing from C compiler only by case
|
||||||
|
# because this platform may have a case-insensitive filesystem.
|
||||||
|
set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
|
|
@ -0,0 +1,3 @@
|
||||||
|
if(NOT CMAKE_CXX_COMPILER_NAMES)
|
||||||
|
set(CMAKE_CXX_COMPILER_NAMES c++)
|
||||||
|
endif()
|
|
@ -0,0 +1,7 @@
|
||||||
|
if(NOT CMAKE_CXX_COMPILER_NAMES)
|
||||||
|
set(CMAKE_CXX_COMPILER_NAMES c++)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Exclude C++ compilers differing from C compiler only by case
|
||||||
|
# because this platform may have a case-insensitive filesystem.
|
||||||
|
set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
|
Loading…
Reference in New Issue