From 92f7d05b18fb2514e8efbb3b3cc65dc7eaab31f0 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Thu, 18 Jan 2024 08:44:15 +0100 Subject: [PATCH] MacDeploy debug --- .gitlab-ci-files/macosx-desktop.yml | 1 + .gitlab-ci-files/windows-desktop.yml | 14 +++++++++----- Linphone/CMakeLists.txt | 2 +- cmake/install/install.cmake | 7 +++++-- cmake/install/macos/cleanCPack.cmake.in | 5 +++++ 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci-files/macosx-desktop.yml b/.gitlab-ci-files/macosx-desktop.yml index 64a03bf40..3a3338af4 100644 --- a/.gitlab-ci-files/macosx-desktop.yml +++ b/.gitlab-ci-files/macosx-desktop.yml @@ -95,6 +95,7 @@ macosx-makefile-package: dependencies: [] rules: - !reference [.rules-merge-request-manual, rules] + - if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null - if: $NIGHTLY_MASTER - if: $PACKAGE_MACOSX - if: $DEPLOY_MACOSX diff --git a/.gitlab-ci-files/windows-desktop.yml b/.gitlab-ci-files/windows-desktop.yml index cf3a4648a..c22874945 100644 --- a/.gitlab-ci-files/windows-desktop.yml +++ b/.gitlab-ci-files/windows-desktop.yml @@ -117,15 +117,17 @@ - Set-Variable -Name "CLCACHE_DISABLE" -Value 1 ###################################################### -# JOBS +# On each push ###################################################### vs2019-msvc-win64-windows: - extends: .windows-vs2019-msvc + rules: + - if: ($CI_PIPELINE_SOURCE == "merge_request_event") && $DOCKER_UPDATE == null && $SKIP_WINDOWS == null variables: CMAKE_C_COMPILER : cl.exe CMAKE_CXX_COMPILER : cl.exe CMAKE_RC_COMPILER : rc.exe + extends: .windows-vs2019-msvc ###################################################### # NIGHTLY @@ -134,11 +136,12 @@ vs2019-msvc-win64-windows: ## ON SCHEDULE ## vs2019-win64-scheduled-windows: - extends: .windows-vs2019-scheduled rules: + - !reference [.rules-merge-request-manual, rules] - if: $NIGHTLY_MASTER - - if: $NIGHTLY_RELEASE + - if: $DEPLOY_PLUGINS - if: $DEPLOY_RUN_WINDOWS + extends: vs2019-msvc-win64-windows ################################################# # PACKAGE @@ -147,13 +150,14 @@ vs2019-win64-scheduled-windows: #Remove . when packaging process is ready to use vs2019-win64-package: stage: package - extends: .windows-vs2019-msvc dependencies: [] rules: + - !reference [.rules-merge-request-manual, rules] - if: $NIGHTLY_MASTER - if: $NIGHTLY_RELEASE - if: $PACKAGE_WINDOWS - if: $DEPLOY_WINDOWS + extends: .windows-vs2019-msvc variables: CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$WINDOWS_PLATFORM/$APP_FOLDER diff --git a/Linphone/CMakeLists.txt b/Linphone/CMakeLists.txt index a492a5954..cda319c16 100644 --- a/Linphone/CMakeLists.txt +++ b/Linphone/CMakeLists.txt @@ -19,7 +19,6 @@ endforeach() set(TARGET_NAME Linphone) set(APP_TARGETS ${LinphoneCxx_TARGET}) - set(QT_DEFAULT_MAJOR_VERSION 6) set(QT_PACKAGES Core Quick Qml Widgets Svg Multimedia Test)# Search Core at first for initialize Qt scripts for next find_packages. if (UNIX AND NOT APPLE) @@ -104,6 +103,7 @@ set_target_properties(${TARGET_NAME} PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} MACOSX_BUNDLE TRUE + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_BINARY_DIR}/cmake/install/macos/Info.plist WIN32_EXECUTABLE TRUE OUTPUT_NAME "${EXECUTABLE_NAME}" # Added for Qt to set the correct path on run configurations. diff --git a/cmake/install/install.cmake b/cmake/install/install.cmake index 286fd5f02..a2a8f83a8 100644 --- a/cmake/install/install.cmake +++ b/cmake/install/install.cmake @@ -62,7 +62,7 @@ if(APPLE) #configure_file("${CMAKE_SOURCE_DIR}/Linphone/../assets/qt.conf.in" "${CMAKE_BINARY_DIR}/cmake/install/macos/qt.conf" @ONLY) #install(FILES "${CMAKE_BINARY_DIR}/cmake/install/macos/qt.conf" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/..") - install(FILES "${CMAKE_BINARY_DIR}/cmake/install/macos/Info.plist" DESTINATION "${APPLICATION_NAME}.app/Contents") + #install(FILES "${CMAKE_BINARY_DIR}/cmake/install/macos/Info.plist" DESTINATION "${APPLICATION_NAME}.app/Contents") install(FILES "${CMAKE_BINARY_DIR}/cmake/install/macos/${EXECUTABLE_NAME}.icns" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/..") file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/lib*.dylib") if( ENABLE_OPENH264 )# Remove openH264 lib from the installation. this codec will be download by user @@ -96,7 +96,10 @@ if(APPLE) if (NOT DEPLOYQT_PROGRAM) message(FATAL_ERROR "Could not find the macdeployqt program. Make sure it is in the PATH.") endif() - install(CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} ${APPLICATION_OUTPUT_DIR}/${APPLICATION_NAME}.app -qmldir=${LINPHONE_QML_DIR} -no-strip )") + if(NOT ENABLE_APP_PACKAGING) + install(CODE "MESSAGE(\"MacDeploy install: execute_process(COMMAND ${DEPLOYQT_PROGRAM} ${APPLICATION_OUTPUT_DIR}/${APPLICATION_NAME}.app -qmldir=${LINPHONE_QML_DIR} -no-strip -verbose=2 -always-overwrite) \")") + install(CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} ${APPLICATION_OUTPUT_DIR}/${APPLICATION_NAME}.app -qmldir=${LINPHONE_QML_DIR} -no-strip -verbose=2 -always-overwrite)") + endif() endif() # ============================================================================== diff --git a/cmake/install/macos/cleanCPack.cmake.in b/cmake/install/macos/cleanCPack.cmake.in index 131018f1a..568d3a70b 100644 --- a/cmake/install/macos/cleanCPack.cmake.in +++ b/cmake/install/macos/cleanCPack.cmake.in @@ -24,6 +24,7 @@ # As CPack call install() from SDK, its files are into cmake_install_prefix too. # It is neccessary to use it because CPack doesn't take account of some install() (those that do the move) +set(DO_SIGNING @LINPHONE_BUILDER_SIGNING_IDENTITY@) set(DO_SIGNING @LINPHONE_BUILDER_SIGNING_IDENTITY@) execute_process(COMMAND rsync -a --force "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/Frameworks/" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@CMAKE_INSTALL_LIBDIR@/") #Use rsync to bypass symlinks override issues of frameworks. copy_directory will fail without explicit error... @@ -42,6 +43,10 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_ execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/cmake/") execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/lib/") + +message(STATUS "Execute : @DEPLOYQT_PROGRAM@ ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@APPLICATION_NAME@.app -qmldir=@LINPHONE_QML_DIR@ -no-strip -verbose=2 -always-overwrite") +execute_process(COMMAND @DEPLOYQT_PROGRAM@ "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@APPLICATION_NAME@.app" "-qmldir=@LINPHONE_QML_DIR@" "-no-strip" "-verbose=2" "-always-overwrite") + #CPack doesn't sign all files. if (DO_SIGNING) execute_process(COMMAND bash "@CMAKE_SOURCE_DIR@/cmake/install/sign_package.sh" codesign "@LINPHONE_BUILDER_SIGNING_IDENTITY@" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE")