diff --git a/.gitlab-ci-files/job-macosx-desktop.yml b/.gitlab-ci-files/job-macosx-desktop.yml index bd5d440ed..fe6ff568a 100644 --- a/.gitlab-ci-files/job-macosx-desktop.yml +++ b/.gitlab-ci-files/job-macosx-desktop.yml @@ -124,7 +124,7 @@ job-macosx-codesigning: - $DEPLOY_MACOSX script: - cd build - - codesign --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/linphone-app/macos/Packages/*.dmg + - codesign --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/Packages/*.dmg - ./../tools/app_notarization.sh artifacts: when: always @@ -147,11 +147,11 @@ job-macosx-makefile-deploy: - $NIGHTLY_MASTER - $DEPLOY_MACOSX script: - - rsync -rlv --ignore-existing build/OUTPUT/linphone-app/macos/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER + - rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER - |- if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then - rsync -rlv build/OUTPUT/linphone-app/macos/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM - rsync -rlv build/OUTPUT/linphone-app/macos/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM + rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM + rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM fi @@ -164,5 +164,5 @@ job-macosx-makefile-plugins-deploy: variables: - $DEPLOY_PLUGINS script: - - rsync -rlv --ignore-existing build/OUTPUT/linphone-app/macos/plugins/app/*.dylib $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER/plugins + - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER/plugins diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ccd32a98..8057470ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,10 +67,14 @@ set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}") #set(LINPHONE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/linphone-sdk/desktop") # Fromp 5.3, this install output is no more usable. We have to install all into the same folder as the final folder. #set(QTKEYCHAIN_OUTPUT_DIR "${CMAKE_BINARY_DIR}/qtkeychain") -#set(LINPHONE_OUTPUT_DIR "${APPLICATION_OUTPUT_DIR}") +if(NOT LINPHONE_OUTPUT_DIR)# set this variable only if you don't build the module + set(LINPHONE_OUTPUT_DIR "${APPLICATION_OUTPUT_DIR}")# Cannot be different from the current CMAKE_INSTALL_PREFIX +endif() #set(LINPHONE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/linphone-sdk/linphone-sdk/mac") #set(LINPHONE__DIR "${CMAKE_BINARY_DIR}/linphone-sdk/linphone-sdk/mac") -set(QTKEYCHAIN_OUTPUT_DIR "${APPLICATION_OUTPUT_DIR}") +if( NOT QTKEYCHAIN_OUTPUT_DIR) # set this variable only if you don't build the module + set(QTKEYCHAIN_OUTPUT_DIR "${APPLICATION_OUTPUT_DIR}")# Cannot be different from the current CMAKE_INSTALL_PREFIX +endif() @@ -105,13 +109,13 @@ set(OPTION_LIST "") #function doesn't work with strings value function(add_option _OPTION_LIST OPTION DESC VALUE) option(${OPTION} ${DESC} ${VALUE}) - list(APPEND _OPTION_LIST ${${_OPTION_LIST}} "-D${OPTION}=${VALUE}") + list(APPEND _OPTION_LIST ${${_OPTION_LIST}} "-D${OPTION}=${${OPTION}}") set(${${_OPTION_LIST}} ${_OPTION_LIST} PARENT_SCOPE) endfunction() function(add_cache _OPTION_LIST OPTION DESC VALUE) set(${OPTION} ${VALUE} CACHE STRING ${DESC}) - list(APPEND _OPTION_LIST ${${_OPTION_LIST}} "-D${OPTION}=${VALUE}") + list(APPEND _OPTION_LIST ${${_OPTION_LIST}} "-D${OPTION}=${${OPTION}}") set(${${_OPTION_LIST}} ${_OPTION_LIST} PARENT_SCOPE) endfunction() @@ -119,15 +123,15 @@ add_option(OPTION_LIST ENABLE_APP_LICENSE "Enable the license in packages." ON) add_option(OPTION_LIST ENABLE_APP_OAUTH2 "Build with OAuth2 support for remote provisioning." OFF) # Experimental. add_option(OPTION_LIST ENABLE_APP_PACKAGING "Enable packaging" OFF) add_option(OPTION_LIST ENABLE_APP_PACKAGE_ROOTCA "Embed the rootca file into the package" ON) -add_option(OPTION_LIST ENABLE_APP_PDF_VIEWER "Enable Pdf viewer" ON) -add_option(OPTION_LIST ENABLE_APP_WEBVIEW "Enable webviews." OFF) # Webview is not fully supported because of deployments. Used for subscription. +add_option(OPTION_LIST ENABLE_APP_PDF_VIEWER "Enable Pdf viewer. Only enable if the version of Qt have the module. Cannot be activated because of Qt find_package() make an error on unbound pdf." OFF) +add_option(OPTION_LIST ENABLE_APP_WEBVIEW "Enable webviews. Webview is not fully supported because of deployments. Used for subscription." OFF) add_option(OPTION_LIST ENABLE_BUILD_APP_PLUGINS "Enable the build of plugins" ON) add_option(OPTION_LIST ENABLE_BUILD_EXAMPLES "Enable the build of examples" OFF) add_option(OPTION_LIST ENABLE_BUILD_VERBOSE "Enable the build generation to be more verbose" OFF) add_option(OPTION_LIST ENABLE_CONSOLE_UI "Turn on or off compilation of console interface." OFF) add_option(OPTION_LIST ENABLE_DAEMON "Enable the linphone daemon interface." OFF) add_option(OPTION_LIST ENABLE_DOC "Enable API documentation generation." OFF) -add_option(OPTION_LIST ENABLE_FFMPEG "Build mediastreamer2 with ffmpeg video support." OFF)# No more needed +add_option(OPTION_LIST ENABLE_FFMPEG "Build mediastreamer2 with ffmpeg video support. No more needed." OFF) add_option(OPTION_LIST ENABLE_LDAP "Enable LDAP support." YES) add_option(OPTION_LIST ENABLE_NON_FREE_CODECS "Enable the use of non free codecs" YES) add_option(OPTION_LIST ENABLE_NON_FREE_FEATURES "Enable the use of non free codecs" ${ENABLE_NON_FREE_CODECS}) @@ -192,8 +196,7 @@ if(NOT APPLE OR MONO_ARCH) add_custom_target(linphone-deps) if(NOT LINPHONE_QT_ONLY) function(add_linphone_sdk) - set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}") - #set(CMAKE_BINARY_DIR ${APPLICATION_OUTPUT_DIR}) + #set(CMAKE_INSTALL_PREFIX "${LINPHONE_OUTPUT_DIR}") #CMAKE_INSTALL_PREFIX not working for add_subdirectory. It will use the global install prefix. set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) # Prevent project from overriding the options we just set here add_subdirectory("linphone-sdk") endfunction() @@ -201,18 +204,11 @@ if(NOT APPLE OR MONO_ARCH) if(ENABLE_QT_KEYCHAIN) function(add_linphone_keychain) - set(CMAKE_INSTALL_PREFIX "${QTKEYCHAIN_OUTPUT_DIR}") + #set(CMAKE_INSTALL_PREFIX "${QTKEYCHAIN_OUTPUT_DIR}") add_subdirectory("external/qtkeychain") endfunction() add_linphone_keychain() endif() - get_target_property(LINPHONE_BIN_DIR sdk LOCATION) - endif() - - if(NOT LINPHONE_OUTPUT_DIR AND NOT LINPHONE_BIN_DIR) - set(LINPHONE_OUTPUT_DIR ${APPLICATION_OUTPUT_DIR}) - else() - set(LINPHONE_OUTPUT_DIR ${LINPHONE_BIN_DIR}) endif() function(add_linphone_app) set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) # Prevent project from overriding the options we just set here diff --git a/cmake/TasksMacos.cmake b/cmake/TasksMacos.cmake index 88685e9fe..7de8f079f 100644 --- a/cmake/TasksMacos.cmake +++ b/cmake/TasksMacos.cmake @@ -30,8 +30,8 @@ set(LINPHONEAPP_NAME "linphone-app") set(LINPHONEAPP_PLATFORM "macos") set(SUB_TARGET app_macos) string(TOLOWER "${LINPHONEAPP_PLATFORM}" LINPHONEAPP_PLATFORM_LOWER) -set(_MACOS_INSTALL_RELATIVE_DIR "${LINPHONEAPP_NAME}/${LINPHONEAPP_PLATFORM_LOWER}") -set(_MACOS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${_MACOS_INSTALL_RELATIVE_DIR}") +set(_MACOS_INSTALL_RELATIVE_DIR "${LINPHONEAPP_NAME}/${LINPHONEAPP_PLATFORM_LOWER}") # linphone-app/macos +set(_MACOS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${_MACOS_INSTALL_RELATIVE_DIR}") # build/OUTPUT/linphone-app/macos ############################################################################ # Build each selected architecture @@ -42,13 +42,13 @@ set(_MACOS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${_MACOS_INSTALL_RELATIVE_DIR}") set(_MACOS_TARGETS) foreach(_MACOS_ARCH IN LISTS _MACOS_ARCHS) - set(_TARGET_NAME ${SUB_TARGET}-${_MACOS_ARCH}) - set(_MACOS_ARCH_BINARY_DIR "${PROJECT_BINARY_DIR}/${_TARGET_NAME}") + set(_TARGET_NAME ${SUB_TARGET}-${_MACOS_ARCH}) # app_macos-x86_64 + set(_MACOS_ARCH_BINARY_DIR "${PROJECT_BINARY_DIR}/${_TARGET_NAME}") # build/app_macos-x86_64 #set(_MACOS_ARCH_INSTALL_DIR "${PROJECT_BINARY_DIR}/${LINPHONEAPP_NAME}/mac-${_MACOS_ARCH}") - set(_MACOS_ARCH_INSTALL_DIR "${_MACOS_INSTALL_DIR}-${_MACOS_ARCH}") + set(_MACOS_ARCH_INSTALL_DIR "${_MACOS_INSTALL_DIR}-${_MACOS_ARCH}") # build/OUTPUT/linphone-app/macos-x86_64 add_custom_target(${_TARGET_NAME} ALL - COMMAND ${CMAKE_COMMAND} -B ${_MACOS_ARCH_BINARY_DIR} -DMONO_ARCH=${_MACOS_ARCH} ${USER_ARGS} ${OPTION_LIST} ${_MACOS_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${_MACOS_ARCH_INSTALL_DIR} -DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR} -DQTKEYCHAIN_OUTPUT_DIR="${QTKEYCHAIN_OUTPUT_DIR}" -DCMAKE_TOOLCHAIN_FILE=${PROJECT_SOURCE_DIR}/cmake/toolchains/toolchain-mac-x86_64.cmake -DLINPHONEAPP_BUILD_TYPE="Normal" + COMMAND ${CMAKE_COMMAND} -B ${_MACOS_ARCH_BINARY_DIR} -DMONO_ARCH=${_MACOS_ARCH} ${USER_ARGS} ${OPTION_LIST} ${_MACOS_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${_MACOS_ARCH_INSTALL_DIR} -DCMAKE_TOOLCHAIN_FILE=${PROJECT_SOURCE_DIR}/cmake/toolchains/toolchain-mac-x86_64.cmake -DLINPHONEAPP_BUILD_TYPE="Normal" COMMAND ${CMAKE_COMMAND} --build ${_MACOS_ARCH_BINARY_DIR} --target install ${_CMAKE_BUILD_ARGS} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Building Linphone APP for MacOS ${_MACOS_ARCH}" diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt index 0b5bcd0f5..ad9302e01 100644 --- a/linphone-app/CMakeLists.txt +++ b/linphone-app/CMakeLists.txt @@ -199,7 +199,7 @@ if (UNIX AND NOT APPLE) endif () set(QT5_PACKAGES_OPTIONAL TextToSpeech QmlModels) if(ENABLE_APP_PDF_VIEWER) - #list(APPEND QT5_PACKAGES_OPTIONAL Pdf PdfWidgets) + list(APPEND QT5_PACKAGES_OPTIONAL Pdf PdfWidgets) endif() set(CMAKE_AUTOMOC ON) SET(CMAKE_AUTOUIC ON) @@ -601,6 +601,7 @@ endif() if(Qt5Pdf_FOUND) list(APPEND HEADERS src/components/pdf/PdfWidget.hpp) list(APPEND SOURCES src/components/pdf/PdfWidget.cpp) + set(PDF_ENABLED TRUE) endif() @@ -707,6 +708,7 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.cmake" "${CMAKE_CURRENT include_directories(src/) include_directories("${LINPHONE_OUTPUT_DIR}/include/OpenGL") include_directories("${LINPHONE_OUTPUT_DIR}/include/") +include_directories("${APPLICATION_OUTPUT_DIR}/include/") include_directories("${QTKEYCHAIN_OUTPUT_DIR}/include/") if (CMAKE_INSTALL_RPATH) diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt index d7fd34c12..c2dd809d5 100644 --- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt +++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt @@ -221,7 +221,7 @@ elseif (APPLE) install(FILES ${SHARED_LIBRARIES} DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks") install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS OPTIONAL) if(ENABLE_APP_PACKAGE_ROOTCA) - install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}") + install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/linphone/rootca.pem" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}") endif() install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphonerc-factory" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}") diff --git a/linphone-app/src/config.h.cmake b/linphone-app/src/config.h.cmake index d301f6792..a8ce73734 100644 --- a/linphone-app/src/config.h.cmake +++ b/linphone-app/src/config.h.cmake @@ -34,4 +34,5 @@ #cmakedefine MSPLUGINS_DIR "${MSPLUGINS_DIR}" #cmakedefine ENABLE_APP_WEBVIEW "${ENABLE_APP_WEBVIEW}" #cmakedefine QTKEYCHAIN_TARGET_NAME ${QTKEYCHAIN_TARGET_NAME} +#cmakedefine PDF_ENABLED diff --git a/linphone-app/src/utils/Utils.cpp b/linphone-app/src/utils/Utils.cpp index f4b829154..c8e68877d 100644 --- a/linphone-app/src/utils/Utils.cpp +++ b/linphone-app/src/utils/Utils.cpp @@ -32,13 +32,15 @@ #include #include +#include "config.h" + #ifdef PDF_ENABLED #include #include #include "components/pdf/PdfWidget.hpp" #endif -#include "config.h" + #include "Utils.hpp" #include "UriTools.hpp" #include "app/App.hpp" diff --git a/tools/app_notarization.sh b/tools/app_notarization.sh index f7c0bc509..3d6debdea 100755 --- a/tools/app_notarization.sh +++ b/tools/app_notarization.sh @@ -3,7 +3,7 @@ #Notarization for Mac. Launch it from the build folder #rm notarize_result.plist -FILES=OUTPUT/linphone-app/macos/Packages/*.dmg +FILES=OUTPUT/Packages/*.dmg for f in $FILES do linphone_file=$f