From 561a44a3630c1123c1594008766208c3db12b5cc Mon Sep 17 00:00:00 2001
From: Stephan Schulz <stephan.schulz-x2q@rub.de>
Date: Tue, 19 Jan 2021 16:20:16 +0100
Subject: [PATCH] make voro++ proper target for easier linkage, fix ALL_Fortran
 linkage

---
 CMakeLists.txt                    |  5 +++--
 contrib/voro++/src/CMakeLists.txt | 10 ++++++++--
 src/CMakeLists.txt                | 10 ++--------
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 77f5d57..922931a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,8 +97,9 @@ endif(CM_ALL_USE_F08 AND MPI_Fortran_HAVE_F08_MODULE)
 if(CM_ALL_VORONOI)
     message(STATUS "compiling voro++ version in contrib/voro++")
     add_subdirectory(contrib/voro++)
-    set(CM_ALL_VORO_INC ${CMAKE_SOURCE_DIR}/contrib/voro++/include)
-    set(CM_ALL_VORO_LIB "-L${CMAKE_BINARY_DIR}/contrib/voro++/src -lvoro")
+    #    set(CM_ALL_VORO_INC contrib/voro++/include)
+    #    set(CM_ALL_VORO_LIB contrib/voro++/src)
+    #set(CM_ALL_VORO_LIB "-L${CMAKE_BINARY_DIR}/contrib/voro++/src -lvoro")
     add_compile_options("-DALL_VORONOI_ACTIVE")
 endif()
 
diff --git a/contrib/voro++/src/CMakeLists.txt b/contrib/voro++/src/CMakeLists.txt
index 8f4636f..daf286a 100644
--- a/contrib/voro++/src/CMakeLists.txt
+++ b/contrib/voro++/src/CMakeLists.txt
@@ -7,6 +7,12 @@ file (GLOB ${MODULE_NAME}_SRCS voro++.cc)
 # Create the library.
 add_library (${MODULE_NAME} ${${MODULE_NAME}_SRCS})
 
-install (TARGETS ${MODULE_NAME} 
-		ARCHIVE DESTINATION lib 
+target_include_directories(${MODULE_NAME}
+	INTERFACE
+	"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>"
+	"$<INSTALL_INTERFACE:include>")
+
+install (TARGETS ${MODULE_NAME}
+	EXPORT ALLTargets
+		ARCHIVE DESTINATION lib
 		LIBRARY DESTINATION lib)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 056541a..2218648 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -22,8 +22,7 @@ if(CM_ALL_VTK_OUTPUT)
     target_link_libraries(ALL PUBLIC ${VTK_LIBRARIES})
 endif(CM_ALL_VTK_OUTPUT)
 if(CM_ALL_VORONOI)
-    target_include_directories(ALL PUBLIC ${CM_ALL_VORO_INC})
-    target_link_libraries(ALL PUBLIC ${CM_ALL_VORO_LIB})
+    target_link_libraries(ALL PUBLIC voro)
 endif(CM_ALL_VORONOI)
 
 target_include_directories(ALL PUBLIC ${MPI_CXX_INCLUDE_PATH})
@@ -52,17 +51,12 @@ if (CM_ALL_FORTRAN)
         target_include_directories(ALL_fortran PRIVATE ${VTK_INCLUDE_DIRS})
         target_link_libraries(ALL_fortran PRIVATE ${VTK_LIBRARIES})
     endif(CM_ALL_VTK_OUTPUT)
-    #if(CM_ALL_VORONOI)
-    #    target_include_directories(ALL_fortran PUBLIC ${CM_ALL_VORO_INC})
-    #    target_link_libraries(ALL_fortran PUBLIC ${CM_ALL_VORO_LIB})
-    #endif(CM_ALL_VORONOI)
 
     target_include_directories(ALL_fortran PUBLIC ${MPI_Fortran_INCLUDE_PATH})
     target_include_directories(ALL_fortran
-        PUBLIC
+        INTERFACE
         "$<BUILD_INTERFACE:${CMAKE_Fortran_MODULE_DIRECTORY}>"
         "$<INSTALL_INTERFACE:include/modules>")
-    target_include_directories(ALL_fortran PRIVATE ${ALL_INCLUDE_DIR})
     target_link_libraries(ALL_fortran PUBLIC ${MPI_Fortran_LINK_FLAGS} ${MPI_Fortran_LIBRARIES} ALL)
 
     install(TARGETS ALL_fortran
-- 
GitLab