From 7accc1b6299450caccb617262dfd05911ce25517 Mon Sep 17 00:00:00 2001
From: Evgeny Kashirin <evgeny.kashirin@cern.ch>
Date: Wed, 2 Sep 2020 17:04:18 +0300
Subject: [PATCH] CMake copies headers to the build directory

---
 CMakeLists.txt | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 929ed35..eae85fb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.5)
 project(Centrality)
 set(CMAKE_MACOSX_RPATH 1)
 set(PROJECT_VERSION 1.0)
@@ -59,6 +59,18 @@ set(PCM_FILE_NAME lib${PROJECT_NAME})
 ROOT_GENERATE_DICTIONARY(${DICT_FILE_NAME} ${HEADERS} LINKDEF src/CentralityLinkDef.h)
 add_library(Centrality SHARED ${SOURCES} ${DICT_FILE_NAME})
 target_link_libraries(Centrality ${ROOT_LIBRARIES})
+add_custom_command(
+        TARGET Centrality POST_BUILD
+        COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${CMAKE_BINARY_DIR}/include/centrality
+        COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${HEADERS} ${CMAKE_BINARY_DIR}/include/centrality/
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+)
+target_include_directories(Centrality
+        PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
+        PUBLIC
+            $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
+            $<INSTALL_INTERFACE:include>
+        )
 
 # Create a main program using the library
 add_executable(main main.cpp)
-- 
GitLab