From 9836c7ba91efd0c3a8cf866a2539c4e406912e35 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Fri, 14 Apr 2017 17:36:23 +0200 Subject: [PATCH] Handle code signing on Mac OS X. --- cmake_builder/additional_steps.cmake | 2 +- cmake_builder/linphone_package/CMakeLists.txt | 28 +++++++++++++++---- linphone-desktop/CMakeLists.txt | 2 +- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/cmake_builder/additional_steps.cmake b/cmake_builder/additional_steps.cmake index b54cd484b..8488c67a8 100644 --- a/cmake_builder/additional_steps.cmake +++ b/cmake_builder/additional_steps.cmake @@ -59,7 +59,7 @@ if(ENABLE_PACKAGING) SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/linphone_package" DOWNLOAD_COMMAND "" CMAKE_GENERATOR ${CMAKE_GENERATOR} - CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_OUTPUT_DIR=${CMAKE_INSTALL_PREFIX} -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/../linphone-desktop -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DOPENH264_VERSION=${OPENH264_VERSION} + CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_OUTPUT_DIR=${CMAKE_INSTALL_PREFIX} -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/../linphone-desktop -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DOPENH264_VERSION=${OPENH264_VERSION} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY} ) endif() endif() diff --git a/cmake_builder/linphone_package/CMakeLists.txt b/cmake_builder/linphone_package/CMakeLists.txt index 2a7d14959..80e22bb0c 100644 --- a/cmake_builder/linphone_package/CMakeLists.txt +++ b/cmake_builder/linphone_package/CMakeLists.txt @@ -225,14 +225,30 @@ elseif(APPLE) COMMAND "${DEPLOYQT_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/Linphone.app" "-qmldir=${LINPHONE_QML_DIR}" "-verbose=2" ) - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Linphone.app" DESTINATION "." USE_SOURCE_PERMISSIONS) if(EXISTS "${LINPHONE_OUTPUT_DIR}/lib/mediastreamer") - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/lib/mediastreamer" DESTINATION "Linphone.app/Contents/Resources/lib" USE_SOURCE_PERMISSIONS) + file(COPY "${LINPHONE_OUTPUT_DIR}/lib/mediastreamer" DESTINATION "Linphone.app/Contents/Resources/lib" USE_SOURCE_PERMISSIONS) endif() - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/share/images" DESTINATION "Linphone.app/Contents/Resources/share" USE_SOURCE_PERMISSIONS) - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/share/sounds" DESTINATION "Linphone.app/Contents/Resources/share" USE_SOURCE_PERMISSIONS) - install(FILES "${LINPHONE_OUTPUT_DIR}/share/Linphone/rootca.pem" DESTINATION "Linphone.app/Contents/Resources/share/linphone") - install(FILES "${LINPHONE_OUTPUT_DIR}/share/Linphone/linphonerc-factory" DESTINATION "Linphone.app/Contents/Resources/share/linphone") + file(COPY "${LINPHONE_OUTPUT_DIR}/share/images" DESTINATION "Linphone.app/Contents/Resources/share" USE_SOURCE_PERMISSIONS) + file(COPY "${LINPHONE_OUTPUT_DIR}/share/sounds" DESTINATION "Linphone.app/Contents/Resources/share" USE_SOURCE_PERMISSIONS) + file(COPY "${LINPHONE_OUTPUT_DIR}/share/Linphone/rootca.pem" DESTINATION "Linphone.app/Contents/Resources/share/linphone") + file(COPY "${LINPHONE_OUTPUT_DIR}/share/Linphone/linphonerc-factory" DESTINATION "Linphone.app/Contents/Resources/share/linphone") + + if(LINPHONE_BUILDER_SIGNING_IDENTITY) + file(GLOB FRAMEWORKS_NAMES "${CMAKE_CURRENT_BINARY_DIR}/Linphone.app/Contents/Frameworks/*") + foreach(_framework ${FRAMEWORKS_NAMES}) + execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${_framework}") + endforeach() + file(GLOB PLUGINS_NAMES "${CMAKE_CURRENT_BINARY_DIR}/Linphone.app/Contents/PlugIns/*") + foreach(_plugin ${PLUGINS_NAMES}) + file(GLOB PLUGINS_FILES "${_plugin}/*") + foreach(_pluginfile ${PLUGINS_FILES}) + execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${_pluginfile}") + endforeach() + endforeach() + execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${CMAKE_CURRENT_BINARY_DIR}/Linphone.app") + endif() + + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Linphone.app" DESTINATION "." USE_SOURCE_PERMISSIONS) configure_file("MacPackaging.cmake.in" "MacPackaging.cmake" @ONLY) install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/MacPackaging.cmake") diff --git a/linphone-desktop/CMakeLists.txt b/linphone-desktop/CMakeLists.txt index ab899fd06..dd2c08d6c 100644 --- a/linphone-desktop/CMakeLists.txt +++ b/linphone-desktop/CMakeLists.txt @@ -53,7 +53,7 @@ if(NOT WIN32) -Wuninitialized \ -Wunused \ ") - if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CUSTOM_FLAGS "${CUSTOM_FLAGS} -Wlogical-op") endif() if(SUGGEST_OVERRIDE)