summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-03-11 14:03:53 (GMT)
committerBrad King <brad.king@kitware.com>2010-03-11 14:46:18 (GMT)
commit00477de1c92d94e78cebdaf6c29ff2847207f454 (patch)
tree80dc45b0b42040fd0c828c4e02178755adfb4cae /Modules/Platform
parentf9268c9c818dbf4aec3d7a8d6dd8fbea7da96021 (diff)
downloadCMake-00477de1c92d94e78cebdaf6c29ff2847207f454.zip
CMake-00477de1c92d94e78cebdaf6c29ff2847207f454.tar.gz
CMake-00477de1c92d94e78cebdaf6c29ff2847207f454.tar.bz2
Use response file for objects on MinGW and MSYS
Windows command lines are limited to about 32K so we need to use response files for linking very large lists of object files. See issue #10401.
Diffstat (limited to 'Modules/Platform')
-rw-r--r--Modules/Platform/Windows-GNU-Fortran.cmake1
-rw-r--r--Modules/Platform/Windows-GNU.cmake2
2 files changed, 3 insertions, 0 deletions
diff --git a/Modules/Platform/Windows-GNU-Fortran.cmake b/Modules/Platform/Windows-GNU-Fortran.cmake
index c66feed..8273a19 100644
--- a/Modules/Platform/Windows-GNU-Fortran.cmake
+++ b/Modules/Platform/Windows-GNU-Fortran.cmake
@@ -1,2 +1,3 @@
include(Platform/Windows-GNU)
__windows_compiler_gnu(Fortran)
+set(CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 0)
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index 6d84940..af03841 100644
--- a/Modules/Platform/Windows-GNU.cmake
+++ b/Modules/Platform/Windows-GNU.cmake
@@ -68,6 +68,8 @@ macro(__windows_compiler_gnu lang)
endif()
set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "") # No -fPIC on Windows
+ set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
+ set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-Wl,@")
# Binary link rules.
set(CMAKE_${lang}_CREATE_SHARED_MODULE