mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
302 lines
12 KiB
CMake
302 lines
12 KiB
CMake
set(CLIENT_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
|
|
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/core/utils/migrations.h
|
|
${CLIENT_ROOT_DIR}/../ipc/ipc.h
|
|
${CLIENT_ROOT_DIR}/amneziaApplication.h
|
|
${CLIENT_ROOT_DIR}/core/utils/errorCodes.h
|
|
${CLIENT_ROOT_DIR}/core/utils/routeModes.h
|
|
${CLIENT_ROOT_DIR}/core/utils/commonStructs.h
|
|
${CLIENT_ROOT_DIR}/core/utils/containerEnum.h
|
|
${CLIENT_ROOT_DIR}/core/utils/protocolEnum.h
|
|
${CLIENT_ROOT_DIR}/core/utils/containers/containerUtils.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/protocolUtils.h
|
|
${CLIENT_ROOT_DIR}/core/utils/constants/configKeys.h
|
|
${CLIENT_ROOT_DIR}/core/utils/constants/protocolConstants.h
|
|
${CLIENT_ROOT_DIR}/core/utils/constants/apiKeys.h
|
|
${CLIENT_ROOT_DIR}/core/utils/constants/apiConstants.h
|
|
${CLIENT_ROOT_DIR}/core/utils/api/apiEnums.h
|
|
${CLIENT_ROOT_DIR}/core/utils/errorStrings.h
|
|
${CLIENT_ROOT_DIR}/core/utils/selfhosted/scriptsRegistry.h
|
|
${CLIENT_ROOT_DIR}/core/utils/qrCodeUtils.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/coreController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/coreSignalHandlers.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/gatewayController.h
|
|
${CLIENT_ROOT_DIR}/core/utils/selfhosted/sshSession.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/serversController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/usersController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/installController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/exportController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/importController.h
|
|
${CLIENT_ROOT_DIR}/core/installers/installerBase.h
|
|
${CLIENT_ROOT_DIR}/core/installers/awgInstaller.h
|
|
${CLIENT_ROOT_DIR}/core/installers/wireguardInstaller.h
|
|
${CLIENT_ROOT_DIR}/core/installers/openvpnInstaller.h
|
|
${CLIENT_ROOT_DIR}/core/installers/xrayInstaller.h
|
|
${CLIENT_ROOT_DIR}/core/installers/torInstaller.h
|
|
${CLIENT_ROOT_DIR}/core/installers/sftpInstaller.h
|
|
${CLIENT_ROOT_DIR}/core/installers/socks5Installer.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/appSplitTunnelingController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/ipSplitTunnelingController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/allowedDnsController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/exportController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/connectionController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/settingsController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/api/servicesCatalogController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/api/subscriptionController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/api/newsController.h
|
|
${CLIENT_ROOT_DIR}/core/controllers/updateController.h
|
|
${CLIENT_ROOT_DIR}/core/repositories/secureServersRepository.h
|
|
${CLIENT_ROOT_DIR}/core/repositories/secureAppSettingsRepository.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/qmlRegisterProtocols.h
|
|
${CLIENT_ROOT_DIR}/ui/utils/pages.h
|
|
${CLIENT_ROOT_DIR}/ui/utils/qAutoStart.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/vpnProtocol.h
|
|
${CMAKE_CURRENT_BINARY_DIR}/version.h
|
|
${CLIENT_ROOT_DIR}/core/utils/selfhosted/sshClient.h
|
|
${CLIENT_ROOT_DIR}/core/utils/networkUtilities.h
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/serialization.h
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/transfer.h
|
|
${CLIENT_ROOT_DIR}/../common/logger/logger.h
|
|
${CLIENT_ROOT_DIR}/ui/utils/qmlUtils.h
|
|
${CLIENT_ROOT_DIR}/core/utils/api/apiUtils.h
|
|
${CLIENT_ROOT_DIR}/core/utils/osSignalHandler.h
|
|
${CLIENT_ROOT_DIR}/core/utils/utilities.h
|
|
${CLIENT_ROOT_DIR}/core/utils/managementServer.h
|
|
${CLIENT_ROOT_DIR}/core/utils/constants.h
|
|
)
|
|
|
|
# Mozilla headres
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/mozilla/models/server.h
|
|
${CLIENT_ROOT_DIR}/mozilla/shared/ipaddress.h
|
|
${CLIENT_ROOT_DIR}/mozilla/shared/leakdetector.h
|
|
${CLIENT_ROOT_DIR}/mozilla/controllerimpl.h
|
|
)
|
|
|
|
if(NOT IOS AND NOT MACOS_NE)
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/platforms/ios/QRCodeReaderBase.h
|
|
)
|
|
endif()
|
|
|
|
if(NOT ANDROID)
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/ui/utils/notificationHandler.h
|
|
)
|
|
else()
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/ui/utils/notificationHandler.h
|
|
${CLIENT_ROOT_DIR}/platforms/android/android_notificationhandler.h
|
|
)
|
|
endif()
|
|
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/core/utils/migrations.cpp
|
|
${CLIENT_ROOT_DIR}/amneziaApplication.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/errorStrings.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/containers/containerUtils.cpp
|
|
${CLIENT_ROOT_DIR}/core/protocols/protocolUtils.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/selfhosted/scriptsRegistry.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/qrCodeUtils.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/coreController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/coreSignalHandlers.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/gatewayController.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/selfhosted/sshSession.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/serversController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/usersController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/installController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/exportController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/importController.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/installerBase.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/awgInstaller.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/wireguardInstaller.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/openvpnInstaller.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/xrayInstaller.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/torInstaller.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/sftpInstaller.cpp
|
|
${CLIENT_ROOT_DIR}/core/installers/socks5Installer.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/appSplitTunnelingController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/ipSplitTunnelingController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/allowedDnsController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/selfhosted/exportController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/connectionController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/settingsController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/api/servicesCatalogController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/api/subscriptionController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/api/newsController.cpp
|
|
${CLIENT_ROOT_DIR}/core/controllers/updateController.cpp
|
|
${CLIENT_ROOT_DIR}/core/repositories/secureServersRepository.cpp
|
|
${CLIENT_ROOT_DIR}/core/repositories/secureAppSettingsRepository.cpp
|
|
${CLIENT_ROOT_DIR}/ui/utils/qAutoStart.cpp
|
|
${CLIENT_ROOT_DIR}/core/protocols/vpnProtocol.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/selfhosted/sshClient.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/networkUtilities.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/outbound.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/inbound.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/ss.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/ssd.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/vless.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/trojan.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/vmess.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/serialization/vmess_new.cpp
|
|
${CLIENT_ROOT_DIR}/../common/logger/logger.cpp
|
|
${CLIENT_ROOT_DIR}/ui/utils/qmlUtils.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/api/apiUtils.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/osSignalHandler.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/utilities.cpp
|
|
${CLIENT_ROOT_DIR}/core/utils/managementServer.cpp
|
|
)
|
|
|
|
# Mozilla sources
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/mozilla/models/server.cpp
|
|
${CLIENT_ROOT_DIR}/mozilla/shared/ipaddress.cpp
|
|
${CLIENT_ROOT_DIR}/mozilla/shared/leakdetector.cpp
|
|
)
|
|
|
|
if(NOT IOS AND NOT MACOS_NE)
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/platforms/ios/QRCodeReaderBase.cpp
|
|
)
|
|
endif()
|
|
|
|
# Include native macOS platform helpers (dock/status-item)
|
|
if(APPLE AND NOT IOS)
|
|
list(APPEND HEADERS
|
|
${CLIENT_ROOT_DIR}/platforms/macos/macosutils.h
|
|
${CLIENT_ROOT_DIR}/platforms/macos/macosstatusicon.h
|
|
${CLIENT_ROOT_DIR}/ui/utils/macosUtil.h
|
|
)
|
|
list(APPEND SOURCES
|
|
${CLIENT_ROOT_DIR}/platforms/macos/macosutils.mm
|
|
${CLIENT_ROOT_DIR}/platforms/macos/macosstatusicon.mm
|
|
${CLIENT_ROOT_DIR}/ui/utils/macosUtil.mm
|
|
)
|
|
endif()
|
|
|
|
if(NOT ANDROID)
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/ui/utils/notificationHandler.cpp
|
|
)
|
|
else()
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/ui/utils/notificationHandler.cpp
|
|
${CLIENT_ROOT_DIR}/platforms/android/android_notificationhandler.cpp
|
|
)
|
|
endif()
|
|
|
|
set(COMMON_FILES_H
|
|
${CLIENT_ROOT_DIR}/amneziaApplication.h
|
|
${CLIENT_ROOT_DIR}/secureQSettings.h
|
|
${CLIENT_ROOT_DIR}/vpnConnection.h
|
|
)
|
|
|
|
set(COMMON_FILES_CPP
|
|
${CLIENT_ROOT_DIR}/amneziaApplication.cpp
|
|
${CLIENT_ROOT_DIR}/secureQSettings.cpp
|
|
${CLIENT_ROOT_DIR}/vpnConnection.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE PAGE_LOGIC_H CONFIGURE_DEPENDS ${CLIENT_ROOT_DIR}/ui/pages_logic/*.h)
|
|
file(GLOB_RECURSE PAGE_LOGIC_CPP CONFIGURE_DEPENDS ${CLIENT_ROOT_DIR}/ui/pages_logic/*.cpp)
|
|
|
|
file(GLOB CONFIGURATORS_H CONFIGURE_DEPENDS ${CLIENT_ROOT_DIR}/core/configurators/*.h)
|
|
file(GLOB CONFIGURATORS_CPP CONFIGURE_DEPENDS ${CLIENT_ROOT_DIR}/core/configurators/*.cpp)
|
|
|
|
file(GLOB_RECURSE CORE_MODELS_H CONFIGURE_DEPENDS ${CLIENT_ROOT_DIR}/core/models/*.h)
|
|
file(GLOB_RECURSE CORE_MODELS_CPP CONFIGURE_DEPENDS ${CLIENT_ROOT_DIR}/core/models/*.cpp)
|
|
|
|
file(GLOB UI_MODELS_H CONFIGURE_DEPENDS
|
|
${CLIENT_ROOT_DIR}/ui/models/*.h
|
|
${CLIENT_ROOT_DIR}/ui/models/protocols/*.h
|
|
${CLIENT_ROOT_DIR}/ui/models/services/*.h
|
|
${CLIENT_ROOT_DIR}/ui/models/api/*.h
|
|
)
|
|
file(GLOB UI_MODELS_CPP CONFIGURE_DEPENDS
|
|
${CLIENT_ROOT_DIR}/ui/models/*.cpp
|
|
${CLIENT_ROOT_DIR}/ui/models/protocols/*.cpp
|
|
${CLIENT_ROOT_DIR}/ui/models/services/*.cpp
|
|
${CLIENT_ROOT_DIR}/ui/models/api/*.cpp
|
|
)
|
|
|
|
file(GLOB UI_CONTROLLERS_H CONFIGURE_DEPENDS
|
|
${CLIENT_ROOT_DIR}/ui/controllers/*.h
|
|
${CLIENT_ROOT_DIR}/ui/controllers/api/*.h
|
|
${CLIENT_ROOT_DIR}/ui/controllers/qml/*.h
|
|
${CLIENT_ROOT_DIR}/ui/controllers/selfhosted/*.h
|
|
)
|
|
file(GLOB UI_CONTROLLERS_CPP CONFIGURE_DEPENDS
|
|
${CLIENT_ROOT_DIR}/ui/controllers/*.cpp
|
|
${CLIENT_ROOT_DIR}/ui/controllers/api/*.cpp
|
|
${CLIENT_ROOT_DIR}/ui/controllers/qml/*.cpp
|
|
${CLIENT_ROOT_DIR}/ui/controllers/selfhosted/*.cpp
|
|
)
|
|
|
|
set(HEADERS ${HEADERS}
|
|
${COMMON_FILES_H}
|
|
${PAGE_LOGIC_H}
|
|
${CONFIGURATORS_H}
|
|
${CORE_MODELS_H}
|
|
${UI_MODELS_H}
|
|
${UI_CONTROLLERS_H}
|
|
)
|
|
set(SOURCES ${SOURCES}
|
|
${COMMON_FILES_CPP}
|
|
${PAGE_LOGIC_CPP}
|
|
${CONFIGURATORS_CPP}
|
|
${CORE_MODELS_CPP}
|
|
${UI_MODELS_CPP}
|
|
${UI_CONTROLLERS_CPP}
|
|
)
|
|
|
|
if(WIN32)
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/core/protocols/ikev2VpnProtocolWindows.h
|
|
)
|
|
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/core/protocols/ikev2VpnProtocolWindows.cpp
|
|
)
|
|
|
|
set(RESOURCES ${RESOURCES}
|
|
${CMAKE_CURRENT_BINARY_DIR}/amneziavpn.rc
|
|
)
|
|
endif()
|
|
|
|
if(WIN32 OR (APPLE AND NOT IOS AND NOT MACOS_NE) OR (LINUX AND NOT ANDROID))
|
|
message("Client desktop build")
|
|
add_compile_definitions(AMNEZIA_DESKTOP)
|
|
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/core/utils/ipcClient.h
|
|
${CLIENT_ROOT_DIR}/ui/utils/systemTrayNotificationHandler.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/openVpnProtocol.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/wireGuardProtocol.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/xrayProtocol.h
|
|
${CLIENT_ROOT_DIR}/core/protocols/awgProtocol.h
|
|
${CLIENT_ROOT_DIR}/mozilla/localsocketcontroller.h
|
|
)
|
|
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/core/utils/ipcClient.cpp
|
|
${CLIENT_ROOT_DIR}/mozilla/localsocketcontroller.cpp
|
|
${CLIENT_ROOT_DIR}/ui/utils/systemTrayNotificationHandler.cpp
|
|
${CLIENT_ROOT_DIR}/core/protocols/openVpnProtocol.cpp
|
|
${CLIENT_ROOT_DIR}/core/protocols/wireGuardProtocol.cpp
|
|
${CLIENT_ROOT_DIR}/core/protocols/xrayProtocol.cpp
|
|
${CLIENT_ROOT_DIR}/core/protocols/awgProtocol.cpp
|
|
)
|
|
endif()
|
|
|
|
if(APPLE AND MACOS_NE)
|
|
# Include only the tray notification handler in NE builds
|
|
set(HEADERS ${HEADERS}
|
|
${CLIENT_ROOT_DIR}/ui/utils/systemTrayNotificationHandler.h
|
|
)
|
|
|
|
set(SOURCES ${SOURCES}
|
|
${CLIENT_ROOT_DIR}/ui/utils/systemTrayNotificationHandler.cpp
|
|
)
|
|
endif()
|