|
| 1 | +# TODO export package |
| 2 | + |
| 3 | +#include(GNUInstallDirs) |
| 4 | + |
| 5 | +# install(FILES src/dotprod.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dotprod) |
| 6 | + |
| 7 | +# install(EXPORT dotprod-targets |
| 8 | +# FILE dotprod-targets.cmake |
| 9 | +# NAMESPACE Dotprod:: |
| 10 | +# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake |
| 11 | +# ) |
| 12 | + |
| 13 | +include(CMakePackageConfigHelpers) |
| 14 | + |
| 15 | +write_basic_package_version_file(gt_c_bindings-config-version.cmake |
| 16 | + VERSION ${PROJECT_VERSION} |
| 17 | + COMPATIBILITY SameMajorVersion |
| 18 | + ) |
| 19 | + |
| 20 | +set(gt_c_bindings_MODULE_PATH lib/cmake) |
| 21 | +set(gt_c_bindings_SOURCES_PATH src) |
| 22 | +set(gt_c_bindings_INCLUDE_PATH include) |
| 23 | + |
| 24 | +configure_package_config_file(cmake/gt_c_bindings-config.cmake.in |
| 25 | +${CMAKE_CURRENT_BINARY_DIR}/gt_c_bindings-config.cmake |
| 26 | +PATH_VARS gt_c_bindings_MODULE_PATH gt_c_bindings_SOURCES_PATH gt_c_bindings_INCLUDE_PATH |
| 27 | +INSTALL_DESTINATION lib/cmake |
| 28 | +) |
| 29 | + |
| 30 | +install( |
| 31 | + FILES |
| 32 | + ${CMAKE_CURRENT_BINARY_DIR}/gt_c_bindings-config.cmake |
| 33 | + ${CMAKE_CURRENT_BINARY_DIR}/gt_c_bindings-config-version.cmake |
| 34 | + DESTINATION lib/cmake |
| 35 | + ) |
| 36 | + |
| 37 | +set(BINDINGS_CMAKE_DIR "\${gt_c_bindings_MODULE_PATH}") #TODO refactor the variable names gt_c_bindings_MODULE_PATH, etc. |
| 38 | +set(BINDINGS_SOURCE_DIR "\${gt_c_bindings_SOURCES_PATH}") |
| 39 | +set(BINDINGS_INCLUDE_DIR "\${gt_c_bindings_INCLUDE_PATH}") |
| 40 | +message(STATUS "${BINDINGS_INCLUDE_PATH}") |
| 41 | +configure_file(cmake/gt_bindings.cmake.in |
| 42 | + ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/gt_bindings.cmake |
| 43 | + @ONLY) |
| 44 | + |
| 45 | +set(CMAKE_SOURCES |
| 46 | + "${PROJECT_SOURCE_DIR}/cmake/gt_bindings_generate.cmake" |
| 47 | + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/gt_bindings.cmake" |
| 48 | + ) |
| 49 | +set(CBINDINGS_SOURCES |
| 50 | + "${PROJECT_SOURCE_DIR}/src/c_bindings/generator.cpp" |
| 51 | + "${PROJECT_SOURCE_DIR}/src/c_bindings/generator_main.cpp" |
| 52 | + "${PROJECT_SOURCE_DIR}/src/c_bindings/array_descriptor.f90" |
| 53 | + "${PROJECT_SOURCE_DIR}/src/c_bindings/handle.f90" |
| 54 | + "${PROJECT_SOURCE_DIR}/src/c_bindings/handle.cpp" |
| 55 | + ) |
| 56 | + |
| 57 | +install(DIRECTORY include/ DESTINATION include) |
| 58 | +install(FILES ${CMAKE_SOURCES} DESTINATION "lib/cmake") |
| 59 | +install(FILES ${CBINDINGS_SOURCES} DESTINATION "src/c_bindings") |
0 commit comments