diff --git a/.gitlab-ci-files/job-macosx-desktop.yml b/.gitlab-ci-files/job-macosx-desktop.yml index ecd3cfeba..2c90ee8a9 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/Packages/*.dmg + - codesign --timestamp --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/linphone-app/macos/Packages/Linphone*.dmg - ./../tools/app_notarization.sh artifacts: when: always @@ -147,7 +147,7 @@ job-macosx-makefile-deploy: - $NIGHTLY_MASTER - $DEPLOY_MACOSX script: - - rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER + - rsync -rlv --ignore-existing build/OUTPUT/linphone-app/macos/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER - |- if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM diff --git a/CMakeLists.txt b/CMakeLists.txt index 8057470ef..e6bab4130 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,32 @@ endforeach() if(ENABLE_BUILD_VERBOSE) message("User Args : ${USER_ARGS}") endif() + +project(linphoneqt) + +include(GNUInstallDirs) +include(CheckCXXCompilerFlag) +include(linphone-app/application_info.cmake) + +set(CMAKE_CXX_STANDARD 17) +if(LINPHONEAPP_INSTALL_PREFIX) + set(APPLICATION_OUTPUT_DIR "${LINPHONEAPP_INSTALL_PREFIX}") +else() + set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT") +endif() + + +set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}") + if( APPLE ) set(LINPHONESDK_BUILD_TYPE "Default")#Using Mac will remove all SDK targets. set(ENABLE_FAT_BINARY "ON") # Disable XCFrameworks as it is not supported. + + set(CMAKE_INSTALL_BINDIR "${APPLICATION_NAME}.app/Contents/MacOS") + set(CMAKE_INSTALL_LIBDIR "${APPLICATION_NAME}.app/Contents/Frameworks") + set(CMAKE_INSTALL_INCLUDEDIR "${APPLICATION_NAME}.app/Contents/Resources/include") + set(CMAKE_INSTALL_DATAROOTDIR "${APPLICATION_NAME}.app/Contents/Resources/share") + if( NOT CMAKE_OSX_DEPLOYMENT_TARGET) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment version") endif() @@ -54,26 +77,16 @@ if( APPLE ) set(CMAKE_SYSTEM_PROCESSOR "x86_64") elseif(WIN32) set(LINPHONESDK_BUILD_TYPE "Default") +else() endif() -project(linphoneqt) - -include(GNUInstallDirs) -include(CheckCXXCompilerFlag) - -set(CMAKE_CXX_STANDARD 17) -set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT") -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") 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 + set(LINPHONE_OUTPUT_DIR "${CMAKE_INSTALL_PREFIX}")# 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") + 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 + set(QTKEYCHAIN_OUTPUT_DIR "${CMAKE_INSTALL_PREFIX}")# Cannot be different from the current CMAKE_INSTALL_PREFIX endif() @@ -196,7 +209,6 @@ if(NOT APPLE OR MONO_ARCH) add_custom_target(linphone-deps) if(NOT LINPHONE_QT_ONLY) function(add_linphone_sdk) - #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() @@ -204,8 +216,7 @@ if(NOT APPLE OR MONO_ARCH) if(ENABLE_QT_KEYCHAIN) function(add_linphone_keychain) - #set(CMAKE_INSTALL_PREFIX "${QTKEYCHAIN_OUTPUT_DIR}") - add_subdirectory("external/qtkeychain") + add_subdirectory("external/qtkeychain") endfunction() add_linphone_keychain() endif() @@ -221,6 +232,19 @@ if(NOT APPLE OR MONO_ARCH) if(ENABLE_BUILD_APP_PLUGINS) add_subdirectory("plugins" "plugins-app") endif() + + if(NOT LINPHONE_QT_ONLY) +# Move root folders to app + file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") + file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}") + file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") + install(CODE "execute_process(COMMAND rsync -a --force \"${CMAKE_INSTALL_PREFIX}/Frameworks\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\" )") #Use rsync to bypass symlinks override issues of frameworks. copy_directory will fail without explicit error... + install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory \"${CMAKE_INSTALL_PREFIX}/include/\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/\")") + install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory \"${CMAKE_INSTALL_PREFIX}/share/\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/\")") + install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory \"${CMAKE_INSTALL_PREFIX}/mkspecs/\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/\")") + endif() + else() include(cmake/TasksMacos.cmake) endif() diff --git a/cmake/GenerateAppMacos.cmake b/cmake/GenerateAppMacos.cmake index 99366883b..fa02454e4 100644 --- a/cmake/GenerateAppMacos.cmake +++ b/cmake/GenerateAppMacos.cmake @@ -23,22 +23,52 @@ include("${LINPHONESDK_DIR}/cmake/LinphoneSdkUtils.cmake") linphone_sdk_convert_comma_separated_list_to_cmake_list("${LINPHONEAPP_MACOS_ARCHS}" _MACOS_ARCHS) - - -# Create the desktop directory that will contain the merged content of all architectures -execute_process( - COMMAND "${CMAKE_COMMAND}" "-E" "remove_directory" "${CMAKE_INSTALL_PREFIX}" - COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${CMAKE_INSTALL_PREFIX}" -) - -# Copy and merge content of all architectures in the desktop directory list(GET _MACOS_ARCHS 0 _FIRST_ARCH) -execute_process(# Do not use copy_directory because of symlinks - COMMAND "cp" "-R" "${LINPHONEAPP_NAME}-${_FIRST_ARCH}/OUTPUT/" "${CMAKE_INSTALL_PREFIX}" - WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}" + +set(MAIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${LINPHONEAPP_NAME}) #OUTPUT/linphone-app/macos + +################################ +# Create the desktop directory that will contain the merged content of all architectures +################################ + +execute_process( + COMMAND "${CMAKE_COMMAND}" "-E" "remove_directory" "${MAIN_INSTALL_DIR}" + COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${MAIN_INSTALL_DIR}" ) -#message(FATAL_ERROR "${LINPHONEAPP_NAME}/${LINPHONEAPP_PLATFORM}-${_FIRST_ARCH}/ == ${CMAKE_INSTALL_PREFIX} == ${LINPHONEAPP_BUILD_DIR}") +################################ +# Copy outside folders that should be in .app package +################################ + +function( copy_outside_folders _ARCH) +# Prepare .app + execute_process(COMMAND rsync -a --force "${MAIN_INSTALL_DIR}-${_ARCH}/Frameworks/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_LIBDIR}/") + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MAIN_INSTALL_DIR}-${_ARCH}/include/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_INCLUDEDIR}/") +# move share + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MAIN_INSTALL_DIR}-${_ARCH}/share/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_DATAROOTDIR}/") +# move mkspecs + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MAIN_INSTALL_DIR}-${_ARCH}/mkspecs/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_DATAROOTDIR}/") +endfunction() + +set(_COPIED FALSE) +foreach(_ARCH IN LISTS ${_MACOS_ARCHS}) + set(_COPIED TRUE) + message(STATUS "Copying outside folders for ${_ARCH}") + copy_outside_folders(${_ARCH}) +endforeach() + +if(NOT _COPIED) # this is a bug on cmake as there is one element but foreach doesn't do loop. + message(STATUS "Copying outside folders for ${_FIRST_ARCH}") + copy_outside_folders(${_FIRST_ARCH}) +endif() + +################################ +# Copy and merge content of all architectures in the desktop directory +################################ +# Do not use copy_directory because of symlinks +message(STATUS "Copying ${_FIRST_ARCH} into main") +execute_process(COMMAND rsync -a --force "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/" "${MAIN_INSTALL_DIR}" WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}") + #if(NOT ENABLE_FAT_BINARY) # execute_process( # COMMAND "${CMAKE_COMMAND}" "-E" "remove_directory" "${CMAKE_INSTALL_PREFIX}/Frameworks" @@ -46,9 +76,12 @@ execute_process(# Do not use copy_directory because of symlinks # ) #endif() -##### MIX +################################ +##### MIX (TODO) +################################ +message(STATUS "Mixing") # Get all files in output -file(GLOB_RECURSE _BINARIES RELATIVE "${LINPHONEAPP_BUILD_DIR}/${LINPHONEAPP_NAME}-${_FIRST_ARCH}/OUTPUT/" "${LINPHONEAPP_BUILD_DIR}/${LINPHONEAPP_NAME}-${_FIRST_ARCH}/OUTPUT/*") +file(GLOB_RECURSE _BINARIES RELATIVE "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/" "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/*") if(NOT ENABLE_FAT_BINARY) # Remove all .framework inputs from the result @@ -56,10 +89,10 @@ if(NOT ENABLE_FAT_BINARY) endif() foreach(_FILE IN LISTS ${_BINARIES}) - get_filename_component(ABSOLUTE_FILE "${LINPHONEAPP_NAME}-${_FIRST_ARCH}/OUTPUT/${_FILE}" ABSOLUTE) + get_filename_component(ABSOLUTE_FILE "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/${_FILE}" ABSOLUTE) if(NOT IS_SYMLINK ${ABSOLUTE_FILE}) # Check if lipo can detect an architecture - execute_process(COMMAND lipo -archs "${LINPHONEAPP_NAME}-${_FIRST_ARCH}/OUTPUT/${_FILE}" + execute_process(COMMAND lipo -archs "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/${_FILE}" OUTPUT_VARIABLE FILE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}" @@ -69,12 +102,12 @@ foreach(_FILE IN LISTS ${_BINARIES}) # There is at least one architecture : Use this candidate to mix with another architecture set(_ALL_ARCH_FILES) foreach(_ARCH IN LISTS ${_ARCHS}) - list(APPEND _ALL_ARCH_FILES "${LINPHONEAPP_NAME}-${_ARCH}/OUTPUT/${_FILE}") + list(APPEND _ALL_ARCH_FILES "${MAIN_INSTALL_DIR}-${_ARCH}/${_FILE}") endforeach() string(REPLACE ";" " " _ARCH_STRING "${_ARCHS}") message(STATUS "Mixing ${_FILE} for archs [${_ARCH_STRING}]") execute_process( - COMMAND "lipo" "-create" "-output" "${CMAKE_INSTALL_PREFIX}/${_FILE}" ${_ALL_ARCH_FILES} + COMMAND "lipo" "-create" "-output" "${MAIN_INSTALL_DIR}/${_FILE}" ${_ALL_ARCH_FILES} WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}" ) endif() @@ -83,7 +116,7 @@ endforeach() #[[ if(NOT ENABLE_FAT_BINARY) # Generate XCFrameworks - file(GLOB _FRAMEWORKS "${LINPHONEAPP_BUILD_DIR}/${LINPHONEAPP_NAME}-${_FIRST_ARCH}/OUTPUT/Frameworks/*.framework") + file(GLOB _FRAMEWORKS "${LINPHONEAPP_BUILD_DIR}/${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/Frameworks/*.framework") foreach(_FRAMEWORK IN LISTS _FRAMEWORKS) get_filename_component(_FRAMEWORK_NAME "${_FRAMEWORK}" NAME_WE) set(_ALL_ARCH_FRAMEWORKS) diff --git a/cmake/TasksMacos.cmake b/cmake/TasksMacos.cmake index 7de8f079f..95d2a5b58 100644 --- a/cmake/TasksMacos.cmake +++ b/cmake/TasksMacos.cmake @@ -31,7 +31,8 @@ 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}") # linphone-app/macos -set(_MACOS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${_MACOS_INSTALL_RELATIVE_DIR}") # build/OUTPUT/linphone-app/macos +set(_MACOS_INSTALL_DIR "${APPLICATION_OUTPUT_DIR}/${_MACOS_INSTALL_RELATIVE_DIR}") # build/OUTPUT/linphone-app/macos +# Use APPLICATION_OUTPUT_DIR. CMAKE_INSTALL_PREFIX can be in Linphone.app/Contents ############################################################################ # Build each selected architecture @@ -44,11 +45,10 @@ set(_MACOS_TARGETS) foreach(_MACOS_ARCH IN LISTS _MACOS_ARCHS) 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}") # 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} -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} -DLINPHONEAPP_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}" @@ -62,15 +62,18 @@ endforeach() ############################################################################ # Generate the aggregated apps ############################################################################ -#message(FATAL_ERROR "${CMAKE_BINARY_DIR} / ${_MACOS_INSTALL_DIR} / ${LINPHONEAPP_MACOS_ARCHS} / ${LINPHONEAPP_NAME} / ${_MACOS_ARCH_BINARY_DIR} / ${_MACOS_ARCH_INSTALL_DIR} / ${CMAKE_INSTALL_PREFIX}") add_custom_target(gen-apps ALL COMMAND "${CMAKE_COMMAND}" "-DLINPHONESDK_DIR=${PROJECT_SOURCE_DIR}/linphone-sdk" "-DLINPHONEAPP_BUILD_DIR=${CMAKE_BINARY_DIR}" "-DLINPHONEAPP_MACOS_ARCHS=${LINPHONEAPP_MACOS_ARCHS}" - "-DLINPHONEAPP_NAME=${SUB_TARGET}" + "-DLINPHONEAPP_NAME=${_MACOS_INSTALL_RELATIVE_DIR}" "-DLINPHONEAPP_PLATFORM=${LINPHONEAPP_PLATFORM_LOWER}" "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}" + "-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}" + "-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}" + "-DCMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR}" + "-DCMAKE_INSTALL_DATAROOTDIR=${CMAKE_INSTALL_DATAROOTDIR}" "-DENABLE_FAT_BINARY=${ENABLE_FAT_BINARY}" "-P" "${PROJECT_SOURCE_DIR}/cmake/GenerateAppMacos.cmake" DEPENDS ${_MACOS_TARGETS} diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt index ad9302e01..f4f03142c 100644 --- a/linphone-app/CMakeLists.txt +++ b/linphone-app/CMakeLists.txt @@ -24,7 +24,7 @@ cmake_minimum_required(VERSION 3.22) #Linphone targets -set(LINPHONE_PACKAGES LibLinphoneCxx Mediastreamer2 Belcard LibLinphone) +set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 Belcard LibLinphone) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") @@ -111,8 +111,8 @@ foreach(PACKAGE ${LINPHONE_PACKAGES}) endif() endforeach() -set(PLUGIN_TARGETS ${LibLinphoneCxx_TARGET}) -set(APP_TARGETS ${LibLinphoneCxx_TARGET} +set(PLUGIN_TARGETS ${LinphoneCxx_TARGET}) +set(APP_TARGETS ${LinphoneCxx_TARGET} ${BCToolbox_TARGET}#Logger/App ${Mediastreamer2_TARGET}#MediastreamerUtils ${Belcard_TARGET}#VCard Model @@ -708,7 +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("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/") include_directories("${QTKEYCHAIN_OUTPUT_DIR}/include/") if (CMAKE_INSTALL_RPATH) @@ -741,7 +741,7 @@ if (WIN32) endif() elseif (APPLE) add_executable(${TARGET_NAME} $ ${MAIN_FILE} ${QRC_BIG_RESOURCES}) - install(TARGETS linphone-qt RUNTIME DESTINATION "${APPLICATION_NAME}.app/Contents/MacOS") # using ${TARGET_NAME} lead to cmake error on target name. Use directly linphone-qt. + install(TARGETS linphone-qt RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") # using ${TARGET_NAME} lead to cmake error on target name. Use directly linphone-qt. else () add_executable(${TARGET_NAME} $ ${MAIN_FILE} ${QRC_BIG_RESOURCES}) install(TARGETS linphone-qt RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") @@ -817,13 +817,13 @@ set(TOOLS_DIR "${CMAKE_BINARY_DIR}/programs") set(LINPHONE_BUILDER_SIGNING_IDENTITY ${LINPHONE_BUILDER_SIGNING_IDENTITY}) add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") -add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/include/" "${CMAKE_INSTALL_PREFIX}/include/") +add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/include/" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/") add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") #add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/include/LinphoneApp/*" "${CMAKE_INSTALL_PREFIX}/include/LinphoneApp/") #configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/*" "${CMAKE_INSTALL_PREFIX}/include/LinphoneApp/" COPYONLY) -install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include" DESTINATION ".") +install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") add_subdirectory(build) diff --git a/linphone-app/cmake/FindLibLinphoneCxx.cmake b/linphone-app/cmake/FindLinphoneCxx.cmake similarity index 74% rename from linphone-app/cmake/FindLibLinphoneCxx.cmake rename to linphone-app/cmake/FindLinphoneCxx.cmake index 8a4407e76..0f81fe208 100644 --- a/linphone-app/cmake/FindLibLinphoneCxx.cmake +++ b/linphone-app/cmake/FindLinphoneCxx.cmake @@ -20,8 +20,8 @@ # ############################################################################ # -# LibLinphoneCxx_FOUND - The liblinphone library has been found -# LibLinphoneCxx_TARGET - The name of the CMake target for the liblinphone library +# LinphoneCxx_FOUND - The liblinphone library has been found +# LinphoneCxx_TARGET - The name of the CMake target for the liblinphone library if(NOT TARGET liblinphone++) set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR}) @@ -29,17 +29,17 @@ if(NOT TARGET liblinphone++) include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/LinphoneCxx/cmake/LinphoneCxxTargets.cmake) endif() -set(_LibLinphoneCxx_REQUIRED_VARS LibLinphoneCxx_TARGET) -set(_LibLinphoneCxx_CACHE_VARS ${_LibLinphoneCxx_REQUIRED_VARS}) +set(_LinphoneCxx_REQUIRED_VARS LinphoneCxx_TARGET) +set(_LinphoneCxx_CACHE_VARS ${_LinphoneCxx_REQUIRED_VARS}) if(TARGET liblinphone++) - set(LibLinphoneCxx_TARGET liblinphone++) + set(LinphoneCxx_TARGET liblinphone++) endif() include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(LibLinphoneCxx - REQUIRED_VARS ${_LibLinphoneCxx_REQUIRED_VARS} +find_package_handle_standard_args(LinphoneCxx + REQUIRED_VARS ${_LinphoneCxx_REQUIRED_VARS} HANDLE_COMPONENTS ) -mark_as_advanced(${_LibLinphoneCxx_CACHE_VARS}) +mark_as_advanced(${_LinphoneCxx_CACHE_VARS}) diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt index c2dd809d5..deccdc1b4 100644 --- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt +++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt @@ -205,10 +205,10 @@ elseif (APPLE) set(APP_QT_CONF_PATH "[Paths]\nPlugins = PlugIns\nImports = Resources/qml\nQml2Imports = Resources/qml") configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../assets/qt.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/../../qt.conf" @ONLY) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../qt.conf" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../qt.conf" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/..") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../Info.plist" DESTINATION "${APPLICATION_NAME}.app/Contents") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.icns" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources") - install(CODE "execute_process(COMMAND rsync -a \"${LINPHONE_OUTPUT_DIR}/Frameworks\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/\" )") #Use rsync to bypass symlinks override issues of frameworks + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.icns" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/..") + #install(CODE "execute_process(COMMAND rsync -a \"${LINPHONE_OUTPUT_DIR}/Frameworks\" \"\${CMAKE_INSTALL_PREFIX}\" )") #Use rsync to bypass symlinks override issues of frameworks 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 foreach(item ${SHARED_LIBRARIES}) @@ -218,14 +218,14 @@ elseif (APPLE) endif() endforeach(item) endif() - 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}") - endif() - install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphonerc-factory" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}") + install(FILES ${SHARED_LIBRARIES} DESTINATION "${CMAKE_INSTALL_LIBDIR}") + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${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}") + #endif() + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphonerc-factory" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}") - install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}" USE_SOURCE_PERMISSIONS) + install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}" USE_SOURCE_PERMISSIONS) file(GLOB SHARED_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/../../${APPLICATION_NAME}.app/Contents/Frameworks/lib*.dylib") foreach (LIBRARY ${SHARED_LIBRARIES}) @@ -238,18 +238,18 @@ elseif (APPLE) #install(FILES ${SHARED_LIBRARIES} DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks") endif() install(TARGETS ${APP_PLUGIN} - ARCHIVE DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" - LIBRARY DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" - RUNTIME DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ) - install(CODE "execute_process(COMMAND install_name_tool -add_rpath \"@executable_path/../Frameworks/\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\")") - install(CODE "execute_process(COMMAND install_name_tool -add_rpath \"@executable_path/../lib/\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\")") + install(CODE "execute_process(COMMAND install_name_tool -add_rpath \"@executable_path/../Frameworks/\" \"\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/${EXECUTABLE_NAME}\")") + install(CODE "execute_process(COMMAND install_name_tool -add_rpath \"@executable_path/../lib/\" \"\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/${EXECUTABLE_NAME}\")") - if (LINPHONE_BUILDER_SIGNING_IDENTITY) - set(SIGNING_SEARCH_DIR "${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Content") - install(CODE "execute_process(COMMAND bash \"${CMAKE_CURRENT_SOURCE_DIR}/../../tools/sign_package.sh\" codesign \"${LINPHONE_BUILDER_SIGNING_IDENTITY}\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents\" )") - install(CODE "execute_process(COMMAND \"codesign\" \"--entitlements\" \"${CMAKE_CURRENT_BINARY_DIR}/../../entitlements.xml\" \"--force\" \"--deep\" \"--options\" \"runtime,library\" \"--verbose\" \"-s\" \"${LINPHONE_BUILDER_SIGNING_IDENTITY}\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app\")") - endif () + #if (LINPHONE_BUILDER_SIGNING_IDENTITY) + #set(SIGNING_SEARCH_DIR "${CMAKE_INSTALL_PREFIX}") + #install(CODE "execute_process(COMMAND bash \"${CMAKE_CURRENT_SOURCE_DIR}/../../tools/sign_package.sh\" codesign \"${LINPHONE_BUILDER_SIGNING_IDENTITY}\" \"\${CMAKE_INSTALL_PREFIX}\" )") + #install(CODE "execute_process(COMMAND \"codesign\" \"--entitlements\" \"${CMAKE_CURRENT_BINARY_DIR}/../../entitlements.xml\" \"--force\" \"--deep\" \"--timestamp\" \"--options\" \"runtime,library\" \"--verbose\" \"-s\" \"${LINPHONE_BUILDER_SIGNING_IDENTITY}\" \"${APPLICATION_OUTPUT_DIR}/${APPLICATION_NAME}.app\")") + #endif () # install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app" DESTINATION "." USE_SOURCE_PERMISSIONS) else()# Not Windows and Apple #[[ file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/lib*.so") @@ -368,6 +368,17 @@ if (MSVC) endif () +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory \"${CMAKE_INSTALL_PREFIX}/include/\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/\")") +#install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory \"${CMAKE_INSTALL_PREFIX}/include/\")") +# move share +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory \"${CMAKE_INSTALL_PREFIX}/share/\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/\")") +#install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory \"${CMAKE_INSTALL_PREFIX}/share/\")") +# move mkspecs +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory \"${CMAKE_INSTALL_PREFIX}/mkspecs/\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/\")") +#install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory \"${CMAKE_INSTALL_PREFIX}/mkspecs/\")") +# remove other folders +#install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory \"${CMAKE_INSTALL_PREFIX}/cmake/\")") +#install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory \"${CMAKE_INSTALL_PREFIX}/lib/\")") # ============================================================================== # CPack. @@ -391,10 +402,11 @@ if(${ENABLE_APP_PACKAGING}) else() unset(CPACK_RESOURCE_FILE_LICENSE) endif() - set(CPACK_RESOURCE_FILE_LICENSE_PROVIDED ENABLE_APP_LICENSE) - - set(CPACK_PACKAGE_INSTALL_DIRECTORY "${APPLICATION_NAME}") - set(CPACK_PACKAGE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/Packages") + set(CPACK_RESOURCE_FILE_LICENSE_PROVIDED ${ENABLE_APP_LICENSE}) + #set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + #set(CPACK_PACKAGE_INSTALL_DIRECTORY "${APPLICATION_OUTPUT_DIR}") + #set(CPACK_PACKAGE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/Packages") + #set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/Packages/${APPLICATION_NAME}.app/Contents") set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico") set(PERFORM_SIGNING 0) @@ -404,8 +416,13 @@ 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(CPACK_BUNDLE_APPLE_CERT_APP LINPHONE_BUILDER_SIGNING_IDENTITY) + set(CPACK_BUNDLE_APPLE_CERT_APP ${LINPHONE_BUILDER_SIGNING_IDENTITY}) set(PACKAGE_EXT "dmg") + + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cleanCpack.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cleanCpack.cmake" @ONLY) + set(CPACK_PRE_BUILD_SCRIPTS "${CMAKE_CURRENT_BINARY_DIR}/cleanCPack.cmake") + + message(STATUS "Set DragNDrop CPack generator in OUTPUT/Packages") elseif(NOT(WIN32)) set(DO_APPIMAGE YES) @@ -548,6 +565,6 @@ function(deployqt_hack target qml_dir) 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} \${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app -qmldir=${qml_dir} -no-strip )") + install(CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} ${APPLICATION_OUTPUT_DIR}/${APPLICATION_NAME}.app -qmldir=${qml_dir} -no-strip )") endif() endfunction() diff --git a/linphone-app/cmake_builder/linphone_package/cleanCPack.cmake.in b/linphone-app/cmake_builder/linphone_package/cleanCPack.cmake.in new file mode 100644 index 000000000..4592e6903 --- /dev/null +++ b/linphone-app/cmake_builder/linphone_package/cleanCPack.cmake.in @@ -0,0 +1,49 @@ +################################################################################ +# +# Copyright (c) 2017-2023 Belledonne Communications SARL. +# +# This file is part of linphone-desktop +# (see https://www.linphone.org). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +################################################################################ + +# This script is used for CPack to remove root folders that comes from SDK. +# 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@) + +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... +#execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/Frameworks/" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@CMAKE_INSTALL_LIBDIR@/") +execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/Frameworks/") + +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/include/" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@CMAKE_INSTALL_INCLUDEDIR@/") +execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/include/") +# move share +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/share/" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@CMAKE_INSTALL_DATAROOTDIR@/") +execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/share/") +# move mkspecs +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/mkspecs/" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/@CMAKE_INSTALL_DATAROOTDIR@/") +execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/mkspecs/") +# remove other folders +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/") + +#CPack doesn't sign all files. +if (DO_SIGNING) + execute_process(COMMAND bash "@CMAKE_SOURCE_DIR@/linphone-app/tools/sign_package.sh" codesign "@LINPHONE_BUILDER_SIGNING_IDENTITY@" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE") + #execute_process(COMMAND codesign --entitlements" "@CMAKE_CURRENT_BINARY_DIR@/../../entitlements.xml" "--force" "--deep" "--timestamp" "--options" "runtime,library" "--verbose" "-s" "@LINPHONE_BUILDER_SIGNING_IDENTITY@" "@APPLICATION_OUTPUT_DIR@/@APPLICATION_NAME@.app") +endif() diff --git a/linphone-app/cmake_builder/linphone_package/macos/linphone_dmg.scpt.in b/linphone-app/cmake_builder/linphone_package/macos/linphone_dmg.scpt.in index a1cbe207a..866c6fcb0 100755 --- a/linphone-app/cmake_builder/linphone_package/macos/linphone_dmg.scpt.in +++ b/linphone-app/cmake_builder/linphone_package/macos/linphone_dmg.scpt.in @@ -26,7 +26,6 @@ on run argv set the bounds to { 300, 100, 1000, 520 } set position of item "@APPLICATION_NAME@.app" to { 200, 280 } set position of item "Applications" to { 500, 280 } - set position of item "include" to { 200, 1000 } end tell update without registering applications delay 1 diff --git a/linphone-app/cmake_builder/linphone_package/packaging.cmake.in b/linphone-app/cmake_builder/linphone_package/packaging.cmake.in index 01bf59e4a..e9703e8dd 100644 --- a/linphone-app/cmake_builder/linphone_package/packaging.cmake.in +++ b/linphone-app/cmake_builder/linphone_package/packaging.cmake.in @@ -84,5 +84,8 @@ if (NOT "${CMAKE_INSTALL_PREFIX}" MATCHES .*/_CPack_Packages/.*) message(FATAL_ERROR "Failed to sign the package! ${SIGNING_RESULT} ${RESULT_VARIABLE}") endif() endif () - + execute_process( COMMAND mkdir -p "@CMAKE_INSTALL_PREFIX@/Packages/" WORKING_DIRECTORY "@CMAKE_BINARY_DIR@") + execute_process( COMMAND cp -rf @CPACK_PACKAGE_FILE_NAME@.@PACKAGE_EXT@ "@CMAKE_INSTALL_PREFIX@/Packages/" WORKING_DIRECTORY "@CMAKE_BINARY_DIR@") endif () + + diff --git a/linphone-app/tools/sign_package.sh b/linphone-app/tools/sign_package.sh index fc2e3d1d3..7f5b1e2aa 100644 --- a/linphone-app/tools/sign_package.sh +++ b/linphone-app/tools/sign_package.sh @@ -4,5 +4,5 @@ # $2 = Identity # $3 = Path to recursivly search -find $3 -name "*" -exec $1 --force --deep --options runtime,library -s "$2" {} \; +find $3 -name "*" -exec $1 --force --deep --timestamp --options runtime,library -s "$2" {} \; diff --git a/linphone-sdk b/linphone-sdk index 3d1b0e172..12fc0869e 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit 3d1b0e17245d469d0a82139b459af1dd3fd634d9 +Subproject commit 12fc0869e41db12362fd3e7617712e2069882696 diff --git a/tools/app_notarization.sh b/tools/app_notarization.sh index 3d6debdea..f7c0bc509 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/Packages/*.dmg +FILES=OUTPUT/linphone-app/macos/Packages/*.dmg for f in $FILES do linphone_file=$f