From ab389d481756e338b21b69d2058658dc4649a10a Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Wed, 14 Dec 2022 21:29:33 +0300 Subject: [PATCH] for osxtools and networkextension/CMakeLists.txt CMAKE_CURRENT_SOURCE_DIR changed to CLIENT_ROOT_DIR --- client/cmake/osxtools.cmake | 6 ++++-- client/ios/networkextension/CMakeLists.txt | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/client/cmake/osxtools.cmake b/client/cmake/osxtools.cmake index 7bea0428..6e595ebe 100644 --- a/client/cmake/osxtools.cmake +++ b/client/cmake/osxtools.cmake @@ -2,6 +2,8 @@ if(NOT APPLE) message(FATAL_ERROR "OSX Tools are only supported on Apple targets") endif() +set(CLIENT_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..) + if(CMAKE_COLOR_MAKEFILE) set(COMMENT_ECHO_COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --blue --bold) else() @@ -80,7 +82,7 @@ function(osx_bundle_assetcatalog TARGET) add_custom_command(TARGET ${TARGET} POST_BUILD COMMENT "Bundling asset catalog" COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/xcassets $/${XCASSETS_RESOURCE_DIR} - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts/macos/merge_plist.py ${XCASSETS_GEN_PLIST} -o $/Info.plist + COMMAND ${CLIENT_ROOT_DIR}/scripts/macos/merge_plist.py ${XCASSETS_GEN_PLIST} -o $/Info.plist ) target_sources(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xcassets/Assets.car) @@ -125,7 +127,7 @@ function(osx_codesign_target TARGET) get_target_property(CODESIGN_ENTITLEMENTS ${TARGET} XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS) if(CODESIGN_ENTITLEMENTS) add_custom_command(TARGET ${TARGET} POST_BUILD - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts/utils/make_template.py ${CODESIGN_ENTITLEMENTS} + COMMAND ${CLIENT_ROOT_DIR}/scripts/utils/make_template.py ${CODESIGN_ENTITLEMENTS} -k PRODUCT_BUNDLE_IDENTIFIER=$ -k DEVELOPMENT_TEAM=$ -o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_codesign.entitlements diff --git a/client/ios/networkextension/CMakeLists.txt b/client/ios/networkextension/CMakeLists.txt index a368d118..ec59cad4 100644 --- a/client/ios/networkextension/CMakeLists.txt +++ b/client/ios/networkextension/CMakeLists.txt @@ -1,5 +1,7 @@ enable_language(Swift) +set(CLIENT_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../..) + add_executable(networkextension) set_target_properties(networkextension PROPERTIES OUTPUT_NAME "AmneziaVPNNetworkExtension" @@ -35,7 +37,7 @@ target_link_libraries(networkextension PRIVATE ${FW_UI_KIT}) target_compile_options(networkextension PRIVATE -DGROUP_ID=\"${BUILD_IOS_GROUP_IDENTIFIER}\") target_compile_options(networkextension PRIVATE -DNETWORK_EXTENSION=1) -set(WG_APPLE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rd/wireguard-apple/Sources) +set(WG_APPLE_SOURCE_DIR ${CLIENT_ROOT_DIR}/3rd/wireguard-apple/Sources) target_sources(networkextension PRIVATE ${WG_APPLE_SOURCE_DIR}/WireGuardKit/WireGuardAdapter.swift @@ -57,15 +59,15 @@ target_sources(networkextension PRIVATE ${WG_APPLE_SOURCE_DIR}/WireGuardKit/Array+ConcurrentMap.swift ${WG_APPLE_SOURCE_DIR}/WireGuardKit/IPAddress+AddrInfo.swift ${WG_APPLE_SOURCE_DIR}/WireGuardKit/PrivateKey.swift - ${CMAKE_CURRENT_SOURCE_DIR}/platforms/ios/iostunnel.swift - ${CMAKE_CURRENT_SOURCE_DIR}/platforms/ios/iosglue.mm - ${CMAKE_CURRENT_SOURCE_DIR}/platforms/ios/ioslogger.swift + ${CLIENT_ROOT_DIR}/platforms/ios/iostunnel.swift + ${CLIENT_ROOT_DIR}/platforms/ios/iosglue.mm + ${CLIENT_ROOT_DIR}/platforms/ios/ioslogger.swift ) ## Build wireguard-go-version.h execute_process( COMMAND go list -m golang.zx2c4.com/wireguard - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKitGo + WORKING_DIRECTORY ${CLIENT_ROOT_DIR}/3rd/wireguard-apple/Sources/WireGuardKitGo OUTPUT_VARIABLE WG_VERSION_FULL ) string(REGEX REPLACE ".*v\([0-9.]*\).*" "\\1" WG_VERSION_STRING 1.1.1) @@ -74,7 +76,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/wireguard-go-version.h.in target_sources(networkextension PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/wireguard-go-version.h) -target_include_directories(networkextension PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(networkextension PRIVATE ${CLIENT_ROOT_DIR}) target_include_directories(networkextension PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) ## HACK: Build only the first architecture, this will break universal builds @@ -90,13 +92,13 @@ endif() ## TODO: The upstream makefile also makes an attempt to patch the golang runtime ## to provide the boot-time clock instead of an uptime clock. We should probably ## make an attempt to do the same, somehow? -include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/golang.cmake) +include(${CLIENT_ROOT_DIR}/cmake/golang.cmake) if(OSXARCH STREQUAL "x86_64") set(GOARCH amd64) else() set(GOARCH ${FIRST_OSX_ARCHITECTURE}) endif() -add_go_library(libwg-go ${CMAKE_CURRENT_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKitGo/api-apple.go +add_go_library(libwg-go ${CLIENT_ROOT_DIR}/3rd/wireguard-apple/Sources/WireGuardKitGo/api-apple.go GOOS ios GOARCH ${GOARCH} CGO_CFLAGS -arch ${OSXARCH}