mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
@@ -1055,10 +1055,9 @@ void cmGlobalNinjaGenerator::WriteAssumedSourceDependencies()
|
||||
}
|
||||
|
||||
std::string cmGlobalNinjaGenerator::OrderDependsTargetForTarget(
|
||||
cmGeneratorTarget const* target, const std::string& config)
|
||||
cmGeneratorTarget const* target, const std::string& /*config*/) const
|
||||
{
|
||||
return "cmake_object_order_depends_target_" + target->GetName() + "_" +
|
||||
cmSystemTools::UpperCase(config);
|
||||
return cmStrCat("cmake_object_order_depends_target_", target->GetName());
|
||||
}
|
||||
|
||||
void cmGlobalNinjaGenerator::AppendTargetOutputs(
|
||||
@@ -2679,3 +2678,10 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string cmGlobalNinjaMultiGenerator::OrderDependsTargetForTarget(
|
||||
cmGeneratorTarget const* target, const std::string& config) const
|
||||
{
|
||||
return cmStrCat("cmake_object_order_depends_target_", target->GetName(), '_',
|
||||
cmSystemTools::UpperCase(config));
|
||||
}
|
||||
|
||||
@@ -315,8 +315,8 @@ public:
|
||||
ASD.insert(deps.begin(), deps.end());
|
||||
}
|
||||
|
||||
static std::string OrderDependsTargetForTarget(
|
||||
cmGeneratorTarget const* target, const std::string& config);
|
||||
virtual std::string OrderDependsTargetForTarget(
|
||||
cmGeneratorTarget const* target, const std::string& config) const;
|
||||
|
||||
void AppendTargetOutputs(
|
||||
cmGeneratorTarget const* target, cmNinjaDeps& outputs,
|
||||
@@ -644,6 +644,9 @@ public:
|
||||
bool SupportsCrossConfigs() const override { return true; }
|
||||
bool SupportsDefaultConfigs() const override { return true; }
|
||||
|
||||
std::string OrderDependsTargetForTarget(
|
||||
cmGeneratorTarget const* target, const std::string& config) const override;
|
||||
|
||||
protected:
|
||||
bool OpenBuildFileStreams() override;
|
||||
void CloseBuildFileStreams() override;
|
||||
|
||||
@@ -142,7 +142,7 @@ bool cmNinjaTargetGenerator::NeedDyndep(std::string const& lang) const
|
||||
std::string cmNinjaTargetGenerator::OrderDependsTargetForTarget(
|
||||
const std::string& config)
|
||||
{
|
||||
return cmGlobalNinjaGenerator::OrderDependsTargetForTarget(
|
||||
return this->GetGlobalGenerator()->OrderDependsTargetForTarget(
|
||||
this->GeneratorTarget, config);
|
||||
}
|
||||
|
||||
|
||||
12
Tests/RunCMake/Ninja/ChangeBuildType.cmake
Normal file
12
Tests/RunCMake/Ninja/ChangeBuildType.cmake
Normal file
@@ -0,0 +1,12 @@
|
||||
enable_language(C)
|
||||
|
||||
function(change_build_type_subdir)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
add_subdirectory(SubDirPrefix)
|
||||
endfunction()
|
||||
|
||||
change_build_type_subdir()
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_executable(hello hello_sub_greeting.c)
|
||||
target_link_libraries(hello greeting)
|
||||
@@ -307,3 +307,12 @@ function (run_PreventConfigureFileDupBuildRule)
|
||||
run_ninja("${RunCMake_TEST_BINARY_DIR}" -w dupbuild=err)
|
||||
endfunction()
|
||||
run_PreventConfigureFileDupBuildRule()
|
||||
|
||||
function (run_ChangeBuildType)
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/ChangeBuildType-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_BUILD_TYPE:STRING=Debug")
|
||||
run_cmake(ChangeBuildType)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
run_ninja("${RunCMake_TEST_BINARY_DIR}" -w dupbuild=err)
|
||||
endfunction()
|
||||
run_ChangeBuildType()
|
||||
|
||||
Reference in New Issue
Block a user