cmake_minimum_required(VERSION 3.15) set(PROJECT_NAME "markov bot") project (${PROJECT_NAME}) set_property (GLOBAL PROPERTY USE_FOLDERS ON) set (CMAKE_CXX_STANDARD 17) set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_BUILD_TYPE Debug) set (CMAKE_CXX_FLAGS_DEBUG_INIT "-Wall -g -Werror=format-security -Werror=implicit-function-declaration -fsanitize=address") set (THREADS_PREFER_PTHREAD_FLAG ON) find_package (Threads REQUIRED) find_package(Boost 1.66 REQUIRED COMPONENTS system) IF(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) ELSE() message(FATAL "${CMAKE_SOURCE_DIR}/libtelegram/include") ENDIF(Boost_FOUND) find_package(OpenSSL REQUIRED) add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/SQLiteCpp) include_directories( ${CMAKE_CURRENT_LIST_DIR}/SQLiteCpp/include ) set(include_dir "${CMAKE_SOURCE_DIR}/libtelegram/include") message(STATUS "include_dir: ${include_dir}") include_directories (${include_dir}) set(link_libs Threads::Threads OpenSSL::SSL Boost::system SQLiteCpp sqlite3 dl) macro(add_tg_example name) set(target_name ${name}) add_executable(${target_name} ${name}.cpp) target_link_libraries(${target_name} ${link_libs}) endmacro(add_tg_example name) add_tg_example(bot)