Move CMAKE_<LANG>_COMPILER_WORKS to compiler information files
Since the parent commit this test result is specific to the version of CMake. Store it in the version-specific compiler information files instead of CMakeCache.txt so testing can be re-done to meet the requirements of the current version of CMake even if another version of CMake was already used to configure the build tree.
This commit is contained in:
parent
7195aca54f
commit
3df81b4912
|
@ -9,6 +9,7 @@ set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
||||||
set(CMAKE_LINKER "@CMAKE_LINKER@")
|
set(CMAKE_LINKER "@CMAKE_LINKER@")
|
||||||
set(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
|
set(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
|
||||||
set(CMAKE_C_COMPILER_LOADED 1)
|
set(CMAKE_C_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_C_COMPILER_WORKS @CMAKE_C_COMPILER_WORKS@)
|
||||||
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
||||||
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
||||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
|
|
@ -9,6 +9,7 @@ set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
||||||
set(CMAKE_LINKER "@CMAKE_LINKER@")
|
set(CMAKE_LINKER "@CMAKE_LINKER@")
|
||||||
set(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
|
set(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
|
||||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS @CMAKE_CXX_COMPILER_WORKS@)
|
||||||
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
||||||
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
||||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
|
|
@ -46,7 +46,6 @@ macro(CMAKE_FORCE_C_COMPILER compiler id)
|
||||||
set(CMAKE_C_COMPILER "${compiler}")
|
set(CMAKE_C_COMPILER "${compiler}")
|
||||||
set(CMAKE_C_COMPILER_ID_RUN TRUE)
|
set(CMAKE_C_COMPILER_ID_RUN TRUE)
|
||||||
set(CMAKE_C_COMPILER_ID ${id})
|
set(CMAKE_C_COMPILER_ID ${id})
|
||||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
|
||||||
set(CMAKE_C_COMPILER_FORCED TRUE)
|
set(CMAKE_C_COMPILER_FORCED TRUE)
|
||||||
|
|
||||||
# Set old compiler id variables.
|
# Set old compiler id variables.
|
||||||
|
@ -59,7 +58,6 @@ macro(CMAKE_FORCE_CXX_COMPILER compiler id)
|
||||||
set(CMAKE_CXX_COMPILER "${compiler}")
|
set(CMAKE_CXX_COMPILER "${compiler}")
|
||||||
set(CMAKE_CXX_COMPILER_ID_RUN TRUE)
|
set(CMAKE_CXX_COMPILER_ID_RUN TRUE)
|
||||||
set(CMAKE_CXX_COMPILER_ID ${id})
|
set(CMAKE_CXX_COMPILER_ID ${id})
|
||||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
|
||||||
set(CMAKE_CXX_COMPILER_FORCED TRUE)
|
set(CMAKE_CXX_COMPILER_FORCED TRUE)
|
||||||
|
|
||||||
# Set old compiler id variables.
|
# Set old compiler id variables.
|
||||||
|
@ -72,7 +70,6 @@ macro(CMAKE_FORCE_Fortran_COMPILER compiler id)
|
||||||
set(CMAKE_Fortran_COMPILER "${compiler}")
|
set(CMAKE_Fortran_COMPILER "${compiler}")
|
||||||
set(CMAKE_Fortran_COMPILER_ID_RUN TRUE)
|
set(CMAKE_Fortran_COMPILER_ID_RUN TRUE)
|
||||||
set(CMAKE_Fortran_COMPILER_ID ${id})
|
set(CMAKE_Fortran_COMPILER_ID ${id})
|
||||||
set(CMAKE_Fortran_COMPILER_WORKS TRUE)
|
|
||||||
set(CMAKE_Fortran_COMPILER_FORCED TRUE)
|
set(CMAKE_Fortran_COMPILER_FORCED TRUE)
|
||||||
|
|
||||||
# Set old compiler id variables.
|
# Set old compiler id variables.
|
||||||
|
|
|
@ -7,6 +7,7 @@ set(CMAKE_AR "@CMAKE_AR@")
|
||||||
set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
||||||
set(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
|
set(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
|
||||||
set(CMAKE_Fortran_COMPILER_LOADED 1)
|
set(CMAKE_Fortran_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_Fortran_COMPILER_WORKS @CMAKE_Fortran_COMPILER_WORKS@)
|
||||||
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
|
||||||
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
|
||||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2003-2009 Kitware, Inc.
|
# Copyright 2003-2012 Kitware, Inc.
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -12,8 +12,19 @@
|
||||||
# (To distribute this file outside of CMake, substitute the full
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_FORCED)
|
||||||
|
# The compiler configuration was forced by the user.
|
||||||
|
# Assume the user has configured all compiler information.
|
||||||
|
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
include(CMakeTestCompilerCommon)
|
include(CMakeTestCompilerCommon)
|
||||||
|
|
||||||
|
# Remove any cached result from an older CMake version.
|
||||||
|
# We now store this in CMakeCCompiler.cmake.
|
||||||
|
unset(CMAKE_C_COMPILER_WORKS CACHE)
|
||||||
|
|
||||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
# determine that that selected C compiler can actually compile
|
# determine that that selected C compiler can actually compile
|
||||||
# and link the most basic of programs. If not, a fatal error
|
# and link the most basic of programs. If not, a fatal error
|
||||||
|
@ -36,6 +47,9 @@ if(NOT CMAKE_C_COMPILER_WORKS)
|
||||||
try_compile(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
try_compile(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
|
||||||
OUTPUT_VARIABLE __CMAKE_C_COMPILER_OUTPUT)
|
OUTPUT_VARIABLE __CMAKE_C_COMPILER_OUTPUT)
|
||||||
|
# Move result from cache to normal variable.
|
||||||
|
set(CMAKE_C_COMPILER_WORKS ${CMAKE_C_COMPILER_WORKS})
|
||||||
|
unset(CMAKE_C_COMPILER_WORKS CACHE)
|
||||||
set(C_TEST_WAS_RUN 1)
|
set(C_TEST_WAS_RUN 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -60,22 +74,19 @@ else()
|
||||||
"Determining if the C compiler works passed with "
|
"Determining if the C compiler works passed with "
|
||||||
"the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
|
"the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_C_COMPILER_WORKS 1 CACHE INTERNAL "")
|
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_FORCED)
|
# Try to identify the ABI and configure it into CMakeCCompiler.cmake
|
||||||
# The compiler configuration was forced by the user.
|
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
|
||||||
# Assume the user has configured all compiler information.
|
CMAKE_DETERMINE_COMPILER_ABI(C ${CMAKE_ROOT}/Modules/CMakeCCompilerABI.c)
|
||||||
else()
|
|
||||||
# Try to identify the ABI and configure it into CMakeCCompiler.cmake
|
# Re-configure to save learned information.
|
||||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
|
configure_file(
|
||||||
CMAKE_DETERMINE_COMPILER_ABI(C ${CMAKE_ROOT}/Modules/CMakeCCompilerABI.c)
|
${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
|
||||||
configure_file(
|
${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
|
||||||
${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
|
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
|
||||||
${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
|
)
|
||||||
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
|
include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake)
|
||||||
)
|
|
||||||
include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake)
|
|
||||||
endif()
|
|
||||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_C_ABI_FILES})
|
foreach(f ${CMAKE_C_ABI_FILES})
|
||||||
include(${f})
|
include(${f})
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2003-2009 Kitware, Inc.
|
# Copyright 2003-2012 Kitware, Inc.
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -12,8 +12,19 @@
|
||||||
# (To distribute this file outside of CMake, substitute the full
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_FORCED)
|
||||||
|
# The compiler configuration was forced by the user.
|
||||||
|
# Assume the user has configured all compiler information.
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
include(CMakeTestCompilerCommon)
|
include(CMakeTestCompilerCommon)
|
||||||
|
|
||||||
|
# Remove any cached result from an older CMake version.
|
||||||
|
# We now store this in CMakeCXXCompiler.cmake.
|
||||||
|
unset(CMAKE_CXX_COMPILER_WORKS CACHE)
|
||||||
|
|
||||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
# determine that that selected C++ compiler can actually compile
|
# determine that that selected C++ compiler can actually compile
|
||||||
# and link the most basic of programs. If not, a fatal error
|
# and link the most basic of programs. If not, a fatal error
|
||||||
|
@ -29,6 +40,9 @@ if(NOT CMAKE_CXX_COMPILER_WORKS)
|
||||||
try_compile(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
try_compile(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
|
||||||
OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
|
OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
|
||||||
|
# Move result from cache to normal variable.
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS ${CMAKE_CXX_COMPILER_WORKS})
|
||||||
|
unset(CMAKE_CXX_COMPILER_WORKS CACHE)
|
||||||
set(CXX_TEST_WAS_RUN 1)
|
set(CXX_TEST_WAS_RUN 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -53,22 +67,19 @@ else()
|
||||||
"Determining if the CXX compiler works passed with "
|
"Determining if the CXX compiler works passed with "
|
||||||
"the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
|
"the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_CXX_COMPILER_WORKS 1 CACHE INTERNAL "")
|
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_FORCED)
|
# Try to identify the ABI and configure it into CMakeCXXCompiler.cmake
|
||||||
# The compiler configuration was forced by the user.
|
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
|
||||||
# Assume the user has configured all compiler information.
|
CMAKE_DETERMINE_COMPILER_ABI(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp)
|
||||||
else()
|
|
||||||
# Try to identify the ABI and configure it into CMakeCXXCompiler.cmake
|
# Re-configure to save learned information.
|
||||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
|
configure_file(
|
||||||
CMAKE_DETERMINE_COMPILER_ABI(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp)
|
${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
|
||||||
configure_file(
|
${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
|
||||||
${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
|
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
|
||||||
${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
|
)
|
||||||
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
|
include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake)
|
||||||
)
|
|
||||||
include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake)
|
|
||||||
endif()
|
|
||||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_CXX_ABI_FILES})
|
foreach(f ${CMAKE_CXX_ABI_FILES})
|
||||||
include(${f})
|
include(${f})
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2004-2009 Kitware, Inc.
|
# Copyright 2004-2012 Kitware, Inc.
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -12,8 +12,19 @@
|
||||||
# (To distribute this file outside of CMake, substitute the full
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
|
if(CMAKE_Fortran_COMPILER_FORCED)
|
||||||
|
# The compiler configuration was forced by the user.
|
||||||
|
# Assume the user has configured all compiler information.
|
||||||
|
set(CMAKE_Fortran_COMPILER_WORKS TRUE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
include(CMakeTestCompilerCommon)
|
include(CMakeTestCompilerCommon)
|
||||||
|
|
||||||
|
# Remove any cached result from an older CMake version.
|
||||||
|
# We now store this in CMakeFortranCompiler.cmake.
|
||||||
|
unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
|
||||||
|
|
||||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
# determine that that selected Fortran compiler can actually compile
|
# determine that that selected Fortran compiler can actually compile
|
||||||
# and link the most basic of programs. If not, a fatal error
|
# and link the most basic of programs. If not, a fatal error
|
||||||
|
@ -29,6 +40,9 @@ if(NOT CMAKE_Fortran_COMPILER_WORKS)
|
||||||
try_compile(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
try_compile(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
OUTPUT_VARIABLE OUTPUT)
|
||||||
|
# Move result from cache to normal variable.
|
||||||
|
set(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_Fortran_COMPILER_WORKS})
|
||||||
|
unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
|
||||||
set(FORTRAN_TEST_WAS_RUN 1)
|
set(FORTRAN_TEST_WAS_RUN 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -48,50 +62,46 @@ else()
|
||||||
"Determining if the Fortran compiler works passed with "
|
"Determining if the Fortran compiler works passed with "
|
||||||
"the following output:\n${OUTPUT}\n\n")
|
"the following output:\n${OUTPUT}\n\n")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_Fortran_COMPILER_WORKS 1 CACHE INTERNAL "")
|
|
||||||
|
|
||||||
if(CMAKE_Fortran_COMPILER_FORCED)
|
# Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
|
||||||
# The compiler configuration was forced by the user.
|
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
|
||||||
# Assume the user has configured all compiler information.
|
CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
|
||||||
else()
|
|
||||||
# Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
|
|
||||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
|
|
||||||
CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
|
|
||||||
|
|
||||||
# Test for Fortran 90 support by using an f90-specific construct.
|
# Test for Fortran 90 support by using an f90-specific construct.
|
||||||
if(NOT DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
if(NOT DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||||
message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90")
|
message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90")
|
||||||
file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90 "
|
file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90 "
|
||||||
PROGRAM TESTFortran90
|
PROGRAM TESTFortran90
|
||||||
stop = 1 ; do while ( stop .eq. 0 ) ; end do
|
stop = 1 ; do while ( stop .eq. 0 ) ; end do
|
||||||
END PROGRAM TESTFortran90
|
END PROGRAM TESTFortran90
|
||||||
")
|
")
|
||||||
try_compile(CMAKE_Fortran_COMPILER_SUPPORTS_F90 ${CMAKE_BINARY_DIR}
|
try_compile(CMAKE_Fortran_COMPILER_SUPPORTS_F90 ${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
OUTPUT_VARIABLE OUTPUT)
|
||||||
if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||||
message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- yes")
|
message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- yes")
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||||
"Determining if the Fortran compiler supports Fortran 90 passed with "
|
"Determining if the Fortran compiler supports Fortran 90 passed with "
|
||||||
"the following output:\n${OUTPUT}\n\n")
|
"the following output:\n${OUTPUT}\n\n")
|
||||||
set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 1)
|
set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 1)
|
||||||
else()
|
else()
|
||||||
message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- no")
|
message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- no")
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||||
"Determining if the Fortran compiler supports Fortran 90 failed with "
|
"Determining if the Fortran compiler supports Fortran 90 failed with "
|
||||||
"the following output:\n${OUTPUT}\n\n")
|
"the following output:\n${OUTPUT}\n\n")
|
||||||
set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0)
|
set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0)
|
||||||
endif()
|
|
||||||
unset(CMAKE_Fortran_COMPILER_SUPPORTS_F90 CACHE)
|
|
||||||
endif()
|
endif()
|
||||||
|
unset(CMAKE_Fortran_COMPILER_SUPPORTS_F90 CACHE)
|
||||||
configure_file(
|
|
||||||
${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
|
|
||||||
${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
|
|
||||||
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
|
|
||||||
)
|
|
||||||
include(${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Re-configure to save learned information.
|
||||||
|
configure_file(
|
||||||
|
${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
|
||||||
|
${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
|
||||||
|
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
|
||||||
|
)
|
||||||
|
include(${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake)
|
||||||
|
|
||||||
if(CMAKE_Fortran_SIZEOF_DATA_PTR)
|
if(CMAKE_Fortran_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_Fortran_ABI_FILES})
|
foreach(f ${CMAKE_Fortran_ABI_FILES})
|
||||||
include(${f})
|
include(${f})
|
||||||
|
|
Loading…
Reference in New Issue