30 lines
869 B
CMake
30 lines
869 B
CMake
cmake_minimum_required(VERSION 3.17)
|
|
|
|
project(TOSLib
|
|
VERSION 1.0
|
|
DESCRIPTION "TOSLib")
|
|
|
|
add_library(${PROJECT_NAME} STATIC)
|
|
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_23)
|
|
|
|
|
|
include(FetchContent)
|
|
|
|
find_package(ICU REQUIRED COMPONENTS i18n uc)
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ${ICU_INCLUDE_DIR})
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${ICU_LIBRARIES})
|
|
|
|
# OpenSSL
|
|
find_package(OpenSSL REQUIRED)
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
|
|
|
# Boost
|
|
find_package(Boost CONFIG 1.89 REQUIRED COMPONENTS headers)
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::headers)
|
|
|
|
# Исходники
|
|
file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "Src/*.cpp")
|
|
target_sources(${PROJECT_NAME} PRIVATE ${SOURCES})
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Src)
|
|
|