From 1d3f7d21487e71946c028669ec8290ab4e341a29 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Wed, 26 Feb 2020 12:05:18 +0100 Subject: [PATCH] NSIS packaging for Windows --- CMakeLists.txt | 40 ++---- assets/languages/de.ts | 22 +++ assets/languages/en.ts | 22 +++ assets/languages/fr_FR.ts | 22 +++ assets/languages/ja.ts | 22 +++ assets/languages/lt.ts | 22 +++ assets/languages/pt_BR.ts | 22 +++ assets/languages/ru.ts | 22 +++ assets/languages/sv.ts | 22 +++ assets/languages/tr.ts | 22 +++ cmake_builder/linphone_package/CMakeLists.txt | 128 ++++++++++-------- src/components/settings/SettingsModel.cpp | 2 +- 12 files changed, 281 insertions(+), 87 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8059b6499..933bd81c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,6 +96,9 @@ if( NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR message("Linphone packages are not installed. Build and install it in order to build Minizip and then Desktop Application.") set(CMAKE_INSTALL_PREFIX "${LINPHONE_OUTPUT_DIR}") add_subdirectory("linphone-sdk" "${SDK_BUILD_DIR}") +elseif( FORCE_SDK_BUILD ) + set(CMAKE_INSTALL_PREFIX "${LINPHONE_OUTPUT_DIR}") + add_subdirectory("linphone-sdk" "${SDK_BUILD_DIR}") else() # Linphone SDK has been builded message("LINPHONECXX : ${LINPHONECXX_INCLUDE_DIRS} => ${LINPHONECXX_LIBRARIES}") @@ -104,13 +107,13 @@ else() message("Minizip are not installed. Build and install it in order to build Desktop Application.") set(CMAKE_INSTALL_PREFIX "${MINIZIP_OUTPUT_DIR}") add_subdirectory(submodules/externals/minizip "submodules/externals/minizip/build-minizip") - else() + else() set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}") - if(WIN32) - set(EXECUTABLE_OUTPUT_DIR "${CMAKE_BINARY_DIR}") - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${EXECUTABLE_OUTPUT_DIR}") - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${EXECUTABLE_OUTPUT_DIR}") - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${EXECUTABLE_OUTPUT_DIR}") + if(WIN32) + set(EXECUTABLE_OUTPUT_DIR "${CMAKE_BINARY_DIR}") + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${EXECUTABLE_OUTPUT_DIR}") + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${EXECUTABLE_OUTPUT_DIR}") + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${EXECUTABLE_OUTPUT_DIR}") endif() message("MINIZIP : ${MINIZIP_INCLUDE_DIRS} => ${MINIZIP_LIBRARIES}") message("INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} FRAMEWORK_PATH=${CMAKE_FRAMEWORK_PATH}") @@ -481,31 +484,6 @@ else() endforeach () endif () - # ------------------------------------------------------------------------------ - # Install rc files. - # ------------------------------------------------------------------------------ - if(APPLE) - set(PACKAGING_DIR "${APPLICATION_NAME}.app/Contents/Resources") - else() - set(PACKAGING_DIR "${CMAKE_INSTALL_PREFIX}") - endif() - install(FILES "${ASSETS_DIR}/linphonerc-factory" - DESTINATION "${PACKAGING_DIR}/${CMAKE_INSTALL_DATADIR}/${APPLICATION_NAME}" - ) - - set(ASSETS_ASSISTANT_DIR "${ASSETS_DIR}/assistant") - set(ASSISTANT_INSTALL_DATADIR "${PACKAGING_DIR}/${CMAKE_INSTALL_DATADIR}/${APPLICATION_NAME}/assistant") - - install(FILES "${ASSETS_ASSISTANT_DIR}/use-other-sip-account.rc" - DESTINATION "${ASSISTANT_INSTALL_DATADIR}" - ) - install(FILES "${ASSETS_ASSISTANT_DIR}/create-app-sip-account.rc" - DESTINATION "${ASSISTANT_INSTALL_DATADIR}" - ) - install(FILES "${ASSETS_ASSISTANT_DIR}/use-app-sip-account.rc" - DESTINATION "${ASSISTANT_INSTALL_DATADIR}" - ) - # ------------------------------------------------------------------------------ # CPack settings & RPM. # ------------------------------------------------------------------------------ diff --git a/assets/languages/de.ts b/assets/languages/de.ts index 9dbe9c305..2aaa0f4c9 100644 --- a/assets/languages/de.ts +++ b/assets/languages/de.ts @@ -994,6 +994,21 @@ Server URL ist nicht konfiguriert. Schließen + + MainWindowTopMenuBar + + settings + Einstellungen + + + about + Über + + + quit + Schließen + + ManageAccounts @@ -1095,6 +1110,13 @@ Server URL ist nicht konfiguriert. Offline + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/en.ts b/assets/languages/en.ts index 1d054dbf6..4a88ea50d 100644 --- a/assets/languages/en.ts +++ b/assets/languages/en.ts @@ -999,6 +999,21 @@ your friend's SIP address or username. Quit + + MainWindowTopMenuBar + + settings + Preferences + + + about + About + + + quit + Quit + + ManageAccounts @@ -1100,6 +1115,13 @@ your friend's SIP address or username. Offline + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/fr_FR.ts b/assets/languages/fr_FR.ts index 25529b4ac..821f117ed 100644 --- a/assets/languages/fr_FR.ts +++ b/assets/languages/fr_FR.ts @@ -997,6 +997,21 @@ Cliquez ici : <a href="%1">%1</a> Quitter + + MainWindowTopMenuBar + + settings + Préférences + + + about + À propos + + + quit + Quitter + + ManageAccounts @@ -1098,6 +1113,13 @@ Cliquez ici : <a href="%1">%1</a> Hors-ligne + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/ja.ts b/assets/languages/ja.ts index 8e373ed24..8e40c3cbe 100644 --- a/assets/languages/ja.ts +++ b/assets/languages/ja.ts @@ -994,6 +994,21 @@ 終了 + + MainWindowTopMenuBar + + settings + 設定 + + + about + + + + quit + 終了 + + ManageAccounts @@ -1095,6 +1110,13 @@ オフライン + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/lt.ts b/assets/languages/lt.ts index e29a5cfe8..84d15932d 100644 --- a/assets/languages/lt.ts +++ b/assets/languages/lt.ts @@ -999,6 +999,21 @@ Tiesiog, įveskite savo draugo SIP adresą ar naudotojo vardą. Išeiti + + MainWindowTopMenuBar + + settings + Nuostatos + + + about + Apie + + + quit + Išeiti + + ManageAccounts @@ -1100,6 +1115,13 @@ Tiesiog, įveskite savo draugo SIP adresą ar naudotojo vardą. Atsijungęs + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/pt_BR.ts b/assets/languages/pt_BR.ts index 7a86f5c89..d1868c47d 100644 --- a/assets/languages/pt_BR.ts +++ b/assets/languages/pt_BR.ts @@ -999,6 +999,21 @@ o endereço SIP ou nome de usuário do seu amigo. Sair + + MainWindowTopMenuBar + + settings + Preferências + + + about + Sobre + + + quit + Sair + + ManageAccounts @@ -1100,6 +1115,13 @@ o endereço SIP ou nome de usuário do seu amigo. Indisponível + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/ru.ts b/assets/languages/ru.ts index 9d70f67fe..5eb5d19ae 100644 --- a/assets/languages/ru.ts +++ b/assets/languages/ru.ts @@ -997,6 +997,21 @@ Выйти + + MainWindowTopMenuBar + + settings + Настройки + + + about + О программе + + + quit + Выйти + + ManageAccounts @@ -1098,6 +1113,13 @@ Офлайн + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/sv.ts b/assets/languages/sv.ts index 40c734e53..9381bdff1 100644 --- a/assets/languages/sv.ts +++ b/assets/languages/sv.ts @@ -997,6 +997,21 @@ Klicka här: <a href="%1">%1</a> Avsluta + + MainWindowTopMenuBar + + settings + Inställningar + + + about + Om + + + quit + Avsluta + + ManageAccounts @@ -1098,6 +1113,13 @@ Klicka här: <a href="%1">%1</a> Frånkopplad + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/assets/languages/tr.ts b/assets/languages/tr.ts index c04518e43..59b676f30 100644 --- a/assets/languages/tr.ts +++ b/assets/languages/tr.ts @@ -999,6 +999,21 @@ arkadaşınızın SIP adresini veya kullanıcı adını girin. Çıkış + + MainWindowTopMenuBar + + settings + Tercihler + + + about + Hakkında + + + quit + Çıkış + + ManageAccounts @@ -1100,6 +1115,13 @@ arkadaşınızın SIP adresini veya kullanıcı adını girin. Çevrim dışı + + QObject + + The application's location is not correct: You have to put your 'bin/' folder next to 'lib/' folder. + + + SettingsAdvanced diff --git a/cmake_builder/linphone_package/CMakeLists.txt b/cmake_builder/linphone_package/CMakeLists.txt index 53f58c16d..4dd2f78ff 100644 --- a/cmake_builder/linphone_package/CMakeLists.txt +++ b/cmake_builder/linphone_package/CMakeLists.txt @@ -100,27 +100,34 @@ endif () # ============================================================================== if (WIN32) - find_program(DEPLOYQT_PROGRAM windeployqt) - if (NOT DEPLOYQT_PROGRAM) - message(FATAL_ERROR "Could not find the windeployqt program. Make sure it is in the PATH.") - endif () - file(GLOB LIB_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/*.dll") - install(FILES ${LIB_FILES} DESTINATION "${CMAKE_INSTALL_BINDIR}/") - file(GLOB LIB_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/*.dll") - install(FILES ${LIB_FILES} DESTINATION "${CMAKE_INSTALL_BINDIR}/") - file(GLOB EXE_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/*.exe") - install(FILES ${EXE_FILES} DESTINATION "${CMAKE_INSTALL_BINDIR}/") - if (EXISTS "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer") - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer" DESTINATION "${CMAKE_INSTALL_LIBDIR}" USE_SOURCE_PERMISSIONS) - endif () - install(FILES "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/minizip.dll" DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT application) - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS OPTIONAL) - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/sounds" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS) - install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}/") - #get_target_property(DIRR ${TARGET_NAME} RUNTIME_OUTPUT_DIRECTORY) + find_program(DEPLOYQT_PROGRAM windeployqt) + if (NOT DEPLOYQT_PROGRAM) + message(FATAL_ERROR "Could not find the windeployqt program. Make sure it is in the PATH.") + endif () + file(GLOB LIB_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/*.dll") + install(FILES ${LIB_FILES} DESTINATION "${CMAKE_INSTALL_BINDIR}/") + file(GLOB LIB_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/*.dll") + install(FILES ${LIB_FILES} DESTINATION "${CMAKE_INSTALL_BINDIR}/") + file(GLOB EXE_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/*.exe") + install(FILES ${EXE_FILES} DESTINATION "${CMAKE_INSTALL_BINDIR}/") + if (EXISTS "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer") + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer" DESTINATION "${CMAKE_INSTALL_LIBDIR}" USE_SOURCE_PERMISSIONS) + endif () + file(GLOB GRAMMAR_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Belr/grammars/*") + install(FILES ${GRAMMAR_FILES} DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/" ) + install(FILES "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/minizip.dll" DESTINATION "${CMAKE_INSTALL_BINDIR}") + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS OPTIONAL) + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/sounds" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS) + install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}/") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/linphonerc-factory" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-other-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/create-app-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-app-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant") + #get_target_property(DIRR ${TARGET_NAME} RUNTIME_OUTPUT_DIRECTORY) - install(PROGRAMS "${EXECUTABLE_OUTPUT_DIR}/${EXECUTABLE_NAME}.exe" DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT application) - install( CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/${EXECUTABLE_NAME}.exe --qmldir=${LINPHONE_QML_DIR})")# -verbose=2)" COMPONENT application) + install(PROGRAMS "${EXECUTABLE_OUTPUT_DIR}/${EXECUTABLE_NAME}.exe" DESTINATION "${CMAKE_INSTALL_BINDIR}") + install( CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} \"\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/${EXECUTABLE_NAME}.exe\" -qmldir=${LINPHONE_QML_DIR} --compiler-runtime)")# -verbose=2)" COMPONENT binary_application) + # list(REMOVE_ITEM SHARE_CONTENT "${CMAKE_INSTALL_DATAROOTDIR}/belr" "${CMAKE_INSTALL_DATAROOTDIR}/Belr" "${CMAKE_INSTALL_DATAROOTDIR}/images" "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}" "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}" "${CMAKE_INSTALL_DATAROOTDIR}/sounds") # foreach (ITEM IN LISTS SHARE_CONTENT) # list(APPEND SHARE_CONTENT_EXCLUDE PATTERN "${ITEM}" EXCLUDE) @@ -130,11 +137,11 @@ elseif (APPLE) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone.icns" "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}.icns" COPYONLY) install(FILES "${CMAKE_BINARY_DIR}/Info.plist" DESTINATION "${APPLICATION_NAME}.app/Contents") install(FILES "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}.icns" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources") - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/Frameworks/" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" USE_SOURCE_PERMISSIONS COMPONENT application) - install(PROGRAMS "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}" DESTINATION "${APPLICATION_NAME}.app/Contents/MacOS" COMPONENT application) + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/Frameworks/" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" USE_SOURCE_PERMISSIONS) + install(PROGRAMS "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}" DESTINATION "${APPLICATION_NAME}.app/Contents/MacOS") file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/lib*.dylib") foreach (LIBRARY ${SHARED_LIBRARIES}) - install(FILES "${LIBRARY}" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" COMPONENT application) + install(FILES "${LIBRARY}" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks") endforeach () find_program(DEPLOYQT_PROGRAM macdeployqt) @@ -146,12 +153,16 @@ elseif (APPLE) if (EXISTS "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer") file(COPY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_LIBDIR}" USE_SOURCE_PERMISSIONS) endif () - install(FILES "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks/" COMPONENT application) - install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Belr/grammars/cpim_grammar" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/" COMPONENT application) - install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Belr/grammars/vcard_grammar" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/" COMPONENT application) - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS COMPONENT application OPTIONAL) - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/sounds" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS COMPONENT application) - install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}" COMPONENT application) + install(FILES "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks/") + file(GLOB GRAMMAR_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Belr/grammars/*") + install(FILES ${GRAMMAR_FILES} DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/") + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS OPTIONAL) + install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/sounds" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS) + install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/linphonerc-factory" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-other-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/create-app-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant") + install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-app-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant") file(GLOB SHARED_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app/Contents/Frameworks/lib*.dylib") @@ -182,7 +193,7 @@ elseif (APPLE) endforeach () execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app") endif () -# install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app" DESTINATION "." USE_SOURCE_PERMISSIONS COMPONENT application) +# install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app" DESTINATION "." USE_SOURCE_PERMISSIONS) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/packaging.cmake.in" "packaging.cmake" @ONLY) # install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/packaging.cmake") @@ -209,30 +220,40 @@ else()# Not Windows and Apple install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/cpim_grammar" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/") install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/vcard_grammar" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/") install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/linphone/rootca.pem" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}") #We use executable_name because of name folder that is not harmonized from the SDK - install(PROGRAMS "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}" COMPONENT application) + install(PROGRAMS "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") endif () -# Temporary deactivate -#if (MSVC) +if (MSVC) # string(REGEX REPLACE "Visual Studio ([0-9]+).*" "\\1" MSVC_VERSION "${CMAKE_GENERATOR}") -# find_file(MSVCP_LIB "msvcp${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32") -# find_file(UCRTBASE_LIB "ucrtbase.dll" PATHS "C:/Windows/System32") -# # Starting with Visual Studio 2015 (MSVC_VERSION==14) the msvcr dll has been renamed to vcruntime. -# find_file(VCRUNTIME_LIB "vcruntime${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32") -# if (NOT VCRUNTIME_LIB) -# find_file(VCRUNTIME_LIB "msvcr${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32") -# endif () -# install(FILES ${MSVCP_LIB} ${UCRTBASE_LIB} ${VCRUNTIME_LIB} DESTINATION "${CMAKE_INSTALL_BINDIR}") -# if (CMAKE_BUILD_TYPE STREQUAL "Debug") -# find_file(MSVCPD_LIB "msvcp${MSVC_VERSION}0d.dll" PATHS "C:/Windows/System32") -# find_file(UCRTBASED_LIB "ucrtbased.dll" PATHS "C:/Windows/System32") -# find_file(VCRUNTIMED_LIB "vcruntime${MSVC_VERSION}0d.dll" PATHS "C:/Windows/System32") -# if (NOT VCRUNTIMED_LIB) -# find_file(VCRUNTIMED_LIB "msvcr${MSVC_VERSION}0d.dll" PATHS "C:/Windows/System32") -# endif () -# install(FILES ${MSVCPD_LIB} ${UCRTBASED_LIB} ${VCRUNTIMED_LIB} DESTINATION "${CMAKE_INSTALL_BINDIR}") -# endif () -#endif () + include(InstallRequiredSystemLibraries) + set(MSVC_VERSION ${MSVC_TOOLSET_VERSION}) + set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE) + if (CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE) + endif() + find_file(UCRTBASE_LIB "ucrtbase.dll" PATHS "C:/Windows/System32") + install(FILES ${UCRTBASE_LIB} DESTINATION "${CMAKE_INSTALL_BINDIR}") + + # find_file(MSVCP_LIB "msvcp${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32") + + # # Starting with Visual Studio 2015 (MSVC_VERSION==14) the msvcr dll has been renamed to vcruntime. + # find_file(VCRUNTIME_LIB "vcruntime${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32") + # if (NOT VCRUNTIME_LIB) + # find_file(VCRUNTIME_LIB "msvcr${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32") + # endif () + # message("MSDIRS : ${MSVCP_LIB} ${UCRTBASE_LIB} ${VCRUNTIME_LIB} => ${MSVC_VERSION}, ${CMAKE_GENERATOR}") + # install(FILES ${MSVCP_LIB} ${UCRTBASE_LIB} ${VCRUNTIME_LIB} DESTINATION "${CMAKE_INSTALL_BINDIR}") + # if (CMAKE_BUILD_TYPE STREQUAL "Debug") + # find_file(MSVCPD_LIB "msvcp${MSVC_VERSION}0d.dll" PATHS "C:/Windows/System32") + # find_file(UCRTBASED_LIB "ucrtbased.dll" PATHS "C:/Windows/System32") + # find_file(VCRUNTIMED_LIB "vcruntime${MSVC_VERSION}0d.dll" PATHS "C:/Windows/System32") + # if (NOT VCRUNTIMED_LIB) + # find_file(VCRUNTIMED_LIB "msvcr${MSVC_VERSION}0d.dll" PATHS "C:/Windows/System32") + # endif () + + # install(FILES ${MSVCPD_LIB} ${UCRTBASED_LIB} ${VCRUNTIMED_LIB} DESTINATION "${CMAKE_INSTALL_BINDIR}") + # endif () +endif () # ============================================================================== # CPack. @@ -251,7 +272,7 @@ set(CPACK_PACKAGE_EXECUTABLES "${EXECUTABLE_NAME};${APPLICATION_NAME}") set(CPACK_RESOURCE_FILE_LICENSE "${LINPHONE_DESKTOP_DIR}/LICENSE.txt") set(CPACK_PACKAGE_INSTALL_DIRECTORY "${APPLICATION_NAME}") set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/CPackBuild") -set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/assets/icon.ico") +set(CPACK_PACKAGE_ICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico") if (APPLE) @@ -269,16 +290,13 @@ endif () if (WIN32) set(CPACK_GENERATOR "NSIS") set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${LINPHONE_GIT_REVISION}-win32") - string(COMPARE EQUAL ${CPACK_GENERATOR} "NSIS" IS_NSIS) if (${IS_NSIS}) set(PACKAGE_EXT "exe") - # Use magic `NSIS.template.in` template from the current source directory to force uninstallation # and ensure that linphone is not running before installation. set(CPACK_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/windows") set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\windows\\\\nsis_banner.bmp") - set(CPACK_NSIS_MUI_ICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico") set(CPACK_NSIS_MUI_UNIICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico") set(CPACK_NSIS_DISPLAY_NAME "${APPLICATION_NAME}") diff --git a/src/components/settings/SettingsModel.cpp b/src/components/settings/SettingsModel.cpp index c6636d8e5..12e419b55 100644 --- a/src/components/settings/SettingsModel.cpp +++ b/src/components/settings/SettingsModel.cpp @@ -1218,7 +1218,7 @@ QString SettingsModel::getLogsFolder (const shared_ptr &config } bool SettingsModel::getLogsEnabled (const shared_ptr &config) { - return config ? config->getInt(UiSection, "logs_enabled", false) : false; + return config ? config->getInt(UiSection, "logs_enabled", false) : true; } // ---------------------------------------------------------------------------