cmake_minimum_required(VERSION 3.14) project(oatpp-authkit VERSION 0.13.0 LANGUAGES CXX) # Header-only interface library — no compilation, just an include path and # a CMake config package so consumers do: # find_package(oatpp-authkit REQUIRED) # target_link_libraries(app PRIVATE oatpp::authkit) # # Or FetchContent: # FetchContent_Declare(oatpp-authkit GIT_REPOSITORY ... GIT_TAG v0.1.0) # FetchContent_MakeAvailable(oatpp-authkit) add_library(oatpp-authkit INTERFACE) add_library(oatpp::authkit ALIAS oatpp-authkit) target_include_directories(oatpp-authkit INTERFACE $ $ ) target_compile_features(oatpp-authkit INTERFACE cxx_std_17) # Installation include(GNUInstallDirs) include(CMakePackageConfigHelpers) install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(TARGETS oatpp-authkit EXPORT oatpp-authkit-targets) install(EXPORT oatpp-authkit-targets FILE oatpp-authkit-targets.cmake NAMESPACE oatpp:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/oatpp-authkit) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/oatpp-authkit-config-version.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion) configure_package_config_file( cmake/oatpp-authkit-config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/oatpp-authkit-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/oatpp-authkit) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/oatpp-authkit-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/oatpp-authkit-config-version.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/oatpp-authkit) # ─── Tests ─────────────────────────────────────────────────────────────────── # Off by default so consumers pulling us in via FetchContent don't pay the # cost. Enable with -DOATPP_AUTHKIT_BUILD_TESTS=ON. option(OATPP_AUTHKIT_BUILD_TESTS "Build oatpp-authkit unit tests" OFF) if(OATPP_AUTHKIT_BUILD_TESTS) enable_testing() add_subdirectory(test) endif()