Files
airi/CMakeLists.txt
2025-12-30 02:54:25 +01:00

69 lines
1.7 KiB
CMake

cmake_minimum_required (VERSION 3.15)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
set(BOT_NAME "airi")
project(${BOT_NAME})
aux_source_directory("src" coresrc)
add_executable(${BOT_NAME} ${coresrc})
string(ASCII 27 Esc)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set_target_properties(${BOT_NAME} PROPERTIES
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON
)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)
find_package(DPP)
if(APPLE)
if(CMAKE_APPLE_SILICON_PROCESSOR)
set(OPENSSL_ROOT_DIR "/opt/homebrew/opt/openssl")
else()
set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl")
endif()
find_package(OpenSSL REQUIRED)
else()
find_package(OpenSSL REQUIRED)
endif()
if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
set(DL_LIBRARY dl)
endif()
target_include_directories(${BOT_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
${OPENSSL_INCLUDE_DIR}
)
target_link_libraries(${BOT_NAME}
${DL_LIBRARY}
${CMAKE_THREAD_LIBS_INIT}
${OPENSSL_CRYPTO_LIBRARY}
${OPENSSL_SSL_LIBRARY}
)
if (DPP_FOUND)
target_link_libraries(${BOT_NAME} ${DPP_LIBRARIES})
target_include_directories(${BOT_NAME} PUBLIC ${DPP_INCLUDE_DIR})
else()
find_package(Git)
message(WARNING "Could not find DPP install. Building from source instead.")
if (GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
RESULT_VARIABLE RESULT)
if (NOT RESULT EQUAL 0)
message(FATAL_ERROR "Failed to update the D++ submodule. Code: ${RESULT}.")
else()
add_subdirectory(DPP)
target_link_libraries(${BOT_NAME} dpp)
endif()
else()
message(FATAL_ERROR "Failed to find the git executable. Can't update the D++ submodule.")
endif()
endif()