aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt58
1 files changed, 58 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..d83676c
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,58 @@
+cmake_minimum_required(VERSION 3.16)
+
+project(smolbote VERSION 0.1.0 LANGUAGES CXX)
+
+list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
+
+include(CppCheck)
+include(CompilerOptions)
+include(FeatureSummary)
+include(GNUInstallDirs)
+
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+
+# set C++ standard for all targets
+set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
+# set PIE for all targets
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
+# dependencies
+find_package(GTest)
+enable_testing()
+
+find_package(spdlog REQUIRED)
+
+find_package(Qt6 6.0.0 REQUIRED COMPONENTS
+ Network
+ Widgets
+ SvgWidgets
+ WebEngineCore
+ WebEngineWidgets
+ Concurrent
+)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
+add_subdirectory(third_party/SingleApplication)
+
+add_subdirectory(lib/bookmarks)
+add_subdirectory(lib/configuration)
+add_subdirectory(lib/downloads)
+#add_subdirectory(lib/pluginloader)
+add_subdirectory(lib/session_formats)
+add_subdirectory(lib/urlfilter)
+
+add_subdirectory(src/about)
+add_subdirectory(src/webengine)
+add_subdirectory(src)
+
+add_subdirectory(doc)
+
+install(TARGETS poi DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+feature_summary(WHAT ALL)