]> granicus.if.org Git - icinga2/commitdiff
Only build mkunity when unity builds are enabled
authorGunnar Beutner <gunnar@beutner.name>
Tue, 2 Sep 2014 05:45:18 +0000 (07:45 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Tue, 2 Sep 2014 05:45:18 +0000 (07:45 +0200)
refs #7034

tools/mkunity/CMakeLists.txt

index 57af9d18eac4771a08f03a4d8645e2b8c5276719..f11742a142fa0c2e22e717e8602c32cda34123a5 100644 (file)
 # along with this program; if not, write to the Free Software Foundation
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-add_executable(mkunity mkunity.c)
-
-set_target_properties (
-  mkunity PROPERTIES
-  FOLDER Bin
-)
-
 define_property(
   SOURCE
   PROPERTY EXCLUDE_UNITY_BUILD
@@ -29,27 +22,35 @@ define_property(
   FULL_DOCS "Specified whether a source file should be excluded from unity builds and should be built separately"
 )
 
-function(MKUNITY_TARGET Prefix UnityInputRef)
-    set(UnityInput ${${UnityInputRef}})
-    set(UnityOutput ${CMAKE_CURRENT_BINARY_DIR}/${Prefix}_unity.cpp)
-    set(RealSources "")
-    set(UnitySources "")
-    foreach(UnitySource ${UnityInput})
-        get_property(SourceExcluded SOURCE ${UnitySource} PROPERTY EXCLUDE_UNITY_BUILD)
-        if(SourceExcluded MATCHES TRUE OR NOT ${UnitySource} MATCHES "\\.(cpp|cxx|cc)\$")
-            list(APPEND RealSources ${UnitySource})
-        else()
-            list(APPEND UnitySources ${UnitySource})
-        endif()
-    endforeach()
-    add_custom_command(
-        OUTPUT ${UnityOutput}
-        COMMAND mkunity
-        ARGS ${Prefix} ${UnitySources} >${UnityOutput}
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-        DEPENDS mkunity ${UnityInput}
+if(ICINGA2_UNITY_BUILD)
+    add_executable(mkunity mkunity.c)
+
+    set_target_properties (
+      mkunity PROPERTIES
+      FOLDER Bin
     )
-    list(APPEND RealSources ${UnityOutput})
-    set(${UnityInputRef} ${RealSources} PARENT_SCOPE)
-endfunction()
 
+    function(MKUNITY_TARGET Prefix UnityInputRef)
+        set(UnityInput ${${UnityInputRef}})
+        set(UnityOutput ${CMAKE_CURRENT_BINARY_DIR}/${Prefix}_unity.cpp)
+        set(RealSources "")
+        set(UnitySources "")
+        foreach(UnitySource ${UnityInput})
+            get_property(SourceExcluded SOURCE ${UnitySource} PROPERTY EXCLUDE_UNITY_BUILD)
+            if(SourceExcluded MATCHES TRUE OR NOT ${UnitySource} MATCHES "\\.(cpp|cxx|cc)\$")
+                list(APPEND RealSources ${UnitySource})
+            else()
+                list(APPEND UnitySources ${UnitySource})
+            endif()
+        endforeach()
+        add_custom_command(
+            OUTPUT ${UnityOutput}
+            COMMAND mkunity
+            ARGS ${Prefix} ${UnitySources} >${UnityOutput}
+            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+            DEPENDS mkunity ${UnityInput}
+        )
+        list(APPEND RealSources ${UnityOutput})
+        set(${UnityInputRef} ${RealSources} PARENT_SCOPE)
+    endfunction()
+endif()