-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
61 lines (46 loc) · 2 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
cmake_minimum_required(VERSION 3.7)
project(NetworksLabs LANGUAGES CXX)
include(cmake/config.cmake)
include(cmake/functions.cmake)
set(Qt5_DIR ${QT5_LOCATION}/lib/cmake/Qt5)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CONFIGURATION_TYPES Release Debug)
find_package(Qt5 COMPONENTS Core Widgets Network REQUIRED)
add_subdirectory(Lab1/TCPClient)
add_subdirectory(Lab1/TCPServer)
add_subdirectory(Lab1/UDPClient)
add_subdirectory(Lab1/UDPServer)
add_subdirectory(Lab2/TCPClientFiles)
add_subdirectory(Lab2/TCPServerFiles)
add_subdirectory(Lab2/UDPClientFiles)
add_subdirectory(Lab2/UDPServerFiles)
add_subdirectory(Lab3/Base64)
add_subdirectory(Lab4/SMTPSender)
add_subdirectory(Lab5/POP3Receiver)
add_subdirectory(kurs/Mailer)
if(UNIX)
return()
endif()
set(RELEASE_ENDING .dll)
set(DEBUG_ENDING d.dll)
set(RELEASE_PLUGINS_FILTER "*[^d].dll")
set(DEBUG_PLUGINS_FILTER "*d.dll")
foreach(QT5_LIB ${QT5_LIBS})
set(QT5_DLLS_RELEASE ${QT5_DLLS_RELEASE} ${QT5_LIB}${RELEASE_ENDING})
set(QT5_DLLS_DEBUG ${QT5_DLLS_DEBUG} ${QT5_LIB}${DEBUG_ENDING})
endforeach()
set(OPENSSL_LIBS libcrypto-1_1${RELEASE_ENDING})
set(OPENSSL_LIBS ${OPENSSL_LIBS} libssl-1_1${RELEASE_ENDING})
COPY_FILES(${OPENSSL_LOCATION}/bin "${OPENSSL_LIBS}" ${PROJECT_DIR}/bin/Release)
COPY_FILES(${OPENSSL_LOCATION}/bin "${OPENSSL_LIBS}" ${PROJECT_DIR}/bin/Debug)
COPY_FILES(${QT5_LOCATION}/bin "${QT5_DLLS_RELEASE}" ${PROJECT_DIR}/bin/Release)
COPY_FILES(${QT5_LOCATION}/bin "${QT5_DLLS_DEBUG}" ${PROJECT_DIR}/bin/Debug)
COPY_DIRS_FILES(${QT5_LOCATION}/plugins "${QT5_PLUGINS}" ${RELEASE_PLUGINS_FILTER} ${PROJECT_DIR}/bin/Release/plugins)
COPY_DIRS_FILES(${QT5_LOCATION}/plugins "${QT5_PLUGINS}" ${DEBUG_PLUGINS_FILTER} ${PROJECT_DIR}/bin/Debug/plugins)
COPY_DIRS_FILES(${QT5_LOCATION} translations "*.qm" ${PROJECT_DIR}/bin/Release/translations)
COPY_DIRS_FILES(${QT5_LOCATION} translations "*.qm" ${PROJECT_DIR}/bin/Debug/translations)