Libraries processing: update configuration wording

This commit is contained in:
Marc Chevrier
2024-06-16 15:37:37 +02:00
parent c3821911f8
commit 5617c34c31
16 changed files with 28 additions and 25 deletions

View File

@@ -17,7 +17,7 @@ macro(__aix_compiler_gnu lang)
set(CMAKE_${lang}_VERBOSE_LINK_FLAG "-Wl,-v") set(CMAKE_${lang}_VERBOSE_LINK_FLAG "-Wl,-v")
set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath") 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) if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 7 OR CMAKE_SYSTEM_VERSION VERSION_LESS 7.1)
unset(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY) unset(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY)

View File

@@ -17,7 +17,7 @@ macro(__aix_compiler_xl lang)
set(CMAKE_SHARED_MODULE_${lang}_FLAGS " ") set(CMAKE_SHARED_MODULE_${lang}_FLAGS " ")
set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath") 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>") set(_OBJECTS " <OBJECTS>")
if(DEFINED CMAKE_XL_CreateExportList AND CMAKE_XL_CreateExportList STREQUAL "") if(DEFINED CMAKE_XL_CreateExportList AND CMAKE_XL_CreateExportList STREQUAL "")

View File

@@ -15,7 +15,7 @@ macro(__apple_compiler_clang lang)
set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ") set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
endif() 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 "-framework <LIBRARY>")
set(CMAKE_${lang}_LINK_LIBRARY_USING_FRAMEWORK_SUPPORTED TRUE) set(CMAKE_${lang}_LINK_LIBRARY_USING_FRAMEWORK_SUPPORTED TRUE)

View File

@@ -55,7 +55,7 @@ macro(__windows_compiler_clang_gnu lang)
set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "") set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared") 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 # linker selection
set(CMAKE_${lang}_USING_LINKER_DEFAULT "-fuse-ld=lld-link") set(CMAKE_${lang}_USING_LINKER_DEFAULT "-fuse-ld=lld-link")

View File

@@ -514,7 +514,7 @@ macro(__windows_compiler_msvc lang)
set(CMAKE_${lang}_DEPFILE_FORMAT msvc) set(CMAKE_${lang}_DEPFILE_FORMAT msvc)
endif() endif()
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD UNICITY=ALL) set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD DEDUPLICATION=ALL)
# linker selection # linker selection
set(CMAKE_${lang}_USING_LINKER_SYSTEM "${CMAKE_LINKER_LINK}") set(CMAKE_${lang}_USING_LINKER_SYSTEM "${CMAKE_LINKER_LINK}")

View File

@@ -376,8 +376,10 @@ public:
case cmPolicies::NEW: { case cmPolicies::NEW: {
if (auto libProcessing = makefile->GetDefinition(cmStrCat( if (auto libProcessing = makefile->GetDefinition(cmStrCat(
"CMAKE_", linkLanguage, "_LINK_LIBRARIES_PROCESSING"))) { "CMAKE_", linkLanguage, "_LINK_LIBRARIES_PROCESSING"))) {
// UNICITY keyword is just for compatibility with previous
// implementation
cmsys::RegularExpression processingOption{ cmsys::RegularExpression processingOption{
"^(ORDER|UNICITY)=(FORWARD|REVERSE|ALL|NONE|SHARED)$" "^(ORDER|UNICITY|DEDUPLICATION)=(FORWARD|REVERSE|ALL|NONE|SHARED)$"
}; };
std::string errorMessage; std::string errorMessage;
for (auto const& option : cmList{ libProcessing }) { for (auto const& option : cmList{ libProcessing }) {
@@ -390,13 +392,14 @@ public:
} else { } else {
errorMessage += cmStrCat(" ", option, '\n'); 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") { if (processingOption.match(2) == "ALL") {
this->Unicity = All; this->Deduplication = All;
} else if (processingOption.match(2) == "NONE") { } else if (processingOption.match(2) == "NONE") {
this->Unicity = None; this->Deduplication = None;
} else if (processingOption.match(2) == "SHARED") { } else if (processingOption.match(2) == "SHARED") {
this->Unicity = Shared; this->Deduplication = Shared;
} else { } else {
errorMessage += cmStrCat(" ", option, '\n'); errorMessage += cmStrCat(" ", option, '\n');
} }
@@ -499,7 +502,7 @@ private:
Reverse Reverse
}; };
enum UnicityKind enum DeduplicationKind
{ {
None, None,
Shared, Shared,
@@ -520,11 +523,11 @@ private:
} }
} }
return this->Unicity == None || return this->Deduplication == None ||
(this->Unicity == Shared && (this->Deduplication == Shared &&
(entry.Target == nullptr || (entry.Target == nullptr ||
entry.Target->GetType() != cmStateEnums::SHARED_LIBRARY)) || entry.Target->GetType() != cmStateEnums::SHARED_LIBRARY)) ||
(this->Unicity == All && entry.Kind != LinkEntry::Library); (this->Deduplication == All && entry.Kind != LinkEntry::Library);
} }
template <typename Range> template <typename Range>
@@ -539,7 +542,7 @@ private:
} }
OrderKind Order = Reverse; OrderKind Order = Reverse;
UnicityKind Unicity = Shared; DeduplicationKind Deduplication = Shared;
const cmGeneratorTarget* Target; const cmGeneratorTarget* Target;
const std::string& LinkLanguage; const std::string& LinkLanguage;
EntryVector& Entries; EntryVector& Entries;

View File

@@ -1,7 +1,7 @@
enable_language(C) 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) add_library(lib STATIC lib.c)

View File

@@ -1,7 +1,7 @@
enable_language(C) 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) add_library(lib STATIC lib.c)

View File

@@ -1,7 +1,7 @@
enable_language(C) 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) add_library(lib STATIC lib.c)

View File

@@ -2,7 +2,7 @@ CMake Error at InvalidConfiguration4.cmake:[0-9]+ \(add_executable\):
Erroneous option\(s\) for 'CMAKE_C_LINK_LIBRARIES_PROCESSING': Erroneous option\(s\) for 'CMAKE_C_LINK_LIBRARIES_PROCESSING':
WRONG=REVERSE WRONG=REVERSE
UNICITY=WRONG DEDUPLICATION=WRONG
Call Stack \(most recent call first\): Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\) CMakeLists.txt:[0-9]+ \(include\)

View File

@@ -1,7 +1,7 @@
enable_language(C) 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) add_library(lib STATIC lib.c)

View File

@@ -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': Erroneous option\(s\) for 'CMAKE_C_LINK_LIBRARIES_PROCESSING':
UNICITY=WRONG DEDUPLICATION=WRONG
Call Stack \(most recent call first\): Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\) CMakeLists.txt:[0-9]+ \(include\)

View File

@@ -1,7 +1,7 @@
enable_language(C) 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) add_library(lib STATIC lib.c)

View File

@@ -1,7 +1,7 @@
enable_language(C) 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) add_library(lib STATIC lib.c)

View File

@@ -1,7 +1,7 @@
include(RunCMake) include(RunCMake)
run_cmake(Invalid_ORDER) run_cmake(Invalid_ORDER)
run_cmake(Invalid_UNICITY) run_cmake(Invalid_DEDUPLICATION)
run_cmake(InvalidConfiguration1) run_cmake(InvalidConfiguration1)
run_cmake(InvalidConfiguration2) run_cmake(InvalidConfiguration2)
run_cmake(InvalidConfiguration3) run_cmake(InvalidConfiguration3)