diff --git a/CMakeLists.txt b/CMakeLists.txt index e3651caa..76f3e67f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.14 FATAL_ERROR) +cmake_minimum_required(VERSION 3.20 FATAL_ERROR) project( ViennaLS LANGUAGES CXX @@ -78,7 +78,7 @@ endif() target_include_directories( ${PROJECT_NAME} INTERFACE $ - $) + $) # -------------------------------------------------------------------------------------------------------- # Setup Dependencies @@ -86,11 +86,15 @@ target_include_directories( include("cmake/cpm.cmake") +CPMAddPackage( + NAME PackageProject + VERSION 1.11.1 + GIT_REPOSITORY "https://github.com/TheLartians/PackageProject.cmake") + CPMFindPackage( NAME ViennaHRLE GIT_TAG master - GIT_REPOSITORY "https://github.com/ViennaTools/ViennaHRLE" - EXCLUDE_FROM_ALL ON) + GIT_REPOSITORY "https://github.com/ViennaTools/ViennaHRLE") find_package(OpenMP REQUIRED) target_link_libraries(${PROJECT_NAME} INTERFACE OpenMP::OpenMP_CXX ViennaHRLE) @@ -125,8 +129,7 @@ if(VIENNALS_USE_VTK) "VTK_MODULE_ENABLE_VTK_IOXML YES" "VTK_MODULE_ENABLE_VTK_FiltersCore YES" "VTK_MODULE_ENABLE_VTK_FiltersGeneral YES" - "VTK_MODULE_ENABLE_VTK_FiltersGeometry YES" - EXCLUDE_FROM_ALL ON) + "VTK_MODULE_ENABLE_VTK_FiltersGeometry YES") target_compile_definitions(${PROJECT_NAME} INTERFACE VIENNALS_USE_VTK=1) @@ -205,16 +208,10 @@ endif() # Install Target # -------------------------------------------------------------------------------------------------------- -install( - TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-config - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - -install( - EXPORT ${PROJECT_NAME}-config - FILE ${PROJECT_NAME}-config.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) - -install(DIRECTORY "include/viennals" TYPE INCLUDE) +packageProject( + NAME ${PROJECT_NAME} + VERSION ${PROJECT_VERSION} + BINARY_DIR ${PROJECT_BINARY_DIR} + INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include/viennals + INCLUDE_DESTINATION include/viennals-${PROJECT_VERSION} +)