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