-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
44 lines (36 loc) · 1.14 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# ================================ #
# === Set up build requirements == #
# ================================ #
cmake_minimum_required(VERSION 3.28.1)
project(CryptIT LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN On)
set(TARGET_NAME ${PROJECT_NAME})
if (BUILD_TESTS)
# Print out the build type
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
enable_testing()
endif ()
# ================================ #
# === Find required modules ==== #
# ================================ #
# Modules that need's to be in root (Local projects)
find_package(Qt6 REQUIRED)
if (NOT Qt6_FOUND)
message(FATAL_ERROR "Qt6 not found")
endif (NOT Qt6_FOUND)
find_package(cryptopp REQUIRED)
if (NOT cryptopp_FOUND)
message(FATAL_ERROR "CryptoPP not found")
endif (NOT cryptopp_FOUND)
find_package(GTest)
if (NOT GTest_FOUND)
message(FATAL_ERROR "GTest not found")
endif (NOT GTest_FOUND)
# ================================ #
# === Create build targets ======= #
# ================================ #
add_subdirectory(src)