From 915ebaaa7e90a74ecd30a40f06710728924c1ccc Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 12 Feb 2018 12:03:51 +0100
Subject: [PATCH] [Conan] Check only once a day for new Conan packages.

Code looks a lot like CMake-fu... it has to be!
Will speed up CMake runs after the first run on each day.
---
 scripts/cmake/ConanSetup.cmake | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake
index cef9377cbf9..3a9a08deeaa 100644
--- a/scripts/cmake/ConanSetup.cmake
+++ b/scripts/cmake/ConanSetup.cmake
@@ -107,9 +107,20 @@ if(MSVC)
     set(CONAN_IMPORTS ${CONAN_IMPORTS} "plugins/platforms, *.dll* -> ./bin/platforms")
 endif()
 
+file(TIMESTAMP ${PROJECT_BINARY_DIR}/conan_install_timestamp.txt file_timestamp "%Y.%m.%d")
+string(TIMESTAMP timestamp "%Y.%m.%d")
+
+# Run conan install update only once a day
+if("${file_timestamp}" VERSION_LESS ${timestamp})
+    file(WRITE ${PROJECT_BINARY_DIR}/conan_install_timestamp.txt "${timestamp}\n")
+    set(CONAN_UPDATE UPDATE)
+else()
+    message(STATUS "Conan: Skipping update step.")
+endif()
+
 conan_cmake_run(
     BASIC_SETUP
-    UPDATE
+    ${CONAN_UPDATE}
     KEEP_RPATHS
     REQUIRES ${CONAN_REQUIRES}
     OPTIONS ${CONAN_OPTIONS}
-- 
GitLab