aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt85
1 files changed, 85 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..c7147c4
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,85 @@
+cmake_minimum_required(VERSION 3.18)
+
+project(smolbote VERSION 0.1.0 LANGUAGES CXX)
+
+include(FeatureSummary)
+include(GNUInstallDirs)
+include(cmake/StandardProjectSettings.cmake)
+include(cmake/CompilerWarnings.cmake)
+include(cmake/Sanitize.cmake)
+include(cmake/ThirdParty.cmake)
+
+option(b_manpages "Build manpages (requires scdoc" OFF)
+option(b_translations "Build translations" OFF)
+option(b_tests "Build tests" ON)
+
+# TODO
+#option(b_signPlugins "Generate OpenSSL signing key and sign plugins" ON)
+
+if(b_manpages)
+ add_subdirectory(doc/man)
+endif()
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(b_tests)
+ enable_testing()
+endif()
+enable_warnings()
+
+find_package(Qt5 COMPONENTS Widgets Svg Network WebEngine WebEngineWidgets REQUIRED)
+find_package(spdlog REQUIRED)
+add_compile_options(-DSPDLOG_FMT_EXTERNAL)
+find_package(Catch2)
+find_package(OpenSSL REQUIRED)
+
+download_third_party(SingleApplication-3.1.5
+ "https://github.com/itay-grudev/SingleApplication/archive/v3.1.5.tar.gz" singleapplication-v3.1.5.tar.gz
+ SHA256 09b1e088dae8cf69187262554819b77f4ca7b65576b3f39c5b6885823e8a2dbb)
+set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
+add_subdirectory(third-party/SingleApplication-3.1.5)
+
+download_third_party(rcc-0.1.2
+ https://neueland.iserlohn-fortress.net/cgit/rcc/snapshot/rcc-0.1.2.tar.xz rcc-0.1.2.tar.xz
+ SHA256 5ee18b94401b720e6e65d8e0e38dd6ea23cab7ae4727742be313530969a69d50)
+set(RCC ${CMAKE_SOURCE_DIR}/third-party/rcc-0.1.2/rcc)
+
+download_third_party(tabler-icons-1.34.0
+ https://github.com/tabler/tabler-icons/archive/v1.34.0.tar.gz v1.34.0.tar.gz
+ SHA256 bc74e5bd28531445f2e50df44f3688b1116397a25a0086e6944ab52260b70ffd)
+set(ICONS_PATH ${CMAKE_SOURCE_DIR}/third-party/tabler-icons-1.34.0)
+
+add_subdirectory(lib/bookmarks)
+add_subdirectory(lib/configuration)
+add_subdirectory(lib/downloads)
+add_subdirectory(lib/pluginloader)
+add_subdirectory(lib/session_formats)
+add_subdirectory(lib/smolblok)
+add_subdirectory(src)
+
+add_subdirectory(plugins/HostlistFilter)
+
+# TODO
+#add_subdirectory(lang)
+
+add_subdirectory(linux)
+
+feature_summary(WHAT ALL)
+message(STATUS "Project
+ name: ${CMAKE_PROJECT_NAME}
+ version: ${CMAKE_PROJECT_VERSION}")
+message(STATUS "Compiler
+ id: ${CMAKE_CXX_COMPILER_ID}
+ version: ${CMAKE_CXX_COMPILER_VERSION}
+ compiler: ${CMAKE_CXX_COMPILER}")
+message(STATUS "Install paths
+ prefix: ${CMAKE_INSTALL_PREFIX}
+ bindir: ${CMAKE_INSTALL_BINDIR}
+ libdir: ${CMAKE_INSTALL_LIBDIR}
+ datadir: ${CMAKE_INSTALL_DATADIR}
+ mandir: ${CMAKE_INSTALL_MANDIR}")
+message(STATUS "Build options
+ manpages: ${b_manpages}
+ i18n: ${b_translations}
+ tests: ${b_tests}")