From 8151620fa0901e1323d41c6d6b398cfd587fb63f Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Wed, 15 Apr 2020 12:00:50 +0200
Subject: [PATCH] [CMake] Enabled Unity builds for Base-, Geo-, Math- and
 MeshLib.

---
 CMakeLists.txt                         | 2 ++
 scripts/cmake/UnityBuildSettings.cmake | 8 ++++++++
 2 files changed, 10 insertions(+)
 create mode 100644 scripts/cmake/UnityBuildSettings.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2da13ecc73e..873a9a2be49 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -298,6 +298,8 @@ if(BUILD_TESTING AND NOT IS_SUBPROJECT)
     add_subdirectory(Tests)
 endif()
 
+include(UnityBuildSettings)
+
 file(WRITE ${PROJECT_BINARY_DIR}/disabled-tests.log "${DISABLED_TESTS_LOG}")
 unset(DISABLED_TESTS_LOG CACHE) # Don't write to CMakeCache.txt
 
diff --git a/scripts/cmake/UnityBuildSettings.cmake b/scripts/cmake/UnityBuildSettings.cmake
new file mode 100644
index 00000000000..e78f060a733
--- /dev/null
+++ b/scripts/cmake/UnityBuildSettings.cmake
@@ -0,0 +1,8 @@
+set_target_properties(BaseLib PROPERTIES UNITY_BUILD ON
+    UNITY_BUILD_BATCH_SIZE 8)
+set_target_properties(GeoLib PROPERTIES UNITY_BUILD ON
+    UNITY_BUILD_BATCH_SIZE 40)
+set_target_properties(MathLib PROPERTIES UNITY_BUILD ON
+    UNITY_BUILD_BATCH_SIZE 10)
+set_target_properties(MeshLib PROPERTIES UNITY_BUILD ON
+    UNITY_BUILD_BATCH_SIZE 40)
-- 
GitLab