abaddon/CMakeLists.txt
2020-12-17 21:07:12 -05:00

101 lines
2.7 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(abaddon)
set(CMAKE_CXX_STANDARD 17)
option(DISABLE_MBEDTLS "Disable mbedtls" OFF)
add_compile_definitions(NOMINMAX)
find_path(GTKMM_INCLUDE_DIRS gtkmm.h REQUIRED)
find_library(GTKMM_LIBRARY gtkmm)
include_directories(${GTKMM_INCLUDE_DIRS})
find_library(GLIB_LIBRARY glib-2.0)
find_library(GTK_LIBRARY gtk-3.0)
find_path(GLIBMM_INCLUDE_DIRS glibmm.h)
find_library(GLIBMM_LIBRARY glibmm)
include_directories(${GLIBMM_INCLUDE_DIRS})
find_path(SIGC_INCLUDE_DIRS sigc++/sigc++.h)
find_library(SIGC_LIBRARY sigc-2.0)
include_directories(${SIGC_INCLUDE_DIRS})
find_path(GIOMM_INCLUDE_DIRS giomm.h)
find_library(GIOMM_LIBRARY giomm)
include_directories(${GIOMM_INCLUDE_DIRS})
find_path(GDKMM_INCLUDE_DIRS gdkmm.h)
find_library(GDKMM_LIBRARY gdkmm)
include_directories(${GDKMM_INCLUDE_DIRS})
find_path(ATKMM_INCLUDE_DIRS atkmm.h)
find_library(ATKMM_LIBRARY atkmm)
include_directories(${ATKMM_INCLUDE_DIRS})
find_package(curl)
find_library(CURL_LIBRARY libcurl)
find_path(CPR_INCLUDE_DIRS cpr/cpr.h)
find_library(CPR_LIBRARY cpr)
include_directories(${CPR_INCLUDE_DIRS})
find_package(zlib)
find_library(ZLIB_LIBRARY zlib)
include_directories(${ZLIB_INCLUDE_DIRS})
if(NOT DISABLE_MBEDTLS)
find_library(MBEDTLS_X509_LIBRARY mbedx509)
find_library(MBEDTLS_TLS_LIBRARY mbedtls)
find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto)
include_directories(${MBEDTLS_INCLUDE_DIRS})
endif()
find_package(nlohmann_json 3.2.0 REQUIRED)
find_package(unofficial-sqlite3 CONFIG REQUIRED)
find_path(IXWEBSOCKET_INCLUDE_DIRS ixwebsocket/ixwebsocket.h)
find_library(IXWEBSOCKET_LIBRARY ixwebsocket)
include_directories(${IXWEBSOCKET_INCLUDE_DIRS}})
if(mingw)
link_libraries(ws2_32 wsock2)
endif()
file(GLOB ABADDON_SOURCES
"*.h"
"*.hpp"
"*.cpp"
"discord/*.hpp"
"discord/*.cpp"
"components/*.hpp"
"components/*.cpp"
"windows/*.hpp"
"windows/*.cpp"
"dialogs/*.hpp"
"dialogs/*.cpp"
)
add_executable(abaddon ${ABADDON_SOURCES})
target_link_libraries(abaddon ${IXWEBSOCKET_LIBRARY})
target_link_libraries(abaddon unofficial::sqlite3::sqlite3)
target_link_libraries(abaddon ${GTKMM_LIBRARY})
target_link_libraries(abaddon ${GLIB_LIBRARY})
target_link_libraries(abaddon ${GLIBMM_LIBRARY})
target_link_libraries(abaddon ${SIGC_LIBRARY})
target_link_libraries(abaddon ${GIOMM_LIBRARY})
target_link_libraries(abaddon ${GDKMM_LIBRARY})
target_link_libraries(abaddon ${ATKMM_LIBRARY})
target_link_libraries(abaddon ${CURL_LIBRARY})
target_link_libraries(abaddon ${CPR_LIBRARY})
target_link_libraries(abaddon ${ZLIB_LIBRARY})
target_link_libraries(abaddon ${GTK_LIBRARY})
if(NOT DISABLE_MBEDTLS)
target_link_libraries(abaddon ${MBEDTLS_TLS_LIBRARY})
target_link_libraries(abaddon ${MBEDTLS_X509_LIBRARY})
target_link_libraries(abaddon ${MBEDTLS_CRYPTO_LIBRARY})
endif()