1- # Copyright 2020 IFPEN-CEA
2- #
3- # Licensed under the Apache License, Version 2.0 (the "License");
4- # you may not use this file except in compliance with the License.
5- # You may obtain a copy of the License at
6- #
7- # http://www.apache.org/licenses/LICENSE-2.0
8- #
9- # Unless required by applicable law or agreed to in writing, software
10- # distributed under the License is distributed on an "AS IS" BASIS,
11- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12- # See the License for the specific language governing permissions and
13- # limitations under the License.
14- #
15- # SPDX-License-Identifier: Apache-2.0
16-
17- cmake_minimum_required (VERSION 3.13)
18-
19- # To properly handle VERSION directive in PROJECT
20- cmake_policy (SET CMP0048 NEW)
21- cmake_policy (SET CMP0023 NEW)
22-
23- # To export dependencies
24- cmake_policy (SET CMP0022 NEW)
25-
26- # for find_package with Foo_ROOT
27- cmake_policy (SET CMP0074 NEW)
28-
29- # ----------------------------------------------------------------------------
30- # ----------------------------------------------------------------------------
31-
32- project (AlienHypre
33- VERSION 1.0)
34-
35- # ----------------------------------------------------------------------------
36- # ----------------------------------------------------------------------------
37-
381option (ALIEN_HYPRE_UNIT_TESTS "Enable Hypre wrapper tests" ${ALIEN_UNIT_TESTS} )
392
40- set (BUILD_SHARED_LIBS True )
41-
42- list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /CMake)
43-
44- # ----------------------------------------------------------------------------
45- # ----------------------------------------------------------------------------
46-
47- find_package (Arccon REQUIRED)
48- list (APPEND CMAKE_MODULE_PATH ${ARCCON_MODULE_PATH} )
49- include (${ARCCON_CMAKE_COMMANDS} )
50-
51- find_package (Arccore REQUIRED)
52-
53- find_package (Alien REQUIRED)
3+ find_package (Hypre REQUIRED)
544
555find_package (MPI REQUIRED)
566
57- find_package (Hypre REQUIRED)
58-
597# ----------------------------------------------------------------------------
608# ----------------------------------------------------------------------------
619
62- add_library (alien_hypre
10+ add_library (hypre_wrapper
6311 include /alien/hypre/backend.h
6412 include /alien/hypre/options .h
6513 src/hypre_vector.cpp
@@ -73,11 +21,11 @@ add_library(alien_hypre
7321 src/converters/simplecsr_to_hypre_matrix.cpp
7422 )
7523
76- target_link_libraries (alien_hypre PUBLIC
24+ target_link_libraries (hypre_wrapper PUBLIC
7725 Alien::alien_core
7826 )
7927
80- target_link_libraries (alien_hypre PRIVATE
28+ target_link_libraries (hypre_wrapper PRIVATE
8129 MPI::MPI_CXX
8230 Arccore::arccore_trace
8331 Arccore::arccore_collections
@@ -86,17 +34,18 @@ target_link_libraries(alien_hypre PRIVATE
8634 arccon::Hypre
8735 )
8836
89- target_include_directories (alien_hypre PUBLIC
90- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR } /include >
37+ target_include_directories (hypre_wrapper PUBLIC
38+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR } /include >
9139 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} /include >
9240 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >
9341 )
9442
95- add_library (Alien::alien_hypre ALIAS alien_hypre )
43+ add_library (Alien::hypre_wrapper ALIAS hypre_wrapper )
9644
9745include (GenerateExportHeader)
9846
99- generate_export_header(alien_hypre
47+ generate_export_header(hypre_wrapper
48+ BASE_NAME ALIEN_HYPRE
10049 EXPORT_FILE_NAME include /alien/hypre/export.h
10150 )
10251
@@ -119,7 +68,7 @@ install(DIRECTORY include/alien/hypre
11968 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /alien
12069 )
12170
122- install (TARGETS alien_hypre EXPORT ${ALIENHYPRE_EXPORT_TARGET}
71+ install (TARGETS hypre_wrapper EXPORT ${ALIENHYPRE_EXPORT_TARGET}
12372 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
12473 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
12574 )
@@ -129,28 +78,10 @@ install(
12978 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /alien/hypre
13079)
13180
132- set (alien_install_lib "${CMAKE_INSTALL_LIBDIR} /alien" )
133- set (config_install_dir "${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} " )
134-
13581install (EXPORT ${ALIENHYPRE_EXPORT_TARGET}
136- NAMESPACE Alien::
82+ NAMESPACE ${namespace}
13783 DESTINATION ${config_install_dir} )
13884
139- include (CMakePackageConfigHelpers)
140-
141- set (generated_dir "${CMAKE_CURRENT_BINARY_DIR} /generated" )
142- set (project_config "${generated_dir} /${PROJECT_NAME} Config.cmake" )
143-
144- configure_package_config_file(
145- CMake/${PROJECT_NAME} Config.cmake.in
146- "${project_config} "
147- INSTALL_DESTINATION "${config_install_dir} "
148- )
149-
150- install (FILES "${project_config} "
151- DESTINATION "${config_install_dir} "
152- )
153-
15485install (DIRECTORY examples/ DESTINATION ${CMAKE_INSTALL_DOCDIR} /examples/hypre)
15586# ----------------------------------------------------------------------------
15687# ----------------------------------------------------------------------------
0 commit comments