[cmake-developers] [PATCH] Print feature infos only once
Gregor Jasny
gjasny at googlemail.com
Sun Feb 22 15:06:27 EST 2015
If a feature is added multiple times via ADD_FEATURE_INFO it
should appear only once in FEATURE_SUMMARY.
Signed-off-by: Gregor Jasny <gjasny at googlemail.com>
---
Modules/FeatureSummary.cmake | 3 +++
Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce-stdout.txt | 4 ++++
Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce.cmake | 8 ++++++++
Tests/RunCMake/FeatureSummary/RunCMakeTest.cmake | 1 +
4 files changed, 16 insertions(+)
create mode 100644 Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce-stdout.txt
create mode 100644 Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce.cmake
diff --git a/Modules/FeatureSummary.cmake b/Modules/FeatureSummary.cmake
index 3eea9db..ce5a4ed 100644
--- a/Modules/FeatureSummary.cmake
+++ b/Modules/FeatureSummary.cmake
@@ -379,6 +379,9 @@ function(_FS_GET_FEATURE_SUMMARY _property _var _includeQuiet)
set(_currentFeatureText "")
get_property(_EnabledFeatures GLOBAL PROPERTY ${_property})
+ if(_EnabledFeatures)
+ list(REMOVE_DUPLICATES _EnabledFeatures)
+ endif(_EnabledFeatures)
foreach(_currentFeature ${_EnabledFeatures})
diff --git a/Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce-stdout.txt b/Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce-stdout.txt
new file mode 100644
index 0000000..ea1cf60
--- /dev/null
+++ b/Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce-stdout.txt
@@ -0,0 +1,4 @@
+--
+ \* Foo , Foo decscription\.
+
+--
\ No newline at end of file
diff --git a/Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce.cmake b/Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce.cmake
new file mode 100644
index 0000000..545fb92
--- /dev/null
+++ b/Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce.cmake
@@ -0,0 +1,8 @@
+include(FeatureSummary)
+
+set(WITH_FOO 1)
+
+add_feature_info(Foo WITH_FOO "Foo decscription.")
+add_feature_info(Foo WITH_FOO "Foo decscription.")
+
+feature_summary(WHAT ENABLED_FEATURES)
diff --git a/Tests/RunCMake/FeatureSummary/RunCMakeTest.cmake b/Tests/RunCMake/FeatureSummary/RunCMakeTest.cmake
index 1417338..6a5fc28 100644
--- a/Tests/RunCMake/FeatureSummary/RunCMakeTest.cmake
+++ b/Tests/RunCMake/FeatureSummary/RunCMakeTest.cmake
@@ -6,3 +6,4 @@ run_cmake(FeatureSummaryWhatSingleUnknown)
run_cmake(FeatureSummaryWhatList)
run_cmake(FeatureSummaryWhatListUnknown)
run_cmake(FeatureSummaryWhatListAll)
+run_cmake(FeatureSummaryWhatOnce)
--
2.3.0
More information about the cmake-developers
mailing list