mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
FortranCInterface: Fix misuse of IS_NEWER_THAN in timestamp check
When using a file system which only has second resolution timestamps, there is a reasonably high likelihood of timestamps being the same. The IS_NEWER_THAN test returns true when timestamps are the same, so don't redo detection when they match exactly.
This commit is contained in:
@@ -6,14 +6,17 @@ configure_file(${FortranCInterface_SOURCE_DIR}/Input.cmake.in
|
||||
|
||||
# Detect the Fortran/C interface on the first run or when the
|
||||
# configuration changes.
|
||||
if(${FortranCInterface_BINARY_DIR}/Input.cmake
|
||||
IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
OR ${FortranCInterface_SOURCE_DIR}/Output.cmake.in
|
||||
IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
OR ${FortranCInterface_SOURCE_DIR}/CMakeLists.txt
|
||||
IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
OR ${CMAKE_CURRENT_LIST_FILE}
|
||||
IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
if(NOT EXISTS ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
OR NOT EXISTS ${FortranCInterface_BINARY_DIR}/Input.cmake
|
||||
OR NOT EXISTS ${FortranCInterface_BINARY_DIR}/Output.cmake.in
|
||||
OR NOT ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Input.cmake
|
||||
OR NOT ${FortranCInterface_SOURCE_DIR}/Output.cmake
|
||||
IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake.in
|
||||
OR NOT ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
IS_NEWER_THAN ${FortranCInterface_SOURCE_DIR}/CMakeLists.txt
|
||||
OR NOT ${FortranCInterface_BINARY_DIR}/Output.cmake
|
||||
IS_NEWER_THAN ${CMAKE_CURRENT_LIST_FILE}
|
||||
)
|
||||
message(CHECK_START "Detecting Fortran/C Interface")
|
||||
else()
|
||||
|
Reference in New Issue
Block a user