mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
Workaround for Mac code signing: Sign all output dir.
This commit is contained in:
parent
dedda50d1c
commit
c0ac6da859
13 changed files with 218 additions and 90 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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} $<TARGET_OBJECTS:${APP_LIBRARY}> ${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} $<TARGET_OBJECTS:${APP_LIBRARY}> ${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 $<TARGET_FILE:${APP_PLUGIN}> "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/")
|
||||
add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_LINKER_FILE:${APP_PLUGIN}> "${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)
|
||||
|
|
|
|||
|
|
@ -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})
|
||||
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# 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()
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 ()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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" {} \;
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 3d1b0e17245d469d0a82139b459af1dd3fd634d9
|
||||
Subproject commit 12fc0869e41db12362fd3e7617712e2069882696
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue