mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
Mac fixes:
-Application/Executable names for Mac. -Codesigning on the correct bundle. -Configure Ino.plist before setting bundle properties in cmake. Fix crash on reading empty address on MWI.
This commit is contained in:
parent
0648c3bb61
commit
d425a3dfe8
7 changed files with 21 additions and 17 deletions
|
|
@ -72,15 +72,18 @@ endif()
|
|||
|
||||
set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
|
||||
|
||||
set(LINPHONEAPP_APPLICATION_NAME "Linphone6" CACHE STRING "Application name" )
|
||||
set(LINPHONEAPP_EXECUTABLE_NAME "linphone6" CACHE STRING "Executable name" )
|
||||
|
||||
if( APPLE )
|
||||
set(LINPHONEAPP_MACOS_ARCHS "arm64" CACHE STRING "MacOS architectures to build: comma-separated list of values in [arm64, x86_64]")
|
||||
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")
|
||||
set(CMAKE_INSTALL_BINDIR "${LINPHONEAPP_APPLICATION_NAME}.app/Contents/MacOS")
|
||||
set(CMAKE_INSTALL_LIBDIR "${LINPHONEAPP_APPLICATION_NAME}.app/Contents/Frameworks")
|
||||
set(CMAKE_INSTALL_INCLUDEDIR "${LINPHONEAPP_APPLICATION_NAME}.app/Contents/Resources/include")
|
||||
set(CMAKE_INSTALL_DATAROOTDIR "${LINPHONEAPP_APPLICATION_NAME}.app/Contents/Resources/share")
|
||||
|
||||
if( NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
#set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15")#Qt: 'path' is unavailable: introduced in macOS 10.15
|
||||
|
|
@ -144,9 +147,6 @@ function(add_cache _OPTION_LIST OPTION DESC VALUE)
|
|||
set(${${_OPTION_LIST}} ${_OPTION_LIST} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
set(LINPHONEAPP_APPLICATION_NAME "Linphone6" CACHE STRING "Application name" )
|
||||
set(LINPHONEAPP_EXECUTABLE_NAME "linphone6" CACHE STRING "Executable name" )
|
||||
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -160,7 +160,9 @@ qt6_add_resources(Linphone "resources" PREFIX "/" FILES ${_LINPHONEAPP_RC_FILES}
|
|||
################################################################
|
||||
# TARGETS LINKS
|
||||
################################################################
|
||||
|
||||
if(APPLE)
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/install/macos/Info.plist.in" "${CMAKE_BINARY_DIR}/cmake/install/macos/Info.plist" @ONLY)
|
||||
endif()
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER org.linphone
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
|
|
|
|||
|
|
@ -188,7 +188,8 @@ void AccountModel::setNotificationsAllowed(bool value) {
|
|||
|
||||
QString AccountModel::getMwiServerAddress() const {
|
||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||
return Utils::coreStringToAppString(mMonitor->getParams()->getMwiServerAddress()->asString());
|
||||
auto mwiAddress = mMonitor->getParams()->getMwiServerAddress();
|
||||
return mwiAddress ? Utils::coreStringToAppString(mwiAddress->asString()): "";
|
||||
}
|
||||
|
||||
void AccountModel::setMwiServerAddress(QString value) {
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ Thread::Thread(QObject *parent) : QThread(parent) {
|
|||
}
|
||||
|
||||
void Thread::run() {
|
||||
qInfo () << "Thread is running";
|
||||
mThreadId = new QObject();
|
||||
setlocale(LC_CTYPE, ".UTF8");
|
||||
int toExit = false;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ include("${LINPHONESDK_DIR}/cmake/LinphoneSdkUtils.cmake")
|
|||
linphone_sdk_convert_comma_separated_list_to_cmake_list("${LINPHONEAPP_MACOS_ARCHS}" _MACOS_ARCHS)
|
||||
list(GET _MACOS_ARCHS 0 _FIRST_ARCH)
|
||||
|
||||
set(MAIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${LINPHONEAPP_NAME}) #OUTPUT/linphone-app/macos
|
||||
set(MAIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${LINPHONEAPP_FOLDER}) #OUTPUT/macos
|
||||
|
||||
################################
|
||||
# Create the desktop directory that will contain the merged content of all architectures
|
||||
|
|
@ -113,7 +113,7 @@ foreach(_FILE IN LISTS ${_BINARIES})
|
|||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
execute_process(COMMAND codesign --force --deep --sign - "${MAIN_INSTALL_DIR}/${LINPHONEAPP_EXENAME}.app")#If not code signed, app can crash because of APPLE on "Code Signature Invalid".
|
||||
execute_process(COMMAND codesign --force --deep --sign - "${MAIN_INSTALL_DIR}/${LINPHONEAPP_APPLICATION_NAME}.app")#If not code signed, app can crash because of APPLE on "Code Signature Invalid".
|
||||
|
||||
|
||||
#[[
|
||||
|
|
|
|||
|
|
@ -34,12 +34,12 @@ linphone_app_convert_comma_separated_list_to_cmake_list("${LINPHONEAPP_MACOS_ARC
|
|||
|
||||
#linphone_sdk_convert_comma_separated_list_to_cmake_list("${LINPHONESDK_MACOS_ARCHS}" _MACOS_ARCHS)
|
||||
|
||||
set(LINPHONEAPP_NAME ${APPLICATION_NAME})
|
||||
set(LINPHONEAPP_EXENAME ${EXECUTABLE_NAME})
|
||||
set(LINPHONEAPP_NAME ${LINPHONEAPP_APPLICATION_NAME})
|
||||
set(LINPHONEAPP_EXENAME ${LINPHONEAPP_EXECUTABLE_NAME})
|
||||
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/macos
|
||||
set(_MACOS_INSTALL_RELATIVE_DIR "${LINPHONEAPP_PLATFORM_LOWER}") # macos
|
||||
set(_MACOS_INSTALL_DIR "${APPLICATION_OUTPUT_DIR}/${_MACOS_INSTALL_RELATIVE_DIR}") # build/OUTPUT/Linphone/macos
|
||||
# Use APPLICATION_OUTPUT_DIR. CMAKE_INSTALL_PREFIX can be in Linphone.app/Contents
|
||||
|
||||
|
|
@ -76,8 +76,9 @@ add_custom_target(gen-apps ALL
|
|||
"-DLINPHONESDK_DIR=${PROJECT_SOURCE_DIR}/external/linphone-sdk"
|
||||
"-DLINPHONEAPP_BUILD_DIR=${CMAKE_BINARY_DIR}"
|
||||
"-DLINPHONEAPP_MACOS_ARCHS=${LINPHONEAPP_MACOS_ARCHS}"
|
||||
"-DLINPHONEAPP_NAME=${_MACOS_INSTALL_RELATIVE_DIR}"
|
||||
"-DLINPHONEAPP_EXENAME=${LINPHONEAPP_EXENAME}"
|
||||
"-DLINPHONEAPP_FOLDER=${_MACOS_INSTALL_RELATIVE_DIR}"
|
||||
"-DLINPHONEAPP_APPLICATION_NAME=${LINPHONEAPP_APPLICATION_NAME}"
|
||||
"-DLINPHONEAPP_EXECUTABLE_NAME=${LINPHONEAPP_EXECUTABLE_NAME}"
|
||||
"-DLINPHONEAPP_PLATFORM=${LINPHONEAPP_PLATFORM_LOWER}"
|
||||
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
|
||||
"-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}"
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ set(LINPHONE_QML_DIR "${CMAKE_SOURCE_DIR}/Linphone/view")
|
|||
set(QT_PATH "${Qt6Core_DIR}/../../..")
|
||||
|
||||
if(APPLE)
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/install/macos/Info.plist.in" "${CMAKE_BINARY_DIR}/cmake/install/macos/Info.plist" @ONLY)
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/install/macos/entitlements.xml.in" "${CMAKE_BINARY_DIR}/cmake/install/macos/entitlements.xml" @ONLY)
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/install/macos/linphone.icns" "${CMAKE_BINARY_DIR}/cmake/install/macos/${EXECUTABLE_NAME}.icns" COPYONLY)
|
||||
set(APP_QT_CONF_PATH "[Paths]\nPlugins = PlugIns\nImports = Resources/qml\nQml2Imports = Resources/qml")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue