Some more progress in cmake
Still have errors, currently not using apple-compile.sh building completely using cmake.
This commit is contained in:
parent
008592f13b
commit
c8dd12eb20
6 changed files with 306 additions and 22 deletions
|
|
@ -278,9 +278,7 @@ if(ANDROID)
|
|||
)
|
||||
endif()
|
||||
|
||||
qt_add_executable(${PROJECT} ${SOURCES} ${HEADERS} ${RESOURCES} ${QRC})
|
||||
qt_add_translations(${PROJECT} TS_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/translations/amneziavpn_ru.ts)
|
||||
|
||||
|
||||
if(IOS)
|
||||
message("Client iOS build")
|
||||
|
|
@ -296,10 +294,12 @@ if(IOS)
|
|||
find_library(FW_STOREKIT StoreKit)
|
||||
find_library(FW_USERNOTIFICATIONS UserNotifications)
|
||||
|
||||
set(LIBS ${LIBS} FW_AUTHENTICATIONSERVICES FW_UIKIT FW_FOUNDATION FW_STOREKIT FW_USERNOTIFICATIONS)
|
||||
set(LIBS ${LIBS} ${FW_AUTHENTICATIONSERVICES} ${FW_UIKIT} ${FW_FOUNDATION} ${FW_STOREKIT} ${FW_USERNOTIFICATIONS})
|
||||
|
||||
add_compile_definitions(MVPN_IOS)
|
||||
|
||||
message("shahzain ${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
set(HEADERS ${HEADERS}
|
||||
${CMAKE_CURRENT_LIST_DIR}/protocols/ios_vpnprotocol.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/platforms/ios/iosnotificationhandler.h
|
||||
|
|
@ -332,10 +332,8 @@ if(IOS)
|
|||
|
||||
|
||||
|
||||
set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
|
||||
add_subdirectory(ios/networkextension)
|
||||
add_dependencies(${PROJECT} networkextension)
|
||||
set_target_properties(${PROJECT} PROPERTIES XCODE_EMBED_APP_EXTENSIONS networkextension)
|
||||
|
||||
|
||||
|
||||
# Q_ENABLE_BITCODE.value = NO
|
||||
# Q_ENABLE_BITCODE.name = ENABLE_BITCODE
|
||||
|
|
@ -348,20 +346,20 @@ if(CMAKE_OSX_SYSROOT STREQUAL "iphoneos")
|
|||
|
||||
|
||||
|
||||
set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}"
|
||||
OUTPUT_NAME "AmneziaVPN"
|
||||
XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1"
|
||||
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK"
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/ios/app/Info.plist
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Development")
|
||||
|
||||
find_library(LIB_LIBCRYPTO NAMES "libcrypto.a"
|
||||
PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/ios/iphone/ NO_DEFAULT_PATH)
|
||||
# find_library(LIB_LIBCRYPTO NAMES "libcrypto.a"
|
||||
# PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/ios/iphone/ NO_DEFAULT_PATH)
|
||||
|
||||
find_library(LIB_SSL NAMES "libssl.a"
|
||||
PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/ios/iphone/ NO_DEFAULT_PATH)
|
||||
#find_library(LIB_SSL NAMES "libssl.a"
|
||||
# PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/ios/iphone/ NO_DEFAULT_PATH)
|
||||
|
||||
# set(LIBS ${LIBS} LIB_LIBCRYPTO LIB_SSL)
|
||||
|
||||
|
||||
#set(LIBS ${LIBS} LIB_LIBCRYPTO LIB_SSL)
|
||||
|
||||
# target_link_libraries(${PROJECT} PRIVATE ${LIB_LIBCRYPTO})
|
||||
|
||||
# target_link_libraries(${PROJECT} PRIVATE ${LIB_SSL})
|
||||
|
||||
|
||||
endif()
|
||||
|
|
@ -394,8 +392,91 @@ endif()
|
|||
# }
|
||||
#endif()
|
||||
|
||||
|
||||
qt_add_executable(${PROJECT} ${SOURCES} ${HEADERS} ${RESOURCES} ${QRC})
|
||||
qt_add_translations(${PROJECT} TS_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/translations/amneziavpn_ru.ts)
|
||||
|
||||
# NETWORKEXTENSION=1
|
||||
|
||||
if(IOS)
|
||||
enable_language(OBJC)
|
||||
enable_language(OBJCXX)
|
||||
enable_language(Swift)
|
||||
include(src/cmake/osxtools.cmake)
|
||||
|
||||
set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
|
||||
|
||||
|
||||
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 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})
|
||||
|
||||
set_target_properties(${PROJECT} PROPERTIES
|
||||
XCODE_ATTRIBUTE_SWIFT_VERSION "5.0"
|
||||
XCODE_ATTRIBUTE_CLANG_ENABLE_MODULES "YES"
|
||||
XCODE_ATTRIBUTE_SWIFT_OBJC_BRIDGING_HEADER "${CMAKE_SOURCE_DIR}/platforms/ios/WireGuard-Bridging-Header.h"
|
||||
XCODE_ATTRIBUTE_SWIFT_PRECOMPILE_BRIDGING_HEADER "NO"
|
||||
XCODE_ATTRIBUTE_SWIFT_OPTIMIZATION_LEVEL "-Onone"
|
||||
XCODE_ATTRIBUTE_SWIFT_OBJC_INTERFACE_HEADER_NAME "AmneziaVPN-Swift.h"
|
||||
)
|
||||
|
||||
set_target_properties(${PROJECT} PROPERTIES
|
||||
OUTPUT_NAME "AmneziaVPN"
|
||||
MACOSX_BUNDLE ON
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/ios/app/Info.plist.in
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "AmneziaVPN"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION "${BUILD_ID}"
|
||||
MACOSX_BUNDLE_COPYRIGHT "MPL-2.0"
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}"
|
||||
MACOSX_BUNDLE_INFO_STRING "AmneziaVPN"
|
||||
MACOSX_BUNDLE_LONG_VERSION_STRING "${CMAKE_PROJECT_VERSION}-${BUILD_ID}"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_PROJECT_VERSION}"
|
||||
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}"
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/ios/app/main.entitlements"
|
||||
XCODE_ATTRIBUTE_MARKETING_VERSION "${CMAKE_PROJECT_VERSION}"
|
||||
XCODE_GENERATE_SCHEME TRUE
|
||||
)
|
||||
target_include_directories(${PROJECT} PRIVATE ${CMAKE_SOURCE_DIR})
|
||||
|
||||
target_compile_options(${PROJECT} PRIVATE
|
||||
-DGROUP_ID=\"${BUILD_IOS_GROUP_IDENTIFIER}\"
|
||||
-DVPN_NE_BUNDLEID=\"${BUILD_IOS_APP_IDENTIFIER}.network-extension\"
|
||||
)
|
||||
|
||||
|
||||
target_sources(${PROJECT} PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Keychain.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/IPAddressRange.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/InterfaceConfiguration.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/NETunnelProviderProtocol+Extension.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/TunnelConfiguration.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/TunnelConfiguration+WgQuickConfig.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/Endpoint.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/String+ArrayConversion.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/PeerConfiguration.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/DNSServer.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardApp/LocalizationHelper.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/FileManager+Extension.swift
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKitC/x25519.c
|
||||
${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/PrivateKey.swift
|
||||
)
|
||||
|
||||
target_sources(${PROJECT} PRIVATE
|
||||
platforms/ios/iosvpnprotocol.swift
|
||||
platforms/ios/ioslogger.swift
|
||||
)
|
||||
add_subdirectory(ios/networkextension)
|
||||
add_dependencies(${PROJECT} networkextension)
|
||||
set_target_properties(${PROJECT} PROPERTIES XCODE_EMBED_APP_EXTENSIONS networkextension)
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
if(ANDROID)
|
||||
|
|
|
|||
53
client/ios/app/Info.plist.in
Normal file
53
client/ios/app/Info.plist.in
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleAllowMixedLocalizations</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${QT_INTERNAL_DOLLAR_VAR}{PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||
<false/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>AmneziaVPNLaunchScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array/>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array/>
|
||||
<key>UIUserInterfaceStyle</key>
|
||||
<string>Light</string>
|
||||
<key>com.wireguard.ios.app_group_id</key>
|
||||
<string>group.org.amnezia.amneziavpn</string>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "wireguard-go-version.h"
|
||||
#include "3rd/wireguard-apple/Sources/WireGuardKitGo/wireguard-go-version.h"
|
||||
#include "3rd/wireguard-apple/Sources/WireGuardKitC/WireGuardKitC.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class Logger {
|
|||
appVersion += " (\(appBuild))"
|
||||
}
|
||||
|
||||
let goBackendVersion = WIREGUARD_GO_VERSION
|
||||
let goBackendVersion = "1"
|
||||
Logger.global?.log(message: "App version: \(appVersion); Go backend version: \(goBackendVersion)")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,10 +10,12 @@
|
|||
|
||||
#include <QByteArray>
|
||||
|
||||
#include "ipaddressrange.h"
|
||||
#include "platforms/ios/ipaddressrange.h"
|
||||
#include "ios_vpnprotocol.h"
|
||||
#include "core/errorstrings.h"
|
||||
#include "AmneziaVPN-Swift.h"
|
||||
#include "UIKit/UIKit.h"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
|
|||
148
client/src/cmake/osxtools.cmake
Normal file
148
client/src/cmake/osxtools.cmake
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
if(NOT APPLE)
|
||||
message(FATAL_ERROR "OSX Tools are only supported on Apple targets")
|
||||
endif()
|
||||
|
||||
if(CMAKE_COLOR_MAKEFILE)
|
||||
set(COMMENT_ECHO_COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --blue --bold)
|
||||
else()
|
||||
set(COMMENT_ECHO_COMMAND ${CMAKE_COMMAND} -E echo)
|
||||
endif()
|
||||
|
||||
if(CODE_SIGN_IDENTITY)
|
||||
find_program(CODESIGN_BIN NAMES codesign)
|
||||
if(NOT CODESIGN_BIN)
|
||||
messsage(FATAL_ERROR "Cannot sign code, could not find 'codesign' executable")
|
||||
endif()
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${CODE_SIGN_IDENTITY})
|
||||
endif()
|
||||
|
||||
## A helper to copy files into the application bundle
|
||||
function(osx_bundle_files TARGET)
|
||||
cmake_parse_arguments(BUNDLE
|
||||
""
|
||||
"DESTINATION"
|
||||
"FILES"
|
||||
${ARGN})
|
||||
|
||||
if(NOT BUNDLE_DESTINATION)
|
||||
set(BUNDLE_DESTINATION Resources)
|
||||
endif()
|
||||
|
||||
foreach(FILE ${BUNDLE_FILES})
|
||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||
COMMAND_EXPAND_LISTS
|
||||
COMMAND ${COMMENT_ECHO_COMMAND} "Bundling ${FILE}"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_BUNDLE_CONTENT_DIR:${TARGET}>/${BUNDLE_DESTINATION}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${FILE} $<TARGET_BUNDLE_CONTENT_DIR:${TARGET}>/${BUNDLE_DESTINATION}/
|
||||
)
|
||||
endforeach()
|
||||
endfunction(osx_bundle_files)
|
||||
|
||||
## A helper to bundle an asset catalog.
|
||||
function(osx_bundle_assetcatalog TARGET)
|
||||
cmake_parse_arguments(XCASSETS
|
||||
""
|
||||
"CATALOG;PLATFORM"
|
||||
"DEVICES"
|
||||
${ARGN})
|
||||
|
||||
if(XCASSETS_PLATFORM)
|
||||
set(XCASSETS_TARGET_ARGS --platform ${XCASSETS_PLATFORM})
|
||||
elseif(IOS)
|
||||
set(XCASSETS_TARGET_ARGS --platform iphoneos)
|
||||
else()
|
||||
set(XCASSETS_TARGET_ARGS --platform macosx)
|
||||
endif()
|
||||
foreach(DEVNAME ${XCASSETS_DEVICES})
|
||||
list(APPEND XCASSETS_TARGET_ARGS --target-device ${DEVNAME})
|
||||
endforeach()
|
||||
list(APPEND XCASSETS_TARGET_ARGS --minimum-deployment-target ${CMAKE_OSX_DEPLOYMENT_TARGET})
|
||||
|
||||
## Compile the asset catalog
|
||||
set(XCASSETS_GEN_PLIST ${CMAKE_CURRENT_BINARY_DIR}/xcassets_generated_info.plist)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xcassets/Assets.car ${XCASSETS_GEN_PLIST}
|
||||
MAIN_DEPENDENCY ${XCASSETS_CATALOG}/Contents.json
|
||||
COMMENT "Building asset catalog"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/xcassets
|
||||
COMMAND actool --output-format human-readable-text --notices --warnings
|
||||
${XCASSETS_TARGET_ARGS}
|
||||
--app-icon AppIcon
|
||||
--output-partial-info-plist ${XCASSETS_GEN_PLIST}
|
||||
--development-region en --enable-on-demand-resources NO
|
||||
--compile ${CMAKE_CURRENT_BINARY_DIR}/xcassets ${XCASSETS_CATALOG}
|
||||
)
|
||||
|
||||
## Patch the asset catalog into the target bundle.
|
||||
if(NOT IOS)
|
||||
set(XCASSETS_RESOURCE_DIR "Resources")
|
||||
endif()
|
||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||
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_SOURCE_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)
|
||||
set_source_files_properties(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/xcassets/Assets.car
|
||||
${XCASSETS_GEN_PLIST}
|
||||
PROPERTIES
|
||||
GENERATED TRUE
|
||||
HEADER_FILE_ONLY TRUE
|
||||
)
|
||||
|
||||
target_sources(${TARGET} PRIVATE ${XCASSETS_GEN_PLIST})
|
||||
set_source_files_properties(${XCASSETS_GEN_PLIST} PROPERTIES GENERATED TRUE)
|
||||
endfunction()
|
||||
|
||||
## A helper to code-sign an executable.
|
||||
function(osx_codesign_target TARGET)
|
||||
## Xcode should perform automatic code-signing for us.
|
||||
if(XCODE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(CODE_SIGN_IDENTITY)
|
||||
cmake_parse_arguments(CODESIGN
|
||||
"FORCE"
|
||||
""
|
||||
"OPTIONS;FILES"
|
||||
${ARGN})
|
||||
|
||||
set(CODESIGN_ARGS --timestamp -s "${CODE_SIGN_IDENTITY}")
|
||||
if(CODESIGN_FORCE)
|
||||
list(APPEND CODESIGN_ARGS -f)
|
||||
endif()
|
||||
if(CODESIGN_OPTIONS)
|
||||
list(JOIN CODESIGN_OPTIONS , CODESIGN_OPTIONS_JOINED)
|
||||
list(APPEND CODESIGN_ARGS "--option=${CODESIGN_OPTIONS_JOINED}")
|
||||
endif()
|
||||
|
||||
## Process the entitlements as though Xcode has done variable expansion.
|
||||
## This only supports the PRODUCT_BUNDLE_IDENTIFIER and DEVELOPMENT_TEAM
|
||||
## for now.
|
||||
get_target_property(CODESIGN_ENTITLEMENTS ${TARGET} XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS)
|
||||
if(CODESIGN_ENTITLEMENTS)
|
||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/scripts/utils/make_template.py ${CODESIGN_ENTITLEMENTS}
|
||||
-k PRODUCT_BUNDLE_IDENTIFIER=$<TARGET_PROPERTY:${TARGET},XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER>
|
||||
-k DEVELOPMENT_TEAM=$<TARGET_PROPERTY:${TARGET},XCODE_ATTRIBUTE_DEVELOPMENT_TEAM>
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_codesign.entitlements
|
||||
)
|
||||
list(APPEND CODESIGN_ARGS --entitlements ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_codesign.entitlements)
|
||||
endif()
|
||||
|
||||
## If no files were specified, sign the target itself.
|
||||
if(NOT CODESIGN_FILES)
|
||||
set(CODESIGN_FILES $<TARGET_FILE:${TARGET}>)
|
||||
endif()
|
||||
|
||||
foreach(FILE ${CODESIGN_FILES})
|
||||
add_custom_command(TARGET ${TARGET} POST_BUILD VERBATIM
|
||||
COMMAND ${COMMENT_ECHO_COMMAND} "Signing ${TARGET}: ${FILE}"
|
||||
COMMAND ${CODESIGN_BIN} ${CODESIGN_ARGS} ${FILE}
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
endfunction()
|
||||
Loading…
Add table
Add a link
Reference in a new issue