summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGen.h
diff options
context:
space:
mode:
authorSebastian Holtermann <sebholt@xwmw.org>2019-05-22 10:09:31 (GMT)
committerSebastian Holtermann <sebholt@xwmw.org>2019-05-22 10:25:17 (GMT)
commit71d6a1455e402755023b509629971afd1ed98922 (patch)
tree7c29c0201927d7a6d5c35b149721fd59c430abf9 /Source/cmQtAutoGen.h
parent0bf53483295a4b7de358e8b85ad44866d89633c5 (diff)
downloadCMake-71d6a1455e402755023b509629971afd1ed98922.zip
CMake-71d6a1455e402755023b509629971afd1ed98922.tar.gz
CMake-71d6a1455e402755023b509629971afd1ed98922.tar.bz2
Autogen: Evaluate compiler features for the same exectuable only once
To speed up the `AUTOGEN` configuration process, evaluate the compiler features only once. The feature evaluation result is stored in the new class `cmQtAutoGen::CompilerFeatures`, and the instance is shared by using `std::shared_ptr`.
Diffstat (limited to 'Source/cmQtAutoGen.h')
-rw-r--r--Source/cmQtAutoGen.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmQtAutoGen.h b/Source/cmQtAutoGen.h
index 3a346b5..9c52129 100644
--- a/Source/cmQtAutoGen.h
+++ b/Source/cmQtAutoGen.h
@@ -5,6 +5,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include <memory> // IWYU pragma: keep
#include <string>
#include <vector>
@@ -40,6 +41,15 @@ public:
}
};
+ class CompilerFeatures
+ {
+ public:
+ bool Evaluated = false;
+ std::string HelpOutput;
+ std::vector<std::string> ListOptions;
+ };
+ typedef std::shared_ptr<CompilerFeatures> CompilerFeaturesHandle;
+
/// @brief AutoGen generator type
enum class GenT
{