summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaTargetGenerator.h
diff options
context:
space:
mode:
authorMartin Duffy <martin.duffy@kitware.com>2023-09-14 17:13:38 (GMT)
committerBrad King <brad.king@kitware.com>2023-09-20 14:25:24 (GMT)
commitec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a (patch)
treeeee817eede0b5dec75baf45735268ffc7e5e4997 /Source/cmNinjaTargetGenerator.h
parent123cdf981661c8ae32335d4ae7e1ddcbcffd09cc (diff)
downloadCMake-ec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a.zip
CMake-ec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a.tar.gz
CMake-ec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a.tar.bz2
Ninja: Allow compilation before generation of dependencies' private sources
This requires knowing when a generated header is public, which we can model using file sets. Add policy CMP0154 to treat generated sources as private by default in targets with file sets. Generated public headers can be specified in public file sets. Fixes: #24959 Issue: #15555
Diffstat (limited to 'Source/cmNinjaTargetGenerator.h')
-rw-r--r--Source/cmNinjaTargetGenerator.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index d41d86e..3f56113 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -81,6 +81,7 @@ protected:
bool CompileWithDefines(std::string const& lang) const;
std::string OrderDependsTargetForTarget(const std::string& config);
+ std::string OrderDependsTargetForTargetPrivate(const std::string& config);
std::string ComputeOrderDependsForTarget();
@@ -228,6 +229,7 @@ protected:
private:
cmLocalNinjaGenerator* LocalGenerator;
+ bool HasPrivateGeneratedSources = false;
struct ScanningFiles
{