mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Libraries processing: update configuration wording
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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 "")
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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}")
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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\)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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\)
|
||||||
@@ -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)
|
||||||
|
|
||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user