11# TODO split out the field transfer library
2- set (PCMS_HEADERS
3- pcms.h
4- pcms/arrays.h
5- pcms/assert.h
6- pcms/bounding_box.h
7- pcms/common.h
8- pcms/coordinate.h
9- pcms/coordinate_systems.h
10- pcms/coordinate_transform.h
11- pcms/field.h
12- pcms/create_field.h
13- pcms/field_communicator.h
14- pcms/field_communicator2.h
15- pcms/field_evaluation_methods.h
16- pcms/memory_spaces.h
17- pcms/types.h
18- pcms/array_mask.h
19- pcms/inclusive_scan.h
20- pcms/profile.h
21- pcms/print.h
22- pcms/partition.h
23- pcms/coupler.h
24- pcms/coordinate_system.h
25- pcms/field_layout.h
26- pcms/adapter/point_cloud/point_cloud_layout.h
27- pcms/adapter/point_cloud/point_cloud.h
28- pcms/adapter/omega_h/omega_h_field_layout.h
29- pcms/adapter/omega_h/omega_h_field2.h)
2+ set (
3+ PCMS_HEADERS
4+ pcms.h
5+ pcms/arrays.h
6+ pcms/assert.h
7+ pcms/bounding_box.h
8+ pcms/common.h
9+ pcms/coordinate.h
10+ pcms/coordinate_systems.h
11+ pcms/coordinate_transform.h
12+ pcms/field.h
13+ pcms/create_field.h
14+ pcms/field_communicator.h
15+ pcms/field_communicator2.h
16+ pcms/field_evaluation_methods.h
17+ pcms/memory_spaces.h
18+ pcms/types.h
19+ pcms/array_mask.h
20+ pcms/inclusive_scan.h
21+ pcms/profile.h
22+ pcms/print.h
23+ pcms/partition.h
24+ pcms/coupler.h
25+ pcms/coordinate_system.h
26+ pcms/field_layout.h
27+ pcms/adapter/point_cloud/point_cloud_layout.h
28+ pcms/adapter/point_cloud/point_cloud.h
29+ pcms/adapter/omega_h/omega_h_field_layout.h
30+ pcms/adapter/omega_h/omega_h_field2.h
31+ )
3032
31- set (PCMS_SOURCES
32- pcms.cpp
33- pcms/assert.cpp
34- pcms/print.cpp
35- pcms/create_field.cpp
36- pcms/adapter/xgc/xgc_field_adapter.h
37- pcms/adapter/point_cloud/point_cloud_layout.cpp
38- pcms/adapter/point_cloud/point_cloud.cpp
39- pcms/adapter/omega_h/omega_h_field_layout.cpp
40- pcms/adapter/omega_h/omega_h_field2.cpp
41- pcms/adapter/xgc/xgc_field_adapter.h)
33+ set (
34+ PCMS_SOURCES
35+ pcms.cpp
36+ pcms/assert.cpp
37+ pcms/print.cpp
38+ pcms/create_field.cpp
39+ pcms/adapter/xgc/xgc_field_adapter.h
40+ pcms/adapter/point_cloud/point_cloud_layout.cpp
41+ pcms/adapter/point_cloud/point_cloud.cpp
42+ pcms/adapter/omega_h/omega_h_field_layout.cpp
43+ pcms/adapter/omega_h/omega_h_field2.cpp
44+ pcms/adapter/xgc/xgc_field_adapter.h
45+ )
4246
4347configure_file (pcms/version .h.in pcms/version .h)
48+ configure_file (pcms/configuration .h.in pcms/configuration .h)
49+ list (APPEND PCMS_HEADERS ${CMAKE_CURRENT_BINARY_DIR} /pcms/version .h ${CMAKE_CURRENT_BINARY_DIR} /pcms/configuration .h)
50+
4451
4552if (PCMS_ENABLE_XGC)
4653 list (APPEND PCMS_SOURCES pcms/adapter/xgc/xgc_reverse_classification.cpp)
@@ -55,40 +62,36 @@ if(PCMS_ENABLE_OMEGA_H)
5562 pcms/transfer_field.h
5663 pcms/transfer_field2.h
5764 pcms/uniform_grid.h
58- pcms/point_search.h)
65+ pcms/point_search.h
66+ )
5967endif ()
6068
6169find_package (Kokkos REQUIRED)
6270find_package (perfstubs REQUIRED)
6371
6472add_library (pcms_core ${PCMS_SOURCES} )
65- set_target_properties (pcms_core PROPERTIES OUTPUT_NAME pcmscore EXPORT_NAME
66- core)
73+ set_target_properties (
74+ pcms_core PROPERTIES OUTPUT_NAME pcmscore EXPORT_NAME
75+ core
76+ )
6777add_library (pcms::core ALIAS pcms_core)
6878target_compile_features (pcms_core PUBLIC cxx_std_17)
69- target_link_libraries (pcms_core PUBLIC meshfields::meshfields redev::redev
70- MPI::MPI_CXX Kokkos::kokkos perfstubs)
79+ target_link_libraries (
80+ pcms_core PUBLIC meshfields::meshfields redev::redev
81+ MPI::MPI_CXX Kokkos::kokkos perfstubs
82+ )
7183if (PCMS_ENABLE_OMEGA_H)
7284 target_link_libraries (pcms_core PUBLIC Omega_h::omega_h)
73- target_compile_definitions (pcms_core PUBLIC -DPCMS_HAS_OMEGA_H)
74- endif ()
75- if (PCMS_ENABLE_SERVER)
76- target_compile_definitions (pcms_core PUBLIC -DPCMS_HAS_SERVER)
7785endif ()
7886
7987if (PCMS_HAS_ASAN)
80- target_compile_options (pcms_core PRIVATE -fsanitize=address
81- -fno-omit-frame-pointer)
82- endif ()
83-
84- if (PCMS_PRINT_ENABLED)
85- add_definitions (-DPCMS_PRINT_ENABLED)
86- target_compile_definitions (pcms_core INTERFACE -DPCMS_PRINT_ENABLED)
88+ target_compile_options (
89+ pcms_core PRIVATE -fsanitize=address
90+ -fno-omit-frame-pointer
91+ )
8792endif ()
8893
89- if (spdlog_FOUND)
90- add_definitions (-DPCMS_SPDLOG_ENABLED)
91- target_compile_definitions (pcms_core INTERFACE -DPCMS_SPDLOG_ENABLED)
94+ if (PCMS_ENABLE_SPDLOG)
9295 target_link_libraries (pcms_core PUBLIC spdlog::spdlog)
9396endif ()
9497
@@ -97,8 +100,9 @@ set_target_properties(pcms_core PROPERTIES PUBLIC_HEADER "${PCMS_HEADERS}")
97100target_include_directories (
98101 pcms_core
99102 PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} >"
100- "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} >"
101- "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >" )
103+ "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} >"
104+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >"
105+ )
102106install (
103107 TARGETS pcms_core
104108 EXPORT pcms_core-targets
@@ -107,23 +111,29 @@ install(
107111 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
108112 INCLUDES
109113 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
110- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /pcms)
114+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /pcms
115+ )
111116
112117configure_package_config_file(
113118 "${CMAKE_SOURCE_DIR} /config.cmake.in" "${CMAKE_BINARY_DIR} /pcms-config.cmake"
114- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms)
119+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms
120+ )
115121write_basic_package_version_file(
116122 "${PROJECT_BINARY_DIR} /pcms-config-version.cmake"
117- COMPATIBILITY AnyNewerVersion)
123+ COMPATIBILITY AnyNewerVersion
124+ )
118125
119- install (FILES "${PROJECT_BINARY_DIR} /pcms-config.cmake"
120- "${PROJECT_BINARY_DIR} /pcms-config-version.cmake"
121- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms)
126+ install (
127+ FILES "${PROJECT_BINARY_DIR} /pcms-config.cmake"
128+ "${PROJECT_BINARY_DIR} /pcms-config-version.cmake"
129+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms
130+ )
122131
123132install (
124133 EXPORT pcms_core-targets
125134 NAMESPACE pcms::
126- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms)
135+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms
136+ )
127137
128138add_library (pcms_pcms INTERFACE )
129139target_link_libraries (pcms_pcms INTERFACE pcms::core)
@@ -147,11 +157,15 @@ install(
147157 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
148158 INCLUDES
149159 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
150- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /pcms)
160+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /pcms
161+ )
151162# install external headers
152- install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /pcms/external/
153- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /pcms/external)
163+ install (
164+ DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /pcms/external/
165+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /pcms/external
166+ )
154167install (
155168 EXPORT pcms-targets
156169 NAMESPACE pcms::
157- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms)
170+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/pcms
171+ )
0 commit comments