mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-05 07:10:26 +00:00
CXXModules: remove EXPERIMENTAL from C++ module variable names
This commit is contained in:
@@ -32,7 +32,7 @@ endif()
|
|||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
||||||
if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
|
if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
|
||||||
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
string(CONCAT CMAKE_CXX_SCANDEP_SOURCE
|
||||||
"\"${CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS}\""
|
"\"${CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS}\""
|
||||||
" -format=p1689"
|
" -format=p1689"
|
||||||
" --"
|
" --"
|
||||||
@@ -41,8 +41,8 @@ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
|||||||
" -MT <DYNDEP_FILE>"
|
" -MT <DYNDEP_FILE>"
|
||||||
" -MD -MF <DEP_FILE>"
|
" -MD -MF <DEP_FILE>"
|
||||||
" > <DYNDEP_FILE>")
|
" > <DYNDEP_FILE>")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "clang")
|
set(CMAKE_CXX_MODULE_MAP_FORMAT "clang")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
|
set(CMAKE_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_BMI_ONLY_FLAG "--precompile")
|
set(CMAKE_CXX_MODULE_BMI_ONLY_FLAG "--precompile")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -74,13 +74,13 @@ endif()
|
|||||||
__compiler_check_default_language_standard(CXX 3.4 98 6.0 14 11.1 17)
|
__compiler_check_default_language_standard(CXX 3.4 98 6.0 14 11.1 17)
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0)
|
||||||
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
string(CONCAT CMAKE_CXX_SCANDEP_SOURCE
|
||||||
"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E -x c++ <SOURCE>"
|
"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E -x c++ <SOURCE>"
|
||||||
" -MT <DYNDEP_FILE> -MD -MF <DEP_FILE>"
|
" -MT <DYNDEP_FILE> -MD -MF <DEP_FILE>"
|
||||||
" -fmodules-ts -fdeps-file=<DYNDEP_FILE> -fdeps-target=<OBJECT> -fdeps-format=p1689r5"
|
" -fmodules-ts -fdeps-file=<DYNDEP_FILE> -fdeps-target=<OBJECT> -fdeps-format=p1689r5"
|
||||||
" -o <PREPROCESSED_SOURCE>")
|
" -o <PREPROCESSED_SOURCE>")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "gcc")
|
set(CMAKE_CXX_MODULE_MAP_FORMAT "gcc")
|
||||||
string(CONCAT CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG
|
string(CONCAT CMAKE_CXX_MODULE_MAP_FLAG
|
||||||
# Turn on modules.
|
# Turn on modules.
|
||||||
"-fmodules-ts"
|
"-fmodules-ts"
|
||||||
# Read the module mapper file.
|
# Read the module mapper file.
|
||||||
@@ -91,5 +91,5 @@ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0)
|
|||||||
" -fdeps-format=p1689r5"
|
" -fdeps-format=p1689r5"
|
||||||
# Force C++ as a language.
|
# Force C++ as a language.
|
||||||
" -x c++")
|
" -x c++")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_BMI_ONLY_FLAG "-fmodule-only")
|
set(CMAKE_CXX_MODULE_BMI_ONLY_FLAG "-fmodule-only")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -79,13 +79,13 @@ elseif (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.34")
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.34")
|
||||||
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
string(CONCAT CMAKE_CXX_SCANDEP_SOURCE
|
||||||
"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> <SOURCE> -nologo -TP"
|
"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> <SOURCE> -nologo -TP"
|
||||||
" -showIncludes"
|
" -showIncludes"
|
||||||
" -scanDependencies <DYNDEP_FILE>"
|
" -scanDependencies <DYNDEP_FILE>"
|
||||||
" -Fo<OBJECT>")
|
" -Fo<OBJECT>")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_DEPFILE_FORMAT "msvc")
|
set(CMAKE_CXX_SCANDEP_DEPFILE_FORMAT "msvc")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "msvc")
|
set(CMAKE_CXX_MODULE_MAP_FORMAT "msvc")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
|
set(CMAKE_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_BMI_ONLY_FLAG "-ifcOnly;-ifcOutput;<OBJECT>")
|
set(CMAKE_CXX_MODULE_BMI_ONLY_FLAG "-ifcOnly;-ifcOutput;<OBJECT>")
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ std::string cmNinjaTargetGenerator::ComputeFlagsForObject(
|
|||||||
|
|
||||||
if (!this->GeneratorTarget->Target->IsNormal()) {
|
if (!this->GeneratorTarget->Target->IsNormal()) {
|
||||||
auto flag = this->GetMakefile()->GetSafeDefinition(
|
auto flag = this->GetMakefile()->GetSafeDefinition(
|
||||||
"CMAKE_EXPERIMENTAL_CXX_MODULE_BMI_ONLY_FLAG");
|
"CMAKE_CXX_MODULE_BMI_ONLY_FLAG");
|
||||||
cmRulePlaceholderExpander::RuleVariables compileObjectVars;
|
cmRulePlaceholderExpander::RuleVariables compileObjectVars;
|
||||||
compileObjectVars.Object = objectFileName.c_str();
|
compileObjectVars.Object = objectFileName.c_str();
|
||||||
auto rulePlaceholderExpander =
|
auto rulePlaceholderExpander =
|
||||||
@@ -710,7 +710,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::string const modmapFormatVar =
|
std::string const modmapFormatVar =
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", lang, "_MODULE_MAP_FORMAT");
|
cmStrCat("CMAKE_", lang, "_MODULE_MAP_FORMAT");
|
||||||
std::string const modmapFormat =
|
std::string const modmapFormat =
|
||||||
this->Makefile->GetSafeDefinition(modmapFormatVar);
|
this->Makefile->GetSafeDefinition(modmapFormatVar);
|
||||||
|
|
||||||
@@ -734,7 +734,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
|||||||
|
|
||||||
if (withScanning == WithScanning::Yes) {
|
if (withScanning == WithScanning::Yes) {
|
||||||
const auto& scanDepType = this->GetMakefile()->GetSafeDefinition(
|
const auto& scanDepType = this->GetMakefile()->GetSafeDefinition(
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", lang, "_SCANDEP_DEPFILE_FORMAT"));
|
cmStrCat("CMAKE_", lang, "_SCANDEP_DEPFILE_FORMAT"));
|
||||||
|
|
||||||
// Rule to scan dependencies of sources that need preprocessing.
|
// Rule to scan dependencies of sources that need preprocessing.
|
||||||
{
|
{
|
||||||
@@ -745,7 +745,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
|||||||
scanRuleName = this->LanguageScanRule(lang, config);
|
scanRuleName = this->LanguageScanRule(lang, config);
|
||||||
ppFileName = "$PREPROCESSED_OUTPUT_FILE";
|
ppFileName = "$PREPROCESSED_OUTPUT_FILE";
|
||||||
std::string const& scanCommand = mf->GetRequiredDefinition(
|
std::string const& scanCommand = mf->GetRequiredDefinition(
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", lang, "_SCANDEP_SOURCE"));
|
cmStrCat("CMAKE_", lang, "_SCANDEP_SOURCE"));
|
||||||
scanCommands.assign(scanCommand);
|
scanCommands.assign(scanCommand);
|
||||||
for (auto& i : scanCommands) {
|
for (auto& i : scanCommands) {
|
||||||
i = cmStrCat(launcher, i);
|
i = cmStrCat(launcher, i);
|
||||||
@@ -893,8 +893,8 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (withScanning == WithScanning::Yes && !modmapFormat.empty()) {
|
if (withScanning == WithScanning::Yes && !modmapFormat.empty()) {
|
||||||
std::string modmapFlags = mf->GetRequiredDefinition(
|
std::string modmapFlags =
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", lang, "_MODULE_MAP_FLAG"));
|
mf->GetRequiredDefinition(cmStrCat("CMAKE_", lang, "_MODULE_MAP_FLAG"));
|
||||||
cmSystemTools::ReplaceString(modmapFlags, "<MODULE_MAP_FILE>",
|
cmSystemTools::ReplaceString(modmapFlags, "<MODULE_MAP_FILE>",
|
||||||
"$DYNDEP_MODULE_MAP_FILE");
|
"$DYNDEP_MODULE_MAP_FILE");
|
||||||
flags += cmStrCat(' ', modmapFlags);
|
flags += cmStrCat(' ', modmapFlags);
|
||||||
@@ -1477,7 +1477,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
|
|||||||
std::string modmapFormat;
|
std::string modmapFormat;
|
||||||
if (needDyndep) {
|
if (needDyndep) {
|
||||||
std::string const modmapFormatVar =
|
std::string const modmapFormatVar =
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", language, "_MODULE_MAP_FORMAT");
|
cmStrCat("CMAKE_", language, "_MODULE_MAP_FORMAT");
|
||||||
modmapFormat = this->Makefile->GetSafeDefinition(modmapFormatVar);
|
modmapFormat = this->Makefile->GetSafeDefinition(modmapFormatVar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1758,7 +1758,7 @@ void cmNinjaTargetGenerator::WriteCxxModuleBmiBuildStatement(
|
|||||||
std::string modmapFormat;
|
std::string modmapFormat;
|
||||||
if (true) {
|
if (true) {
|
||||||
std::string const modmapFormatVar =
|
std::string const modmapFormatVar =
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", language, "_MODULE_MAP_FORMAT");
|
cmStrCat("CMAKE_", language, "_MODULE_MAP_FORMAT");
|
||||||
modmapFormat = this->Makefile->GetSafeDefinition(modmapFormatVar);
|
modmapFormat = this->Makefile->GetSafeDefinition(modmapFormatVar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1969,12 +1969,12 @@ void cmNinjaTargetGenerator::ExportObjectCompileCommand(
|
|||||||
bool const needDyndep =
|
bool const needDyndep =
|
||||||
this->GetGeneratorTarget()->NeedDyndep(language, outputConfig);
|
this->GetGeneratorTarget()->NeedDyndep(language, outputConfig);
|
||||||
std::string const modmapFormatVar =
|
std::string const modmapFormatVar =
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", language, "_MODULE_MAP_FORMAT");
|
cmStrCat("CMAKE_", language, "_MODULE_MAP_FORMAT");
|
||||||
std::string const modmapFormat =
|
std::string const modmapFormat =
|
||||||
this->Makefile->GetSafeDefinition(modmapFormatVar);
|
this->Makefile->GetSafeDefinition(modmapFormatVar);
|
||||||
if (needDyndep && !modmapFormat.empty()) {
|
if (needDyndep && !modmapFormat.empty()) {
|
||||||
std::string modmapFlags = this->GetMakefile()->GetRequiredDefinition(
|
std::string modmapFlags = this->GetMakefile()->GetRequiredDefinition(
|
||||||
cmStrCat("CMAKE_EXPERIMENTAL_", language, "_MODULE_MAP_FLAG"));
|
cmStrCat("CMAKE_", language, "_MODULE_MAP_FLAG"));
|
||||||
// XXX(modmap): If changing this path construction, change
|
// XXX(modmap): If changing this path construction, change
|
||||||
// `cmGlobalNinjaGenerator::WriteDyndep` and
|
// `cmGlobalNinjaGenerator::WriteDyndep` and
|
||||||
// `cmNinjaTargetGenerator::WriteObjectBuildStatement` to expect the
|
// `cmNinjaTargetGenerator::WriteObjectBuildStatement` to expect the
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
add_library(export-modules)
|
add_library(export-modules)
|
||||||
target_sources(export-modules
|
target_sources(export-modules
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
add_library(export-modules)
|
add_library(export-modules)
|
||||||
target_sources(export-modules
|
target_sources(export-modules
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
add_library(module)
|
add_library(module)
|
||||||
target_sources(module
|
target_sources(module
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
add_library(module)
|
add_library(module)
|
||||||
target_sources(module
|
target_sources(module
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Fake out that we have dyndep; we only need to generate, not actually build
|
# Fake out that we have dyndep; we only need to generate, not actually build
|
||||||
# here.
|
# here.
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Fake out that we have dyndep; we only need to generate, not actually build
|
# Fake out that we have dyndep; we only need to generate, not actually build
|
||||||
# here.
|
# here.
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Fake out that we have dyndep; we only need to generate, not actually build
|
# Fake out that we have dyndep; we only need to generate, not actually build
|
||||||
# here.
|
# here.
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
if (NOT CMAKE_CXX_STANDARD_DEFAULT)
|
if (NOT CMAKE_CXX_STANDARD_DEFAULT)
|
||||||
set(CMAKE_CXX_STANDARD_DEFAULT "11")
|
set(CMAKE_CXX_STANDARD_DEFAULT "11")
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
enable_language(C)
|
enable_language(C)
|
||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
add_library(not-cxx-source)
|
add_library(not-cxx-source)
|
||||||
target_sources(not-cxx-source
|
target_sources(not-cxx-source
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
set(CMAKE_CXX_SCANDEP_SOURCE "")
|
||||||
|
|
||||||
add_library(not-cxx-source)
|
add_library(not-cxx-source)
|
||||||
target_sources(not-cxx-source
|
target_sources(not-cxx-source
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ endif ()
|
|||||||
# To detect that not-to-be scanned sources are not scanned, add a `-D` to the
|
# To detect that not-to-be scanned sources are not scanned, add a `-D` to the
|
||||||
# scan flags so that the files can detect whether scanning happened and error
|
# scan flags so that the files can detect whether scanning happened and error
|
||||||
# if not.
|
# if not.
|
||||||
string(APPEND CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG
|
string(APPEND CMAKE_CXX_MODULE_MAP_FLAG
|
||||||
" -DCMAKE_SCANNED_THIS_SOURCE")
|
" -DCMAKE_SCANNED_THIS_SOURCE")
|
||||||
string(APPEND CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
string(APPEND CMAKE_CXX_SCANDEP_SOURCE
|
||||||
" -DCMAKE_SCANNED_THIS_SOURCE")
|
" -DCMAKE_SCANNED_THIS_SOURCE")
|
||||||
|
|
||||||
set_property(SOURCE always_scan.cxx
|
set_property(SOURCE always_scan.cxx
|
||||||
|
|||||||
Reference in New Issue
Block a user