summaryrefslogtreecommitdiff
path: root/tools/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tools/CMakeLists.txt')
-rw-r--r--tools/CMakeLists.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644
index 0000000000..2834dce387
--- /dev/null
+++ b/tools/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 2.8.3)
+
+include(ExternalProject)
+
+set(intergen_SOURCES "${CMAKE_CURRENT_LIST_DIR}/intergen")
+set(intergen_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/intergen")
+set(intergen_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/intergen")
+set(intergen_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
+
+ExternalProject_Add(intergen
+ SOURCE_DIR ${intergen_SOURCES}
+ PREFIX ${intergen_PREFIX}
+ INSTALL_DIR ${intergen_INSTALL_DIR}
+ CMAKE_ARGS ${intergen_CMAKE_ARGS})
+
+# This will force intergen make call every time core is built
+# When intergen source didn't change no files are updated
+# It is required to automatically rebuild interfaces if intergen was changed
+ExternalProject_Add_Step(intergen forcebuild
+ COMMAND ${CMAKE_COMMAND} -E echo "Force intergen build"
+ DEPENDEES update DEPENDERS build
+ ALWAYS 1)