-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
71 lines (61 loc) · 2.09 KB
/
CMakeLists.txt
File metadata and controls
71 lines (61 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Copyright 2018 - 2026, Joonas Nättilä and the hel-astro-lab contributors
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required (VERSION 3.23)
if(NOT DEFINED CMAKE_CXX_STANDARD)
set (CMAKE_CXX_STANDARD 17)
set (CMAKE_CXX_STANDARD_REQUIRED ON)
endif()
set (CMAKE_CXX_EXTENSIONS OFF)
project (
mpi4cpp
VERSION 0.1.0
DESCRIPTION "C++ MPI wrapper library."
HOMEPAGE_URL "https://github.com/hel-astro-lab"
LANGUAGES CXX
)
add_library (mpi4cpp INTERFACE)
target_sources (
mpi4cpp
INTERFACE FILE_SET
all_mpi4cpp_headers
TYPE
HEADERS
BASE_DIRS
./include/
FILES
./include/mpi4cpp/communicator.h
./include/mpi4cpp/communicator_impl.h
./include/mpi4cpp/datatype_fwd.h
./include/mpi4cpp/datatype.h
./include/mpi4cpp/environment.h
./include/mpi4cpp/environment_impl.h
./include/mpi4cpp/exception.h
./include/mpi4cpp/mpi.h
./include/mpi4cpp/nonblocking.h
./include/mpi4cpp/nonblocking_impl.h
./include/mpi4cpp/point2point_impl.h
./include/mpi4cpp/request.h
./include/mpi4cpp/request_impl.h
./include/mpi4cpp/status.h
./include/mpi4cpp/status_impl.h
./include/mpi4cpp/detail/mpi_datatype_cache.h
./include/mpi4cpp/detail/mpi_datatype_cache_impl.h
./include/mpi4cpp/detail/mpl.h
)
# Use phony target for handling targets.
add_library (mpi4cpp_warnings INTERFACE)
target_compile_options (mpi4cpp_warnings
INTERFACE
$<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wpedantic>
$<$<CXX_COMPILER_ID:Clang>:-Wall -Wextra -Wpedantic -Wno-missing-braces>
)
find_package (MPI)
target_link_libraries (mpi4cpp INTERFACE MPI::MPI_CXX mpi4cpp_warnings)
if (PROJECT_IS_TOP_LEVEL)
# Declares BUILD_TESTING option (default: ON).
include(CTest)
if (BUILD_TESTING)
message (STATUS "Enabling tests...")
add_subdirectory (test)
endif ()
endif ()