-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_linux.sh
More file actions
executable file
·72 lines (61 loc) · 1.99 KB
/
build_linux.sh
File metadata and controls
executable file
·72 lines (61 loc) · 1.99 KB
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
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
# Проверка на Linux
if [[ "$(uname)" != "Linux" ]]; then
echo "Этот скрипт предназначен только для Linux!"
exit 1
fi
# Проверка наличия необходимых программ
MISSING_DEPS=0
check_dependency() {
which $1 > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "ОШИБКА: $1 не найден"
MISSING_DEPS=1
else
echo "OK: $1 найден"
fi
}
echo "Проверка зависимостей..."
check_dependency cmake
check_dependency make
check_dependency g++
check_dependency pkg-config
# Проверка libpcap
pkg-config --exists libpcap
if [ $? -ne 0 ]; then
echo "ОШИБКА: libpcap не найден"
MISSING_DEPS=1
else
echo "OK: libpcap найден"
fi
# Проверка Qt
if [ -z "$(pkg-config --list-all | grep -E 'Qt6Core|Qt5Core')" ]; then
echo "ОШИБКА: Qt не найден"
MISSING_DEPS=1
else
echo "OK: Qt найден"
fi
if [ $MISSING_DEPS -ne 0 ]; then
echo "Необходимые зависимости не установлены."
echo "Пожалуйста, установите недостающие зависимости и запустите скрипт снова."
echo "См. README_LINUX.md для инструкций по установке зависимостей."
exit 1
fi
# Создание папки для сборки, если она не существует
mkdir -p build
cd build
# Запуск CMake и сборка
echo "Запуск CMake..."
cmake ..
if [ $? -ne 0 ]; then
echo "ОШИБКА: CMake завершился с ошибкой"
exit 1
fi
echo "Сборка проекта..."
make -j$(nproc)
if [ $? -ne 0 ]; then
echo "ОШИБКА: Сборка завершилась с ошибкой"
exit 1
fi
echo "Сборка успешно завершена!"
echo "Для запуска программы выполните: sudo ./Intrusion_Detection_System_IDS"