Просмотр исходного кода

FeatureSummary: Print each feature info only once

If a feature is added multiple times via ADD_FEATURE_INFO it should
appear only once in FEATURE_SUMMARY.

Signed-off-by: Gregor Jasny <[email protected]>
Gregor Jasny 10 лет назад
Родитель
Сommit
38ef2b7363

+ 3 - 0
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})
 

+ 4 - 0
Tests/RunCMake/FeatureSummary/FeatureSummaryWhatOnce-stdout.txt

@@ -0,0 +1,4 @@
+--( )
+ \* Foo , Foo decscription\.
++
+--

+ 8 - 0
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)

+ 1 - 0
Tests/RunCMake/FeatureSummary/RunCMakeTest.cmake

@@ -6,3 +6,4 @@ run_cmake(FeatureSummaryWhatSingleUnknown)
 run_cmake(FeatureSummaryWhatList)
 run_cmake(FeatureSummaryWhatListUnknown)
 run_cmake(FeatureSummaryWhatListAll)
+run_cmake(FeatureSummaryWhatOnce)