From 4cae4e9d18a240e7462a38e09ef65719c342d5c7 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Mon, 7 Apr 2025 00:11:06 +0200 Subject: [PATCH] Fix installation and plugin generation for Almalinux --- CMakeLists.txt | 4 +++ tools/plugin-template/CMakeLists.txt-template | 32 +++++++++++-------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d3306db95..3159d9471 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,10 @@ cmake_minimum_required (VERSION 3.19) # CMake utils list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +set(CMAKE_INSTALL_LIBDIR "lib") +set(CMAKE_INSTALL_INCLUDEDIR "include") +set(CMAKE_INSTALL_BINDIR "bin") + # Forbids in-source builds include(CheckNotInSources) diff --git a/tools/plugin-template/CMakeLists.txt-template b/tools/plugin-template/CMakeLists.txt-template index 9c6478b07..369887ba7 100644 --- a/tools/plugin-template/CMakeLists.txt-template +++ b/tools/plugin-template/CMakeLists.txt-template @@ -23,14 +23,21 @@ find_package(Pugs REQUIRED) list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/Kokkos") include(KokkosConfig) -set(HDF5_PREFER_PARALLEL TRUE) -list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/HighFive") -include(HighFiveConfig) - list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/pugs") -include(PugsTargets) include(PugsCompileFlags) +if (${PUGS_HAS_MPI}) + set(HDF5_PREFER_PARALLEL TRUE) + list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/HighFive") + + include(HighFiveConfig) + if (TARGET HighFive) + set(HIGHFIVE_TARGET HighFive::HighFive) + endif() +endif() + +include(PugsTargets) + #------------------------------------------------------ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PUGS_CMAKE_CXX_FLAGS}") @@ -77,16 +84,11 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}") include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include") include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include/kokkos") include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include/tao/") +if (${PUGS_HAS_MPI}) include_directories(SYSTEM "${MPI_CXX_INCLUDE_DIRS}") +endif() -get_target_property(_prop Pugs::PugsAlgebra INTERFACE_INCLUDE_DIRECTORIES) -set(PUGS_INC_DIR "${PUGS_INC_DIR};${_prop}") -get_target_property(_prop Pugs::PugsUtils INTERFACE_INCLUDE_DIRECTORIES) -set(PUGS_INC_DIR "${PUGS_INC_DIR};${_prop}") -get_target_property(_prop Pugs::pugs INTERFACE_INCLUDE_DIRECTORIES) -set(PUGS_INC_DIR "${PUGS_INC_DIR};${_prop}") - -include_directories(SYSTEM ${PUGS_INC_DIR}) +include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include") link_directories(${PUGS_PREFIX_PATH}/lib) #------------------------------------------------------ @@ -143,6 +145,10 @@ add_library(_PLUGIN_NAME_ # add cpp sources files here ) +target_link_libraries(_PLUGIN_NAME_ + ${HIGHFIVE_TARGET} +) + #------------------------------------------------------ add_subdirectory(tests) -- GitLab