diff --git a/.gitlab-ci-files/job-linux-desktop-debian9.yml b/.gitlab-ci-files/job-linux-desktop-debian9.yml index 4353e5e1a..444dd31b9 100644 --- a/.gitlab-ci-files/job-linux-desktop-debian9.yml +++ b/.gitlab-ci-files/job-linux-desktop-debian9.yml @@ -117,7 +117,7 @@ job-debian9-makefile-clang-package: - $PACKAGE_LINUX - $DEPLOY_LINUX variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$LINUX_PLATFORM/$APP_FOLDER CMAKE_GENERATOR: Unix Makefiles CC: clang CXX: clang++ @@ -142,7 +142,7 @@ job-debian9-makefile-clang-package: - cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS artifacts: paths: - - build/OUTPUT/Packages/*.AppImage + - build/OUTPUT/* expire_in: 1 week ################################################# @@ -159,7 +159,8 @@ job-debian9-makefile-clang-deploy: - $NIGHTLY_MASTER - $DEPLOY_LINUX script: - - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/ + - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER + - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM job-debian9-makefile-clang-plugins-deploy: @@ -171,7 +172,7 @@ job-debian9-makefile-clang-plugins-deploy: variables: - $DEPLOY_PLUGINS script: - - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/plugins/ + - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER/plugins/ ################################################# # Debug diff --git a/.gitlab-ci-files/job-macosx-desktop.yml b/.gitlab-ci-files/job-macosx-desktop.yml index e71eaba29..4af82f9f2 100644 --- a/.gitlab-ci-files/job-macosx-desktop.yml +++ b/.gitlab-ci-files/job-macosx-desktop.yml @@ -96,7 +96,7 @@ job-macosx-makefile-package: - $PACKAGE_MACOSX - $DEPLOY_MACOSX variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOS_PLATFORM/$APP_FOLDER extends: job-macosx-makefile script: - *build_all_script @@ -142,7 +142,8 @@ job-macosx-makefile-deploy: - $NIGHTLY_MASTER - $DEPLOY_MACOSX script: - - rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$MACOSX_UPLOAD_DIRECTORY + - rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER + - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM job-macosx-makefile-plugins-deploy: @@ -154,5 +155,5 @@ job-macosx-makefile-plugins-deploy: variables: - $DEPLOY_PLUGINS script: - - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$MACOSX_UPLOAD_DIRECTORY/plugins + - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER/plugins diff --git a/.gitlab-ci-files/job-windows-desktop.yml b/.gitlab-ci-files/job-windows-desktop.yml index 368bc4ab2..bf3140558 100644 --- a/.gitlab-ci-files/job-windows-desktop.yml +++ b/.gitlab-ci-files/job-windows-desktop.yml @@ -156,7 +156,7 @@ vs2019-win64-package: - if: $PACKAGE_WINDOWS - if: $DEPLOY_WINDOWS variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DENABLE_G729=ON + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$WINDOWS_PLATFORM/$APP_FOLDER ################################################# @@ -172,7 +172,8 @@ vs2019-win64-upload: needs: - vs2019-win64-package script: - - scp "build-desktop/OUTPUT/Packages/*.exe" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_DIRECTORY%" + - scp "build-desktop/OUTPUT/Packages/*.exe" "%DEPLOY_SERVER%:%UPLOAD_ROOT_PATH%/%WINDOWS_PLATFORM%/%APP_FOLDER% + - scp "build-desktop/OUTPUT/RELEASE" "%DEPLOY_SERVER%:%UPLOAD_ROOT_PATH%/%WINDOWS_PLATFORM%/ vs2019-win64-plugins-upload: diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d2a1b936..6216d8afc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,6 +114,8 @@ option(ENABLE_APP_LICENSE "Enable the license in packages." YES) #Webview is not fully supported because of deployments. Used for subscription. option(ENABLE_APP_WEBVIEW "Enable webviews." NO) +option(LINPHONE_SDK_MAKE_RELEASE_FILE_URL "Make a RELEASE file that work along check_version and use this URL" "") + if(WIN32 OR APPLE) @@ -142,6 +144,9 @@ list(APPEND APP_OPTIONS "-DENABLE_APP_LICENSE=${ENABLE_APP_LICENSE}") list(APPEND APP_OPTIONS "-DENABLE_LDAP=${ENABLE_LDAP}") list(APPEND APP_OPTIONS "-DENABLE_APP_WEBVIEW=${ENABLE_APP_WEBVIEW}") +list(APPEND APP_OPTIONS "-DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=${LINPHONE_SDK_MAKE_RELEASE_FILE_URL}") + + if(ENABLE_V4L) diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt index 7ad44bf11..a51218f9e 100644 --- a/linphone-app/CMakeLists.txt +++ b/linphone-app/CMakeLists.txt @@ -62,7 +62,7 @@ if( "${CURRENT_YEAR}" STREQUAL "${APPLICATION_START_LICENCE}") else() set(COPYRIGHT_RANGE_DATE "${APPLICATION_START_LICENCE}-${CURRENT_YEAR}") endif() - +set(APPLICATION_SEMVER ${FULL_VERSION}) if(WIN32) set(EXECUTABLE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_DIR} ) diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt index f87311956..e45186092 100644 --- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt +++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt @@ -50,14 +50,18 @@ if (GIT_EXECUTABLE AND NOT(APP_PROJECT_VERSION)) elseif (NOT(APP_PROJECT_VERSION)) set(APP_PROJECT_VERSION "0.0.0") endif () -string(REGEX REPLACE "([0-9.]+)-?.*" "\\1" LINPHONE_VERSION "${APP_PROJECT_VERSION}") -string(REPLACE "." ";" SPLITTED_LINPHONE_VERSION "${LINPHONE_VERSION}") -list(LENGTH SPLITTED_LINPHONE_VERSION SPLITTED_LINPHONE_VERSION_LENGTH) -list(GET SPLITTED_LINPHONE_VERSION 0 LINPHONE_MAJOR_VERSION) -list(GET SPLITTED_LINPHONE_VERSION 1 LINPHONE_MINOR_VERSION) -if (SPLITTED_LINPHONE_VERSION_LENGTH GREATER 2) - list(GET SPLITTED_LINPHONE_VERSION 2 LINPHONE_MICRO_VERSION) -endif () + + +bc_parse_full_version(${APP_PROJECT_VERSION} LINPHONE_MAJOR_VERSION LINPHONE_MINOR_VERSION LINPHONE_MICRO_VERSION LINPHONE_BRANCH_VERSION) +set(LINPHONE_VERSION ${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION}) +#string(REGEX REPLACE "([0-9.]+)-?.*" "\\1" LINPHONE_VERSION "${APP_PROJECT_VERSION}") +#string(REPLACE "." ";" SPLITTED_LINPHONE_VERSION "${LINPHONE_VERSION}") +#list(LENGTH SPLITTED_LINPHONE_VERSION SPLITTED_LINPHONE_VERSION_LENGTH) +#list(GET SPLITTED_LINPHONE_VERSION 0 LINPHONE_MAJOR_VERSION) +#list(GET SPLITTED_LINPHONE_VERSION 1 LINPHONE_MINOR_VERSION) +#if (SPLITTED_LINPHONE_VERSION_LENGTH GREATER 2) +# list(GET SPLITTED_LINPHONE_VERSION 2 LINPHONE_MICRO_VERSION) +#endif () set(PACKAGE_VERSION "${APP_PROJECT_VERSION}") message(STATUS "Versions : ${APP_PROJECT_VERSION}, ${LINPHONE_VERSION}") # ============================================================================== @@ -329,6 +333,8 @@ if (MSVC) # endif () endif () + + # ============================================================================== # CPack. # ============================================================================== @@ -363,15 +369,17 @@ if(${ENABLE_APP_PACKAGING}) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone_dmg.scpt.in" "${CMAKE_CURRENT_BINARY_DIR}/linphone_dmg.scpt" @ONLY) set(CPACK_DMG_DS_STORE_SETUP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/linphone_dmg.scpt") set(CPACK_BINARY_DRAGNDROP ON) + set(PACKAGE_EXT "dmg") message(STATUS "Set DragNDrop CPack generator in OUTPUT/Packages") elseif(NOT(WIN32)) set(DO_APPIMAGE YES) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION}") + set(PACKAGE_EXT "AppImage") message(STATUS "Set AppImage CPack generator in OUTPUT/Packages") else() - set(CPACK_GENERATOR "NSIS") set(DO_GENERATOR YES) + set(PACKAGE_EXT "exe") string(COMPARE EQUAL ${CPACK_GENERATOR} "NSIS" IS_NSIS) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION}-${BIN_ARCH}") if (${IS_NSIS}) @@ -409,7 +417,6 @@ if(${ENABLE_APP_PACKAGING}) message(STATUS "Set NSIS CPack generator in OUTPUT/Packages") else () set(PACKAGE_EXT "msi") - set(CPACK_WIX_UPGRADE_GUID "C748668E-53D0-4088-A548-E33A76615A3B") set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico") set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${APPLICATION_URL}") @@ -446,9 +453,13 @@ if(${ENABLE_APP_PACKAGING}) message(STATUS "No signtool certificate found; assuming development machine (${PFX_FILE})") endif () endif () + endif() configure_file("${CMAKE_CURRENT_SOURCE_DIR}/packaging.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/packaging.cmake" @ONLY) install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/packaging.cmake") + if(LINPHONE_SDK_MAKE_RELEASE_FILE_URL) + bc_make_release_file("${APP_PROJECT_VERSION}" "${LINPHONE_SDK_MAKE_RELEASE_FILE_URL}/${CPACK_PACKAGE_FILE_NAME}.${PACKAGE_EXT}") + endif() include(CPack) endif() diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp index 3bba4d761..610272fa8 100644 --- a/linphone-app/src/app/App.cpp +++ b/linphone-app/src/app/App.cpp @@ -1058,6 +1058,6 @@ void App::checkForUpdate() { void App::checkForUpdates(bool force) { if(force || CoreManager::getInstance()->getSettingsModel()->isCheckForUpdateEnabled()) CoreManager::getInstance()->getCore()->checkForUpdate( - Utils::appStringToCoreString(getStrippedApplicationVersion()) + Utils::appStringToCoreString(applicationVersion()) ); } diff --git a/linphone-app/src/app/AppController.cpp b/linphone-app/src/app/AppController.cpp index b1b83ee59..d5d374ceb 100644 --- a/linphone-app/src/app/AppController.cpp +++ b/linphone-app/src/app/AppController.cpp @@ -29,8 +29,6 @@ #include #endif -#include "gitversion.h" - #include "AppController.hpp" #include "components/other/desktop-tools/DesktopTools.hpp" @@ -53,7 +51,7 @@ AppController::AppController (int &argc, char *argv[]) { // The EXECUTABLE_NAME will be used in qt standard paths. It's our goal. QCoreApplication::setApplicationName(EXECUTABLE_NAME); QApplication::setOrganizationDomain(EXECUTABLE_NAME); - QCoreApplication::setApplicationVersion(LINPHONE_QT_GIT_VERSION); + QCoreApplication::setApplicationVersion(APPLICATION_SEMVER); #ifdef ENABLE_APP_WEBVIEW #if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) mApp = new App(argc, argv); diff --git a/linphone-app/src/components/participant/ParticipantDeviceListModel.cpp b/linphone-app/src/components/participant/ParticipantDeviceListModel.cpp index e21d65e06..031536d26 100644 --- a/linphone-app/src/components/participant/ParticipantDeviceListModel.cpp +++ b/linphone-app/src/components/participant/ParticipantDeviceListModel.cpp @@ -289,7 +289,7 @@ void ParticipantDeviceListModel::onConferenceStateChanged(linphone::Conference:: void ParticipantDeviceListModel::onParticipantDeviceMediaCapabilityChanged(const std::shared_ptr & participantDevice){ auto device = get(participantDevice); if(device) - emit device->videoEnabledChanged(); + device->updateVideoEnabled(); else onParticipantDeviceAdded(participantDevice); device = get(participantDevice); diff --git a/linphone-app/src/config.h.cmake b/linphone-app/src/config.h.cmake index e999c64ca..052946678 100644 --- a/linphone-app/src/config.h.cmake +++ b/linphone-app/src/config.h.cmake @@ -26,6 +26,7 @@ #cmakedefine APPLICATION_VENDOR "${APPLICATION_VENDOR}" #cmakedefine APPLICATION_URL "${APPLICATION_URL}" #cmakedefine APPLICATION_LICENCE "${APPLICATION_LICENCE}" +#cmakedefine APPLICATION_SEMVER "${APPLICATION_SEMVER}" #cmakedefine COPYRIGHT_RANGE_DATE "${COPYRIGHT_RANGE_DATE}" #cmakedefine ENABLE_UPDATE_CHECK 1 #cmakedefine EXECUTABLE_NAME "${EXECUTABLE_NAME}" diff --git a/linphone-sdk b/linphone-sdk index 4afd627ae..809b278c0 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit 4afd627aece46fb9803116844dba9132ec82772a +Subproject commit 809b278c08b43c821205d4f4ef4c86b2de49d393