| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- cmake_minimum_required(VERSION 3.16)
- project(ngs LANGUAGES CXX)
- set(CMAKE_CXX_STANDARD 17)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_CXX_EXTENSIONS OFF)
- add_definitions(-DHPSOCKET_STATIC_LIB)
- add_executable(ngs
- src/main.cpp
- src/utils.cpp
- src/api/api_server.cpp
- src/store/store.cpp
- src/system/metrics.cpp
- src/system/metrics_history.cpp
- src/files/files.cpp
- src/tasks/tasks.cpp
- src/software/software.cpp
- src/software/nginx/nginx.cpp
- src/software/fastweb/fastweb.cpp
- src/software/mysql/mysql.cpp
- src/software/redis/redis.cpp
- src/website/website.cpp
- src/ssl/acme.cpp
- src/auth/auth.cpp
- src/weblog/weblog.cpp
- )
- target_include_directories(ngs PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/src
- /usr/local/include
- )
- target_compile_options(ngs PRIVATE -Wall -Wextra)
- target_compile_definitions(ngs PRIVATE NGS_SOURCE_DIR="${CMAKE_SOURCE_DIR}")
- link_directories(/usr/local/lib /usr/lib/x86_64-linux-gnu)
- target_link_libraries(ngs PRIVATE
- ylib
- mysqlcppconn
- mysqlclient
- hpsocket
- leveldb
- sqlite3
- ssl
- crypto
- z
- pthread
- dl
- rt
- stdc++fs
- )
- install(TARGETS ngs RUNTIME DESTINATION bin)
- add_custom_target(install-deps
- COMMAND sudo apt-get update
- COMMAND sudo DEBIAN_FRONTEND=noninteractive apt-get install -y
- build-essential cmake pkg-config
- libpcre3-dev zlib1g-dev libssl-dev libsqlite3-dev
- libleveldb-dev libmysqlcppconn-dev libmysqlclient-dev
- curl tar
- COMMENT "Install apt build dependencies (ylib and HPSocket must be preinstalled)"
- VERBATIM
- )
|