cmake_minimum_required(VERSION 3.10) project(ChargeParticles VERSION 1.0) set(CMAKE_CXX_STANDARD 17) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) set(CMAKE_MODULE_PATH "modules/" ${CMAKE_MODULE_PATH}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address") endif() find_package(Corrade REQUIRED Main) find_package(Magnum REQUIRED GL) find_package(PkgConfig REQUIRED) add_library(ChargeParticles SHARED "src/ChargeParticles.hpp") target_link_libraries(ChargeParticles PRIVATE Corrade::Main Magnum::Magnum Magnum::GL) target_include_directories( ChargeParticles PUBLIC $ $ $) # Library install( TARGETS ChargeParticles EXPORT ChargeParticlesTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) # include install(FILES src/ChargeParticles.hpp DESTINATION include/Charge) install( EXPORT ChargeParticlesTargets FILE ChargeParticlesTargets.cmake NAMESPACE ChargeParticles:: DESTINATION lib/cmake/ChargeParticles) include(CMakePackageConfigHelpers) configure_package_config_file( ${CMAKE_CURRENT_SOURCE_DIR}/ChargeParticlesConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/ChargeParticlesConfig.cmake" INSTALL_DESTINATION lib/cmake/ChargeParticles) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ChargeParticlesConfig.cmake" DESTINATION lib/cmake/ChargeParticles)