for osxtools and networkextension/CMakeLists.txt CMAKE_CURRENT_SOURCE_DIR changed to CLIENT_ROOT_DIR
This commit is contained in:
parent
58b9e0cd7c
commit
ab389d4817
2 changed files with 14 additions and 10 deletions
|
@ -2,6 +2,8 @@ if(NOT APPLE)
|
||||||
message(FATAL_ERROR "OSX Tools are only supported on Apple targets")
|
message(FATAL_ERROR "OSX Tools are only supported on Apple targets")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(CLIENT_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
|
||||||
|
|
||||||
if(CMAKE_COLOR_MAKEFILE)
|
if(CMAKE_COLOR_MAKEFILE)
|
||||||
set(COMMENT_ECHO_COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --blue --bold)
|
set(COMMENT_ECHO_COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --blue --bold)
|
||||||
else()
|
else()
|
||||||
|
@ -80,7 +82,7 @@ function(osx_bundle_assetcatalog TARGET)
|
||||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||||
COMMENT "Bundling asset catalog"
|
COMMENT "Bundling asset catalog"
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/xcassets $<TARGET_BUNDLE_CONTENT_DIR:${TARGET}>/${XCASSETS_RESOURCE_DIR}
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/xcassets $<TARGET_BUNDLE_CONTENT_DIR:${TARGET}>/${XCASSETS_RESOURCE_DIR}
|
||||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts/macos/merge_plist.py ${XCASSETS_GEN_PLIST} -o $<TARGET_BUNDLE_CONTENT_DIR:${TARGET}>/Info.plist
|
COMMAND ${CLIENT_ROOT_DIR}/scripts/macos/merge_plist.py ${XCASSETS_GEN_PLIST} -o $<TARGET_BUNDLE_CONTENT_DIR:${TARGET}>/Info.plist
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xcassets/Assets.car)
|
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)
|
get_target_property(CODESIGN_ENTITLEMENTS ${TARGET} XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS)
|
||||||
if(CODESIGN_ENTITLEMENTS)
|
if(CODESIGN_ENTITLEMENTS)
|
||||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
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=$<TARGET_PROPERTY:${TARGET},XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER>
|
-k PRODUCT_BUNDLE_IDENTIFIER=$<TARGET_PROPERTY:${TARGET},XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER>
|
||||||
-k DEVELOPMENT_TEAM=$<TARGET_PROPERTY:${TARGET},XCODE_ATTRIBUTE_DEVELOPMENT_TEAM>
|
-k DEVELOPMENT_TEAM=$<TARGET_PROPERTY:${TARGET},XCODE_ATTRIBUTE_DEVELOPMENT_TEAM>
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_codesign.entitlements
|
-o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_codesign.entitlements
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
enable_language(Swift)
|
enable_language(Swift)
|
||||||
|
|
||||||
|
set(CLIENT_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
|
||||||
|
|
||||||
add_executable(networkextension)
|
add_executable(networkextension)
|
||||||
set_target_properties(networkextension PROPERTIES
|
set_target_properties(networkextension PROPERTIES
|
||||||
OUTPUT_NAME "AmneziaVPNNetworkExtension"
|
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 -DGROUP_ID=\"${BUILD_IOS_GROUP_IDENTIFIER}\")
|
||||||
target_compile_options(networkextension PRIVATE -DNETWORK_EXTENSION=1)
|
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
|
target_sources(networkextension PRIVATE
|
||||||
${WG_APPLE_SOURCE_DIR}/WireGuardKit/WireGuardAdapter.swift
|
${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/Array+ConcurrentMap.swift
|
||||||
${WG_APPLE_SOURCE_DIR}/WireGuardKit/IPAddress+AddrInfo.swift
|
${WG_APPLE_SOURCE_DIR}/WireGuardKit/IPAddress+AddrInfo.swift
|
||||||
${WG_APPLE_SOURCE_DIR}/WireGuardKit/PrivateKey.swift
|
${WG_APPLE_SOURCE_DIR}/WireGuardKit/PrivateKey.swift
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/platforms/ios/iostunnel.swift
|
${CLIENT_ROOT_DIR}/platforms/ios/iostunnel.swift
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/platforms/ios/iosglue.mm
|
${CLIENT_ROOT_DIR}/platforms/ios/iosglue.mm
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/platforms/ios/ioslogger.swift
|
${CLIENT_ROOT_DIR}/platforms/ios/ioslogger.swift
|
||||||
)
|
)
|
||||||
|
|
||||||
## Build wireguard-go-version.h
|
## Build wireguard-go-version.h
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND go list -m golang.zx2c4.com/wireguard
|
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
|
OUTPUT_VARIABLE WG_VERSION_FULL
|
||||||
)
|
)
|
||||||
string(REGEX REPLACE ".*v\([0-9.]*\).*" "\\1" WG_VERSION_STRING 1.1.1)
|
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
|
target_sources(networkextension PRIVATE
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/wireguard-go-version.h)
|
${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})
|
target_include_directories(networkextension PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
## HACK: Build only the first architecture, this will break universal builds
|
## 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
|
## 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
|
## to provide the boot-time clock instead of an uptime clock. We should probably
|
||||||
## make an attempt to do the same, somehow?
|
## 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")
|
if(OSXARCH STREQUAL "x86_64")
|
||||||
set(GOARCH amd64)
|
set(GOARCH amd64)
|
||||||
else()
|
else()
|
||||||
set(GOARCH ${FIRST_OSX_ARCHITECTURE})
|
set(GOARCH ${FIRST_OSX_ARCHITECTURE})
|
||||||
endif()
|
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
|
GOOS ios
|
||||||
GOARCH ${GOARCH}
|
GOARCH ${GOARCH}
|
||||||
CGO_CFLAGS -arch ${OSXARCH}
|
CGO_CFLAGS -arch ${OSXARCH}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue