diff --git a/CMakeLists.txt b/CMakeLists.txt index d3306db95476b2e91773271f548b3937a417b421..3159d9471f1d59fd8e573c4f85576156c243c3df 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 9c6478b0711cbbd5e38a41f3eaa6c4736a300e67..369887ba7ffd5dfeb9b3593157c51d7a1beefd2f 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)