mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
Revert RUNTIME_OUTPUT_DIRECTORY to binary dir because of conflict with CMAKE_PREFIX_PATH.
Install rootca file if enabled. Embed assistant files in qrc. Fix mac build to respect target OSX.
This commit is contained in:
parent
c951ef647a
commit
3c3473112d
6 changed files with 32 additions and 16 deletions
|
|
@ -44,7 +44,7 @@ project(linphoneqt)
|
|||
|
||||
include(GNUInstallDirs)
|
||||
include(CheckCXXCompilerFlag)
|
||||
#include(linphone-app/application_info.cmake)
|
||||
include(Linphone/application_info.cmake)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
if(LINPHONEAPP_INSTALL_PREFIX)
|
||||
|
|
@ -66,7 +66,7 @@ if( APPLE )
|
|||
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")
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15")#Qt: 'path' is unavailable: introduced in macOS 10.15
|
||||
endif()
|
||||
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")# TODO: add universal build
|
||||
set(LINPHONESDK_MACOS_ARCHS "x86_64" CACHE STRING "MacOS architectures to build for: comma-separated list of values in [x86_64]")
|
||||
|
|
@ -80,7 +80,6 @@ elseif(WIN32)
|
|||
else()
|
||||
endif()
|
||||
|
||||
|
||||
if(NOT LINPHONE_OUTPUT_DIR)# set this variable only if you don't build the module
|
||||
set(LINPHONE_OUTPUT_DIR "${CMAKE_INSTALL_PREFIX}")# Cannot be different from the current CMAKE_INSTALL_PREFIX
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ endif()
|
|||
|
||||
set(_LINPHONEAPP_SOURCES main.cpp)
|
||||
set(_LINPHONEAPP_QML_FILES)
|
||||
set(_LINPHONEAPP_RC_FILES)
|
||||
|
||||
add_subdirectory(data)
|
||||
add_subdirectory(tool)
|
||||
|
|
@ -85,6 +86,10 @@ qt6_add_qml_module(Linphone
|
|||
QML_FILES ${_LINPHONEAPP_QML_FILES}
|
||||
)
|
||||
|
||||
qt_add_resources(Linphone
|
||||
PREFIX "/"
|
||||
FILES ${_LINPHONEAPP_RC_FILES}
|
||||
)
|
||||
################################################################
|
||||
# TARGETS LINKS
|
||||
################################################################
|
||||
|
|
@ -96,10 +101,10 @@ set_target_properties(${TARGET_NAME} PROPERTIES
|
|||
MACOSX_BUNDLE TRUE
|
||||
WIN32_EXECUTABLE TRUE
|
||||
OUTPUT_NAME "${EXECUTABLE_NAME}"
|
||||
# Added for Qt to set the correct path on run configurations.
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}"
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
|
||||
|
||||
)
|
||||
if(MSVC)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES PDB_NAME "${EXECUTABLE_NAME}_app")
|
||||
|
|
@ -121,8 +126,11 @@ endforeach()
|
|||
|
||||
install(TARGETS ${TARGET_NAME}
|
||||
BUNDLE DESTINATION .
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/data/assistant"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}"
|
||||
USE_SOURCE_PERMISSIONS)
|
||||
if(ENABLE_APP_PACKAGE_ROOTCA)
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/share/linphone/rootca.pem" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ QString Paths::getAppLocalDirPath() {
|
|||
}
|
||||
|
||||
QString Paths::getAssistantConfigDirPath() {
|
||||
return getReadableDirPath(getAppAssistantConfigDirPath());
|
||||
return "://data/assistant/";
|
||||
}
|
||||
|
||||
QString Paths::getAvatarsDirPath() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
list(APPEND _LINPHONEAPP_RC_FILES data/assistant/use-app-sip-account.rc
|
||||
data/assistant/create-app-sip-account.rc
|
||||
data/assistant/use-other-sip-account.rc
|
||||
)
|
||||
|
||||
set(_LINPHONEAPP_RC_FILES ${_LINPHONEAPP_RC_FILES} PARENT_SCOPE)
|
||||
|
|
@ -21,6 +21,7 @@
|
|||
#include "AccountManager.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QTemporaryFile>
|
||||
|
||||
#include "core/path/Paths.hpp"
|
||||
#include "model/core/CoreModel.hpp"
|
||||
|
|
@ -31,9 +32,11 @@ AccountManager::AccountManager(QObject *parent) : QObject(parent) {
|
|||
|
||||
std::shared_ptr<linphone::Account> AccountManager::createAccount(const QString &assistantFile) {
|
||||
auto core = CoreModel::getInstance()->getCore();
|
||||
QString assistantPath = Paths::getAssistantConfigDirPath() + assistantFile;
|
||||
QString assistantPath = "://data/assistant/" + assistantFile;
|
||||
qInfo() << QStringLiteral("[AccountManager] Set config on assistant: `%1`.").arg(assistantPath);
|
||||
core->getConfig()->loadFromXmlFile(Utils::appStringToCoreString(assistantPath));
|
||||
QFile resource(assistantPath);
|
||||
auto file = QTemporaryFile::createNativeFile(resource);
|
||||
core->getConfig()->loadFromXmlFile(Utils::appStringToCoreString(file->fileName()));
|
||||
return core->createAccount(core->createAccountParams());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ set(_MACOS_INSTALL_DIR "${APPLICATION_OUTPUT_DIR}/${_MACOS_INSTALL_RELATIVE_DIR}
|
|||
|
||||
#linphone_sdk_get_inherited_cmake_args(_CMAKE_CONFIGURE_ARGS _CMAKE_BUILD_ARGS)
|
||||
#linphone_sdk_get_enable_cmake_args(_MACOS_CMAKE_ARGS)
|
||||
|
||||
set(_MACOS_CMAKE_ARGS -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET})
|
||||
set(_MACOS_TARGETS)
|
||||
foreach(_MACOS_ARCH IN LISTS _MACOS_ARCHS)
|
||||
set(_TARGET_NAME ${SUB_TARGET}-${_MACOS_ARCH}) # app_macos-x86_64
|
||||
|
|
@ -48,7 +48,7 @@ foreach(_MACOS_ARCH IN LISTS _MACOS_ARCHS)
|
|||
set(_MACOS_ARCH_INSTALL_DIR "${_MACOS_INSTALL_DIR}-${_MACOS_ARCH}") # build/OUTPUT/Linphone/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} -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} -B ${_MACOS_ARCH_BINARY_DIR} -DMONO_ARCH=${_MACOS_ARCH} ${USER_ARGS} ${OPTION_LIST} ${_MACOS_CMAKE_ARGS} -DLINPHONEAPP_INSTALL_PREFIX=${_MACOS_ARCH_INSTALL_DIR} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -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}"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue