diff options
14 files changed, 136 insertions, 0 deletions
diff --git a/examples/multimedia/audiorecorder/CMakeLists.txt b/examples/multimedia/audiorecorder/CMakeLists.txt index 2e2817d57..de8bd4ffb 100644 --- a/examples/multimedia/audiorecorder/CMakeLists.txt +++ b/examples/multimedia/audiorecorder/CMakeLists.txt @@ -29,6 +29,8 @@ set_target_properties(audiorecorder PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS + "${CMAKE_CURRENT_LIST_DIR}/audiorecorder.entitlements" ) # special case begin target_include_directories(audiorecorder PUBLIC @@ -53,3 +55,12 @@ install(TARGETS audiorecorder BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" ) + +if(APPLE AND NOT IOS) + if(NOT CMAKE_GENERATOR STREQUAL "Xcode") + add_custom_command(TARGET audiorecorder + POST_BUILD + COMMAND codesign --sign - --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/audiorecorder.entitlements ${CMAKE_CURRENT_BINARY_DIR}/audiorecorder.app + ) + endif() +endif() diff --git a/examples/multimedia/audiorecorder/audiorecorder.entitlements b/examples/multimedia/audiorecorder/audiorecorder.entitlements new file mode 100644 index 000000000..b572d9c04 --- /dev/null +++ b/examples/multimedia/audiorecorder/audiorecorder.entitlements @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.security.device.audio-input</key> + <true/> +</dict> +</plist> diff --git a/examples/multimedia/audiorecorder/audiorecorder.pro b/examples/multimedia/audiorecorder/audiorecorder.pro index dfd0364a4..5de038410 100644 --- a/examples/multimedia/audiorecorder/audiorecorder.pro +++ b/examples/multimedia/audiorecorder/audiorecorder.pro @@ -21,3 +21,13 @@ INSTALLS += target QT+=widgets include(../shared/shared.pri) + +macos { + macx-xcode { + code_sign_entitlements.name = CODE_SIGN_ENTITLEMENTS + code_sign_entitlements.value = $$PWD/$${TARGET}.entitlements + QMAKE_MAC_XCODE_SETTINGS += code_sign_entitlements + } else { + QMAKE_POST_LINK += "codesign --sign - --entitlements $$PWD/$${TARGET}.entitlements $${OUT_PWD}/$${TARGET}.app" + } +} diff --git a/examples/multimedia/declarative-camera/CMakeLists.txt b/examples/multimedia/declarative-camera/CMakeLists.txt index 8abdd6a2a..be903f2b7 100644 --- a/examples/multimedia/declarative-camera/CMakeLists.txt +++ b/examples/multimedia/declarative-camera/CMakeLists.txt @@ -28,6 +28,8 @@ set_target_properties(declarative-camera PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS + "${CMAKE_CURRENT_LIST_DIR}/declarative-camera.entitlements" ) # special case begin target_include_directories(declarative-camera PUBLIC @@ -82,3 +84,12 @@ install(TARGETS declarative-camera BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" ) + +if(APPLE AND NOT IOS) + if(NOT CMAKE_GENERATOR STREQUAL "Xcode") + add_custom_command(TARGET declarative-camera + POST_BUILD + COMMAND codesign --sign - --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/declarative-camera.entitlements ${CMAKE_CURRENT_BINARY_DIR}/declarative-camera.app + ) + endif() +endif() diff --git a/examples/multimedia/declarative-camera/declarative-camera.entitlements b/examples/multimedia/declarative-camera/declarative-camera.entitlements new file mode 100644 index 000000000..6cfee69ba --- /dev/null +++ b/examples/multimedia/declarative-camera/declarative-camera.entitlements @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.security.device.camera</key> + <true/> +</dict> +</plist> diff --git a/examples/multimedia/declarative-camera/declarative-camera.pro b/examples/multimedia/declarative-camera/declarative-camera.pro index 2d6e2e759..58bb9d76c 100644 --- a/examples/multimedia/declarative-camera/declarative-camera.pro +++ b/examples/multimedia/declarative-camera/declarative-camera.pro @@ -9,3 +9,13 @@ RESOURCES += declarative-camera.qrc target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/declarative-camera INSTALLS += target include(../shared/shared.pri) + +macos { + macx-xcode { + code_sign_entitlements.name = CODE_SIGN_ENTITLEMENTS + code_sign_entitlements.value = $$PWD/$${TARGET}.entitlements + QMAKE_MAC_XCODE_SETTINGS += code_sign_entitlements + } else { + QMAKE_POST_LINK += "codesign --sign - --entitlements $$PWD/$${TARGET}.entitlements $${OUT_PWD}/$${TARGET}.app" + } +} diff --git a/examples/multimedia/video/qmlvideo/CMakeLists.txt b/examples/multimedia/video/qmlvideo/CMakeLists.txt index c3eff7876..516f9b5c3 100644 --- a/examples/multimedia/video/qmlvideo/CMakeLists.txt +++ b/examples/multimedia/video/qmlvideo/CMakeLists.txt @@ -33,6 +33,8 @@ set_target_properties(qmlvideo PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS + "${CMAKE_CURRENT_LIST_DIR}/qmlvideo.entitlements" ) target_compile_definitions(qmlvideo PUBLIC @@ -123,3 +125,12 @@ install(TARGETS qmlvideo BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" ) + +if(APPLE AND NOT IOS) + if(NOT CMAKE_GENERATOR STREQUAL "Xcode") + add_custom_command(TARGET qmlvideo + POST_BUILD + COMMAND codesign --sign - --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/qmlvideo.entitlements ${CMAKE_CURRENT_BINARY_DIR}/qmlvideo.app + ) + endif() +endif() diff --git a/examples/multimedia/video/qmlvideo/qmlvideo.entitlements b/examples/multimedia/video/qmlvideo/qmlvideo.entitlements new file mode 100644 index 000000000..6cfee69ba --- /dev/null +++ b/examples/multimedia/video/qmlvideo/qmlvideo.entitlements @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.security.device.camera</key> + <true/> +</dict> +</plist> diff --git a/examples/multimedia/video/qmlvideo/qmlvideo.pro b/examples/multimedia/video/qmlvideo/qmlvideo.pro index 4fa9d2b3b..7d5717c3c 100644 --- a/examples/multimedia/video/qmlvideo/qmlvideo.pro +++ b/examples/multimedia/video/qmlvideo/qmlvideo.pro @@ -85,3 +85,13 @@ INSTALLS += target EXAMPLE_FILES += \ qmlvideo.png \ qmlvideo.svg + +macos { + macx-xcode { + code_sign_entitlements.name = CODE_SIGN_ENTITLEMENTS + code_sign_entitlements.value = $$PWD/$${TARGET}.entitlements + QMAKE_MAC_XCODE_SETTINGS += code_sign_entitlements + } else { + QMAKE_POST_LINK += "codesign --sign - --entitlements $$PWD/$${TARGET}.entitlements $${OUT_PWD}/$${TARGET}.app" + } +} diff --git a/examples/multimedia/video/recorder/CMakeLists.txt b/examples/multimedia/video/recorder/CMakeLists.txt index e885d0abe..a0067cd11 100644 --- a/examples/multimedia/video/recorder/CMakeLists.txt +++ b/examples/multimedia/video/recorder/CMakeLists.txt @@ -31,4 +31,15 @@ target_link_libraries(recorder set_target_properties(recorder PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS + "${CMAKE_CURRENT_LIST_DIR}/recorder.entitlements" ) + +if(APPLE AND NOT IOS) + if(NOT CMAKE_GENERATOR STREQUAL "Xcode") + add_custom_command(TARGET recorder + POST_BUILD + COMMAND codesign --sign - --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/recorder.entitlements ${CMAKE_CURRENT_BINARY_DIR}/recorder.app + ) + endif() +endif() diff --git a/examples/multimedia/video/recorder/recorder.entitlements b/examples/multimedia/video/recorder/recorder.entitlements new file mode 100644 index 000000000..97c1f6d58 --- /dev/null +++ b/examples/multimedia/video/recorder/recorder.entitlements @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.security.device.audio-input</key> + <true/> + <key>com.apple.security.device.camera</key> + <true/> +</dict> +</plist> diff --git a/examples/multimediawidgets/camera/CMakeLists.txt b/examples/multimediawidgets/camera/CMakeLists.txt index 9d0f6eb7e..53b858f78 100644 --- a/examples/multimediawidgets/camera/CMakeLists.txt +++ b/examples/multimediawidgets/camera/CMakeLists.txt @@ -47,7 +47,15 @@ set_target_properties(camera PROPERTIES if(APPLE AND NOT IOS) set_target_properties(camera PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/macos/Info.plist.in" + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS + "${CMAKE_CURRENT_LIST_DIR}/camera.entitlements" ) + if(NOT CMAKE_GENERATOR STREQUAL "Xcode") + add_custom_command(TARGET camera + POST_BUILD + COMMAND codesign --sign - --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/camera.entitlements ${CMAKE_CURRENT_BINARY_DIR}/camera.app + ) + endif() elseif(IOS) set_target_properties(camera PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/ios/Info.plist.in" diff --git a/examples/multimediawidgets/camera/camera.entitlements b/examples/multimediawidgets/camera/camera.entitlements new file mode 100644 index 000000000..97c1f6d58 --- /dev/null +++ b/examples/multimediawidgets/camera/camera.entitlements @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.security.device.audio-input</key> + <true/> + <key>com.apple.security.device.camera</key> + <true/> +</dict> +</plist> diff --git a/examples/multimediawidgets/camera/camera.pro b/examples/multimediawidgets/camera/camera.pro index e1d98c06e..87590cb2b 100644 --- a/examples/multimediawidgets/camera/camera.pro +++ b/examples/multimediawidgets/camera/camera.pro @@ -38,3 +38,13 @@ include(../../multimedia/shared/shared.pri) ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android OTHER_FILES += android/AndroidManifest.xml + +macos { + macx-xcode { + code_sign_entitlements.name = CODE_SIGN_ENTITLEMENTS + code_sign_entitlements.value = $$PWD/$${TARGET}.entitlements + QMAKE_MAC_XCODE_SETTINGS += code_sign_entitlements + } else { + QMAKE_POST_LINK += "codesign --sign - --entitlements $$PWD/$${TARGET}.entitlements $${OUT_PWD}/$${TARGET}.app" + } +} |