diff --git a/examples/external-usage-example/main.cpp b/examples/external-usage-example/main.cpp index 51c8127f..a92aa25c 100644 --- a/examples/external-usage-example/main.cpp +++ b/examples/external-usage-example/main.cpp @@ -1,5 +1,6 @@ #include #include +#include int main() { diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 454b46ca..c720976e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,21 +15,23 @@ set( pcms/coupler.h pcms/coordinate_system.h pcms/field_layout.h - pcms/adapter/point_cloud/point_cloud_layout.h - pcms/adapter/point_cloud/point_cloud.h - pcms/adapter/omega_h/omega_h_field_layout.h - pcms/adapter/omega_h/omega_h_field2.h ) set( PCMS_SOURCES pcms.cpp pcms/create_field.cpp - pcms/adapter/xgc/xgc_field_adapter.h pcms/adapter/point_cloud/point_cloud_layout.cpp pcms/adapter/point_cloud/point_cloud.cpp pcms/adapter/omega_h/omega_h_field_layout.cpp pcms/adapter/omega_h/omega_h_field2.cpp +) +set( + ADAPTER_HEADERS + pcms/adapter/point_cloud/point_cloud_layout.h + pcms/adapter/point_cloud/point_cloud.h + pcms/adapter/omega_h/omega_h_field_layout.h + pcms/adapter/omega_h/omega_h_field2.h pcms/adapter/xgc/xgc_field_adapter.h ) @@ -39,22 +41,21 @@ list(APPEND PCMS_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/pcms/version.h ${CMAKE_CURR add_subdirectory(pcms/utility) - if(PCMS_ENABLE_XGC) list(APPEND PCMS_SOURCES pcms/adapter/xgc/xgc_reverse_classification.cpp) - list(APPEND PCMS_HEADERS pcms/adapter/xgc/xgc_reverse_classification.h) + list(APPEND ADAPTER_HEADERS pcms/adapter/xgc/xgc_reverse_classification.h) endif() if(PCMS_ENABLE_OMEGA_H) list(APPEND PCMS_SOURCES pcms/point_search.cpp) list( APPEND PCMS_HEADERS - pcms/adapter/omega_h/omega_h_field.h pcms/transfer_field.h pcms/transfer_field2.h pcms/uniform_grid.h pcms/point_search.h ) + list(APPEND ADAPTER_HEADERS pcms/adapter/omega_h/omega_h_field.h) endif() find_package(Kokkos REQUIRED) @@ -90,6 +91,12 @@ target_include_directories( "$" "$" ) +target_sources(pcms_core PUBLIC + FILE_SET adapters + TYPE HEADERS + BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/pcms + FILES ${ADAPTER_HEADERS} +) install( TARGETS pcms_core EXPORT pcms_core-targets @@ -99,6 +106,7 @@ install( INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pcms + FILE_SET adapters DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pcms ) configure_package_config_file( @@ -146,7 +154,10 @@ install( INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pcms + FILE_SET adapters DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pcms ) + + # install external headers install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pcms/external/