mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
79 lines
2.2 KiB
CMake
79 lines
2.2 KiB
CMake
cmake_minimum_required(VERSION 3.25.0 FATAL_ERROR)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(PROJECT AmneziaVPN)
|
|
set(AMNEZIAVPN_VERSION 4.9.0.1)
|
|
|
|
set(QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP ON CACHE BOOL "" FORCE)
|
|
set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES
|
|
${CMAKE_SOURCE_DIR}/cmake/platform_settings.cmake
|
|
${CMAKE_SOURCE_DIR}/cmake/recipes_bootstrap.cmake
|
|
${CMAKE_SOURCE_DIR}/cmake/conan_provider.cmake
|
|
CACHE STRING "" FORCE)
|
|
|
|
project(${PROJECT} VERSION ${AMNEZIAVPN_VERSION}
|
|
DESCRIPTION "AmneziaVPN"
|
|
HOMEPAGE_URL "https://amnezia.org/"
|
|
)
|
|
|
|
if (PREBUILTS_ONLY)
|
|
# trigger conan to kick off `conan install`
|
|
find_package(OpenSSL REQUIRED)
|
|
return()
|
|
endif()
|
|
|
|
string(TIMESTAMP CURRENT_DATE "%Y-%m-%d")
|
|
set(RELEASE_DATE "${CURRENT_DATE}")
|
|
|
|
set(APP_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH})
|
|
set(APP_ANDROID_VERSION_CODE 2120)
|
|
|
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
|
set(MZ_PLATFORM_NAME "linux")
|
|
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
|
set(MZ_PLATFORM_NAME "windows")
|
|
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
|
set(MZ_PLATFORM_NAME "macos")
|
|
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
|
|
set(MZ_PLATFORM_NAME "android")
|
|
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "iOS")
|
|
set(MZ_PLATFORM_NAME "ios")
|
|
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten")
|
|
set(MZ_PLATFORM_NAME "wasm")
|
|
endif()
|
|
|
|
set(QT_BUILD_TOOLS_WHEN_CROSS_COMPILING ON)
|
|
|
|
if(APPLE AND NOT IOS)
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
set(AMN_PF_RULE_IDENTITY "user { root }")
|
|
else()
|
|
set(AMN_PF_RULE_IDENTITY "group { amnvpn }")
|
|
endif()
|
|
|
|
configure_file(
|
|
"${CMAKE_SOURCE_DIR}/deploy/data/pf-templates/amn.400.allowPIA.conf.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/amn.400.allowPIA.conf"
|
|
@ONLY
|
|
)
|
|
|
|
file(COPY_FILE
|
|
"${CMAKE_CURRENT_BINARY_DIR}/amn.400.allowPIA.conf"
|
|
"${CMAKE_SOURCE_DIR}/deploy/data/macos/pf/amn.400.allowPIA.conf"
|
|
ONLY_IF_DIFFERENT
|
|
)
|
|
endif()
|
|
|
|
|
|
add_subdirectory(client)
|
|
|
|
if(NOT IOS AND NOT ANDROID AND NOT MACOS_NE)
|
|
add_subdirectory(service)
|
|
endif()
|
|
|
|
if ((LINUX AND NOT ANDROID) OR (APPLE AND NOT IOS AND NOT MACOS_NE) OR (WIN32))
|
|
include(${CMAKE_SOURCE_DIR}/cmake/CPack.cmake)
|
|
endif()
|