# # Tribufu API # REST API to access Tribufu services. # # The version of the OpenAPI document: 1.0.0 # # https://openapi-generator.tech # # NOTE: Auto generated by OpenAPI Generator (https://openapi-generator.tech). cmake_minimum_required (VERSION 3.5) project(tribufu CXX) # Force -fPIC even if the project is configured for building a static library. set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CXX_STANDARD_REQUIRED ON) if(NOT CMAKE_CXX_STANDARD) if(DEFINED CMAKE_CXX20_STANDARD_COMPILE_OPTION OR DEFINED CMAKE_CXX20_EXTENSION_COMPILE_OPTION) set(CMAKE_CXX_STANDARD 20) elseif(DEFINED CMAKE_CXX17_STANDARD_COMPILE_OPTION OR DEFINED CMAKE_CXX17_EXTENSION_COMPILE_OPTION) set(CMAKE_CXX_STANDARD 17) elseif(DEFINED CMAKE_CXX14_STANDARD_COMPILE_OPTION OR DEFINED CMAKE_CXX14_EXTENSION_COMPILE_OPTION) set(CMAKE_CXX_STANDARD 14) else() set(CMAKE_CXX_STANDARD 11) endif() endif() if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() find_package(cpprestsdk REQUIRED) find_package(Boost REQUIRED) include(GNUInstallDirs) include(CMakePackageConfigHelpers) file(GLOB_RECURSE HEADER_FILES "include/*.h") file(GLOB_RECURSE SOURCE_FILES "src/*.cpp") add_library(${PROJECT_NAME} ${HEADER_FILES} ${SOURCE_FILES}) target_compile_options(${PROJECT_NAME} PRIVATE $<$,$,$>: -Wall -Wno-unused-variable -Wno-unused-lambda-capture> ) target_include_directories(${PROJECT_NAME} PUBLIC $ $ ) if (UNIX) message(STATUS "Building client library for Linux/Unix") if (BUILD_SHARED_LIBS) target_link_libraries(${PROJECT_NAME} PUBLIC Boost::headers cpprestsdk::cpprest) else() target_link_libraries(${PROJECT_NAME} PUBLIC Boost::headers cpprestsdk::cpprest crypto) endif() else() message(STATUS "Building client library for Windows") if (BUILD_SHARED_LIBS) target_link_libraries(${PROJECT_NAME} PUBLIC Boost::headers cpprestsdk::cpprest) else() target_link_libraries(${PROJECT_NAME} PUBLIC Boost::headers cpprestsdk::cpprest bcrypt) endif() endif() configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" ) install( TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) install( EXPORT ${PROJECT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} )