Libraries processing: update configuration wording
This commit is contained in:
parent
c3821911f8
commit
5617c34c31
@ -17,7 +17,7 @@ macro(__aix_compiler_gnu lang)
|
||||
set(CMAKE_${lang}_VERBOSE_LINK_FLAG "-Wl,-v")
|
||||
|
||||
set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath")
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE UNICITY=ALL)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
|
||||
if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 7 OR CMAKE_SYSTEM_VERSION VERSION_LESS 7.1)
|
||||
unset(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY)
|
||||
|
@ -17,7 +17,7 @@ macro(__aix_compiler_xl lang)
|
||||
set(CMAKE_SHARED_MODULE_${lang}_FLAGS " ")
|
||||
|
||||
set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath")
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE UNICITY=ALL)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
|
||||
set(_OBJECTS " <OBJECTS>")
|
||||
if(DEFINED CMAKE_XL_CreateExportList AND CMAKE_XL_CreateExportList STREQUAL "")
|
||||
|
@ -15,7 +15,7 @@ macro(__apple_compiler_clang lang)
|
||||
set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
|
||||
endif()
|
||||
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE UNICITY=ALL)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
|
||||
set(CMAKE_${lang}_LINK_LIBRARY_USING_FRAMEWORK "-framework <LIBRARY>")
|
||||
set(CMAKE_${lang}_LINK_LIBRARY_USING_FRAMEWORK_SUPPORTED TRUE)
|
||||
|
@ -55,7 +55,7 @@ macro(__windows_compiler_clang_gnu lang)
|
||||
set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
|
||||
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
|
||||
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD UNICITY=ALL)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD DEDUPLICATION=ALL)
|
||||
|
||||
# linker selection
|
||||
set(CMAKE_${lang}_USING_LINKER_DEFAULT "-fuse-ld=lld-link")
|
||||
|
@ -514,7 +514,7 @@ macro(__windows_compiler_msvc lang)
|
||||
set(CMAKE_${lang}_DEPFILE_FORMAT msvc)
|
||||
endif()
|
||||
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD UNICITY=ALL)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD DEDUPLICATION=ALL)
|
||||
|
||||
# linker selection
|
||||
set(CMAKE_${lang}_USING_LINKER_SYSTEM "${CMAKE_LINKER_LINK}")
|
||||
|
@ -376,8 +376,10 @@ public:
|
||||
case cmPolicies::NEW: {
|
||||
if (auto libProcessing = makefile->GetDefinition(cmStrCat(
|
||||
"CMAKE_", linkLanguage, "_LINK_LIBRARIES_PROCESSING"))) {
|
||||
// UNICITY keyword is just for compatibility with previous
|
||||
// implementation
|
||||
cmsys::RegularExpression processingOption{
|
||||
"^(ORDER|UNICITY)=(FORWARD|REVERSE|ALL|NONE|SHARED)$"
|
||||
"^(ORDER|UNICITY|DEDUPLICATION)=(FORWARD|REVERSE|ALL|NONE|SHARED)$"
|
||||
};
|
||||
std::string errorMessage;
|
||||
for (auto const& option : cmList{ libProcessing }) {
|
||||
@ -390,13 +392,14 @@ public:
|
||||
} else {
|
||||
errorMessage += cmStrCat(" ", option, '\n');
|
||||
}
|
||||
} else if (processingOption.match(1) == "UNICITY") {
|
||||
} else if (processingOption.match(1) == "UNICITY" ||
|
||||
processingOption.match(1) == "DEDUPLICATION") {
|
||||
if (processingOption.match(2) == "ALL") {
|
||||
this->Unicity = All;
|
||||
this->Deduplication = All;
|
||||
} else if (processingOption.match(2) == "NONE") {
|
||||
this->Unicity = None;
|
||||
this->Deduplication = None;
|
||||
} else if (processingOption.match(2) == "SHARED") {
|
||||
this->Unicity = Shared;
|
||||
this->Deduplication = Shared;
|
||||
} else {
|
||||
errorMessage += cmStrCat(" ", option, '\n');
|
||||
}
|
||||
@ -499,7 +502,7 @@ private:
|
||||
Reverse
|
||||
};
|
||||
|
||||
enum UnicityKind
|
||||
enum DeduplicationKind
|
||||
{
|
||||
None,
|
||||
Shared,
|
||||
@ -520,11 +523,11 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
return this->Unicity == None ||
|
||||
(this->Unicity == Shared &&
|
||||
return this->Deduplication == None ||
|
||||
(this->Deduplication == Shared &&
|
||||
(entry.Target == nullptr ||
|
||||
entry.Target->GetType() != cmStateEnums::SHARED_LIBRARY)) ||
|
||||
(this->Unicity == All && entry.Kind != LinkEntry::Library);
|
||||
(this->Deduplication == All && entry.Kind != LinkEntry::Library);
|
||||
}
|
||||
|
||||
template <typename Range>
|
||||
@ -539,7 +542,7 @@ private:
|
||||
}
|
||||
|
||||
OrderKind Order = Reverse;
|
||||
UnicityKind Unicity = Shared;
|
||||
DeduplicationKind Deduplication = Shared;
|
||||
const cmGeneratorTarget* Target;
|
||||
const std::string& LinkLanguage;
|
||||
EntryVector& Entries;
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING ORDER= UNICITY=ALL)
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING ORDER= DEDUPLICATION=ALL)
|
||||
|
||||
add_library(lib STATIC lib.c)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING UNICITY=ALL ORDER)
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING DEDUPLICATION=ALL ORDER)
|
||||
|
||||
add_library(lib STATIC lib.c)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING WRONG=REVERSE UNICITY=ALL)
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING WRONG=REVERSE DEDUPLICATION=ALL)
|
||||
|
||||
add_library(lib STATIC lib.c)
|
||||
|
||||
|
@ -2,7 +2,7 @@ CMake Error at InvalidConfiguration4.cmake:[0-9]+ \(add_executable\):
|
||||
Erroneous option\(s\) for 'CMAKE_C_LINK_LIBRARIES_PROCESSING':
|
||||
|
||||
WRONG=REVERSE
|
||||
UNICITY=WRONG
|
||||
DEDUPLICATION=WRONG
|
||||
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:[0-9]+ \(include\)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING WRONG=REVERSE UNICITY=WRONG)
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING WRONG=REVERSE DEDUPLICATION=WRONG)
|
||||
|
||||
add_library(lib STATIC lib.c)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
CMake Error at Invalid_UNICITY.cmake:[0-9]+ \(add_executable\):
|
||||
CMake Error at Invalid_DEDUPLICATION.cmake:[0-9]+ \(add_executable\):
|
||||
Erroneous option\(s\) for 'CMAKE_C_LINK_LIBRARIES_PROCESSING':
|
||||
|
||||
UNICITY=WRONG
|
||||
DEDUPLICATION=WRONG
|
||||
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:[0-9]+ \(include\)
|
@ -1,7 +1,7 @@
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING ORDER=REVERSE UNICITY=WRONG)
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=WRONG)
|
||||
|
||||
add_library(lib STATIC lib.c)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING ORDER=WRONG UNICITY=ALL)
|
||||
set(CMAKE_C_LINK_LIBRARIES_PROCESSING ORDER=WRONG DEDUPLICATION=ALL)
|
||||
|
||||
add_library(lib STATIC lib.c)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
include(RunCMake)
|
||||
|
||||
run_cmake(Invalid_ORDER)
|
||||
run_cmake(Invalid_UNICITY)
|
||||
run_cmake(Invalid_DEDUPLICATION)
|
||||
run_cmake(InvalidConfiguration1)
|
||||
run_cmake(InvalidConfiguration2)
|
||||
run_cmake(InvalidConfiguration3)
|
||||
|
Loading…
Reference in New Issue
Block a user