diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index edfde6dc..0b04e8bf 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -6,17 +6,7 @@ project(${PROJECT}) set(QT_BUILD_TOOLS_WHEN_CROSS_COMPILING ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.17) - cmake_policy(SET CMP0099 OLD) -endif() -if(CMAKE_XCODE_BUILD_SYSTEM VERSION_GREATER_EQUAL 12) - cmake_policy(SET CMP0114 NEW) -endif() - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER "Autogen") set_property(GLOBAL PROPERTY AUTOMOC_TARGETS_FOLDER "Autogen") @@ -43,11 +33,11 @@ endif() set(IS_CI ${CI}) if(IS_CI) - message("Detected CI env") - find_program(CCACHE "ccache") - if(CCACHE) - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE}") - endif() + message("Detected CI env") + find_program(CCACHE "ccache") + if(CCACHE) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE}") + endif() endif() include(${CMAKE_CURRENT_LIST_DIR}/cmake/3rdparty.cmake) @@ -185,6 +175,14 @@ if(WIN32) endif() if(APPLE) + if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.17) + cmake_policy(SET CMP0099 OLD) + endif() + + if(CMAKE_XCODE_BUILD_SYSTEM VERSION_GREATER_EQUAL 12) + cmake_policy(SET CMP0114 NEW) + endif() + if(NOT BUILD_OSX_APP_IDENTIFIER) set(BUILD_OSX_APP_IDENTIFIER org.amnezia.AmneziaVPN CACHE STRING "OSX Application identifier") endif() @@ -202,7 +200,6 @@ if(APPLE) set(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM ${BUILD_VPN_DEVELOPMENT_TEAM}) set(CMAKE_XCODE_ATTRIBUTE_GROUP_ID_IOS ${BUILD_IOS_GROUP_IDENTIFIER}) - #set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build) if(NOT IOS) set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE INTERNAL "" FORCE) @@ -236,7 +233,6 @@ if(APPLE) endif() endif() - if(LINUX AND NOT ANDROID) add_compile_definitions(MVPN_LINUX) @@ -301,8 +297,6 @@ if(ANDROID) ) endif() - - if(IOS) message("Client iOS build") @@ -358,9 +352,7 @@ qt_add_translations(${PROJECT} TS_FILES ${CMAKE_CURRENT_LIST_DIR}/translations/amneziavpn_ru.ts) if(APPLE AND NOT IOS) - set_target_properties(AmneziaVPN PROPERTIES - MACOSX_BUNDLE TRUE - ) + set_target_properties(AmneziaVPN PROPERTIES MACOSX_BUNDLE TRUE) endif() if(IOS) @@ -379,26 +371,25 @@ if(IOS) set(CMAKE_XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/../../Frameworks") set(CMAKE_XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos) - #need to change for debug and relase set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}" XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1" XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK" XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Distribution" - ) + ) set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}" XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1" XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK" XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY[variant=Debug] "Apple Development" - ) + ) set(LIBS ${LIBS} ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenSSL/lib/ios/iphone/libcrypto.a ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenSSL/lib/ios/iphone/libssl.a - ) + ) target_include_directories(${PROJECT} PRIVATE ${Qt6Gui_PRIVATE_INCLUDE_DIRS}) @@ -427,7 +418,6 @@ if(IOS) XCODE_ATTRIBUTE_MARKETING_VERSION "${CMAKE_PROJECT_VERSION}" XCODE_GENERATE_SCHEME TRUE MACOSX_BUNDLE_ICON_FILE "AppIcon" - ) target_include_directories(${PROJECT} PRIVATE ${CMAKE_CURRENT_LIST_DIR}) @@ -437,8 +427,7 @@ if(IOS) -DVPN_NE_BUNDLEID=\"${BUILD_IOS_APP_IDENTIFIER}.network-extension\" ) - - target_sources(${PROJECT} PRIVATE + target_sources(${PROJECT} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/3rd/wireguard-apple/Sources/Shared/Keychain.swift ${CMAKE_CURRENT_LIST_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/IPAddressRange.swift ${CMAKE_CURRENT_LIST_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/InterfaceConfiguration.swift @@ -470,14 +459,14 @@ if(IOS) PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" ) -target_sources(${PROJECT} PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets + target_sources(${PROJECT} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets -) -set_source_files_properties( - ${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets - PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" -) + ) + set_source_files_properties( + ${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets + PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" + ) add_subdirectory(ios/networkextension) add_dependencies(${PROJECT} networkextension) @@ -489,35 +478,27 @@ set_source_files_properties( set_target_properties(${PROJECT} PROPERTIES XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON) set_target_properties(${PROJECT} PROPERTIES XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION) - set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}.network-extension" XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1" XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK" XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Distribution" - ) + ) set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}.network-extension" XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1" XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK" XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY[variant=Debug] "Apple Development" - ) - - set_target_properties (${PROJECT} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual) + ) + set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual) set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN") - set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN") - - set_target_properties ("networkextension" PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual) - + set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual) set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN.network-extension") - set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN.network-extension") - - endif() if(ANDROID)