diff --git a/CMakeLists.txt b/CMakeLists.txt index 94d6c2c..2bba642 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,10 +13,37 @@ find_package(Boost 1.83 COMPONENTS filesystem REQUIRED) find_package(yaml-cpp 0.6 REQUIRED) add_library(cpackexamplelib filesystem/filesystem.cpp fem/fem.cpp flatset/flatset.cpp yamlParser/yamlParser.cpp) +set_target_properties(cpackexamplelib PROPERTIES PUBLIC_HEADER "filesystem/filesystem.hpp;fem/fem.hpp;flatset/flatset.hpp;yamlParser/yamlParser.hpp") + +# Set up library includes +target_include_directories(cpackexamplelib + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/cpackexamplelib + PUBLIC + $ + $ +) + +set(CPACK_GENERATOR "TGZ;DEB") + +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + add_executable("${PROJECT_NAME}" main.cpp) target_link_libraries("${PROJECT_NAME}" cpackexamplelib) target_link_libraries(cpackexamplelib Boost::filesystem ${YAML_CPP_LIBRARIES}) +# Create install targets +include(GNUInstallDirs) +install(TARGETS cpackexample cpackexamplelib + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cpackexamplelib + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cpackexamplelib + ) + DEAL_II_SETUP_TARGET("${PROJECT_NAME}") DEAL_II_SETUP_TARGET(cpackexamplelib) + +include(CPackConfig) diff --git a/cmake/CPackConfig.cmake b/cmake/CPackConfig.cmake new file mode 100644 index 0000000..cc5f1e8 --- /dev/null +++ b/cmake/CPackConfig.cmake @@ -0,0 +1,15 @@ +set(CPACK_PACKAGE_NAME ${PROJECT_NAME}) + +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SSE cpack exercise example project" + CACHE STRING "Extended summary.") + +set(CPACK_PACKAGE_VENDOR "luxik") +set(CPACK_PACKAGE_CONTACT "st200343@stud.uni-stuttgart.de") +set(CPACK_PACKAGE_MAINTAINERS "D4rkDuck ${CPACK_PACKAGE_CONTACT}") +set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/D4rkDuck/cpack-exercise-wt2526") + +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS YES) +set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) +set(CPACK_STRIP_FILES TRUE) + +include(CPack) \ No newline at end of file