mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-04 14:50:23 +00:00
IPO: Support duplicate object names in large archives
Apply the fix from commit 1ec6485c6a (Support duplicate object names in
large archives, 2014-04-16, v3.1.0-rc1~629^2) to the IPO-specific
archiving rules. Use "quick append" instead of "replace".
Fixes: #25675
Issue: #14874
This commit is contained in:
committed by
Brad King
parent
105cb4ee02
commit
2d72a861d7
@@ -95,11 +95,11 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
||||||
"\"${__ar}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${__ar}\" qc <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
||||||
"\"${__ar}\" r <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${__ar}\" q <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
||||||
|
|||||||
@@ -168,11 +168,11 @@ macro(__compiler_gnu lang)
|
|||||||
#
|
#
|
||||||
# [1]: https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Optimize-Options.html
|
# [1]: https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Optimize-Options.html
|
||||||
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
||||||
"\"${CMAKE_${lang}_COMPILER_AR}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${CMAKE_${lang}_COMPILER_AR}\" qc <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
||||||
"\"${CMAKE_${lang}_COMPILER_AR}\" r <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${CMAKE_${lang}_COMPILER_AR}\" q <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
||||||
|
|||||||
@@ -58,11 +58,11 @@ macro(__compiler_ibmclang lang)
|
|||||||
set(__ranlib "${CMAKE_${lang}_COMPILER_RANLIB}")
|
set(__ranlib "${CMAKE_${lang}_COMPILER_RANLIB}")
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
||||||
"\"${__ar}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${__ar}\" qc <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
||||||
"\"${__ar}\" r <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${__ar}\" q <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ set(__pch_header_OBJCXX "objective-c++-header")
|
|||||||
macro(__compiler_intel_llvm_common lang)
|
macro(__compiler_intel_llvm_common lang)
|
||||||
set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
|
set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
|
||||||
set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
|
set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
|
||||||
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO "\"${CMAKE_${lang}_COMPILER_AR}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO "\"${CMAKE_${lang}_COMPILER_AR}\" qc <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||||
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO "\"${CMAKE_${lang}_COMPILER_AR}\" r <TARGET> <LINK_FLAGS> <OBJECTS>")
|
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO "\"${CMAKE_${lang}_COMPILER_AR}\" q <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||||
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO "\"${CMAKE_${lang}_COMPILER_RANLIB}\" <TARGET>")
|
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO "\"${CMAKE_${lang}_COMPILER_RANLIB}\" <TARGET>")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ macro(__compiler_lcc lang)
|
|||||||
set(CMAKE_${lang}_COMPILE_OPTIONS_IPO ${__lto_flags})
|
set(CMAKE_${lang}_COMPILE_OPTIONS_IPO ${__lto_flags})
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
|
||||||
"\"${CMAKE_${lang}_COMPILER_AR}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${CMAKE_${lang}_COMPILER_AR}\" qc <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
|
||||||
"\"${CMAKE_${lang}_COMPILER_AR}\" r <TARGET> <LINK_FLAGS> <OBJECTS>"
|
"\"${CMAKE_${lang}_COMPILER_AR}\" q <TARGET> <LINK_FLAGS> <OBJECTS>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
|
||||||
|
|||||||
Reference in New Issue
Block a user