Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linphone-desktop
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
linphone-desktop
Commits
2b46a4c5
Commit
2b46a4c5
authored
Feb 14, 2017
by
Ghislain MARY
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Handle packaging for Windows.
parent
a1184fe1
Changes
35
Show whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
1509 additions
and
1 deletion
+1509
-1
additional_steps.cmake
cmake_builder/additional_steps.cmake
+27
-0
CMakeLists.txt
cmake_builder/linphone_package/CMakeLists.txt
+339
-0
NSIS.template.in
cmake_builder/linphone_package/NSIS.template.in
+982
-0
README.openh264.txt.in
cmake_builder/linphone_package/README.openh264.txt.in
+20
-0
WindowsPackaging.cmake.in
cmake_builder/linphone_package/WindowsPackaging.cmake.in
+34
-0
linphone-banner.bmp
cmake_builder/linphone_package/linphone-banner.bmp
+0
-0
openh264-install.nsi.in
cmake_builder/linphone_package/openh264-install.nsi.in
+7
-0
openh264-uninstall.nsi
cmake_builder/linphone_package/openh264-uninstall.nsi
+1
-0
antlr3c.list.in
cmake_builder/linphone_package/sdk_content/antlr3c.list.in
+1
-0
bctoolbox.list.in
cmake_builder/linphone_package/sdk_content/bctoolbox.list.in
+5
-0
bcunit.list.in
cmake_builder/linphone_package/sdk_content/bcunit.list.in
+1
-0
bellesip.list.in
cmake_builder/linphone_package/sdk_content/bellesip.list.in
+5
-0
bv16.list.in
cmake_builder/linphone_package/sdk_content/bv16.list.in
+1
-0
bzrtp.list.in
cmake_builder/linphone_package/sdk_content/bzrtp.list.in
+2
-0
ffmpeg.list.in
cmake_builder/linphone_package/sdk_content/ffmpeg.list.in
+4
-0
gsm.list.in
cmake_builder/linphone_package/sdk_content/gsm.list.in
+1
-0
linphone.list.in
cmake_builder/linphone_package/sdk_content/linphone.list.in
+9
-0
mbedtls.list.in
cmake_builder/linphone_package/sdk_content/mbedtls.list.in
+3
-0
ms2.list.in
cmake_builder/linphone_package/sdk_content/ms2.list.in
+8
-0
ms2plugins.list.in
...e_builder/linphone_package/sdk_content/ms2plugins.list.in
+1
-0
openh264.list.in
cmake_builder/linphone_package/sdk_content/openh264.list.in
+1
-0
opus.list.in
cmake_builder/linphone_package/sdk_content/opus.list.in
+1
-0
ortp.list.in
cmake_builder/linphone_package/sdk_content/ortp.list.in
+6
-0
polarssl.list.in
cmake_builder/linphone_package/sdk_content/polarssl.list.in
+1
-0
speex.list.in
cmake_builder/linphone_package/sdk_content/speex.list.in
+1
-0
sqlite3.list.in
cmake_builder/linphone_package/sdk_content/sqlite3.list.in
+1
-0
srtp.list.in
cmake_builder/linphone_package/sdk_content/srtp.list.in
+1
-0
vcard.list.in
cmake_builder/linphone_package/sdk_content/vcard.list.in
+6
-0
xml2.list.in
cmake_builder/linphone_package/sdk_content/xml2.list.in
+1
-0
zlib.list.in
cmake_builder/linphone_package/sdk_content/zlib.list.in
+1
-0
signtool.py
cmake_builder/linphone_package/signtool.py
+28
-0
uninstall.nsi
cmake_builder/linphone_package/uninstall.nsi
+7
-0
CMakeLists.txt
linphone-desktop/CMakeLists.txt
+1
-1
linphone.ico
linphone-desktop/linphone.ico
+0
-0
linphone.rc
linphone-desktop/linphone.rc
+2
-0
No files found.
cmake_builder/additional_steps.cmake
View file @
2b46a4c5
...
...
@@ -29,3 +29,30 @@ if(LINPHONE_BUILDER_TARGET STREQUAL linphoneqt AND WIN32)
add_custom_command
(
OUTPUT
"
${
SHORTCUT_PATH
}
"
COMMAND
"cscript"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/winshortcut.vbs"
)
add_custom_target
(
linphoneqt_winshortcut ALL DEPENDS
"
${
SHORTCUT_PATH
}
"
TARGET_linphone_builder
)
endif
()
# Packaging
if
(
ENABLE_PACKAGING
)
get_cmake_property
(
_varnames VARIABLES
)
set
(
ENABLE_VARIABLES
)
foreach
(
_varname
${
_varnames
}
)
if
(
_varname MATCHES
"^ENABLE_.*"
)
list
(
APPEND ENABLE_VARIABLES -D
${
_varname
}
=
${${
_varname
}}
)
endif
()
endforeach
()
if
(
LINPHONE_BUILDER_TARGET STREQUAL linphoneqt
)
# Linphone and linphone SDK packages
linphone_builder_apply_flags
()
linphone_builder_set_ep_directories
(
linphone_package
)
linphone_builder_expand_external_project_vars
()
ExternalProject_Add
(
TARGET_linphone_package
DEPENDS TARGET_linphone_builder
TMP_DIR
${
ep_tmp
}
BINARY_DIR
${
ep_build
}
SOURCE_DIR
"
${
CMAKE_CURRENT_LIST_DIR
}
/linphone_package"
DOWNLOAD_COMMAND
""
CMAKE_GENERATOR
${
CMAKE_GENERATOR
}
CMAKE_ARGS
${
LINPHONE_BUILDER_EP_ARGS
}
-DCMAKE_INSTALL_PREFIX=
${
LINPHONE_BUILDER_WORK_DIR
}
/PACKAGE -DTOOLS_DIR=
${
CMAKE_BINARY_DIR
}
/programs -DLINPHONE_OUTPUT_DIR=
${
CMAKE_INSTALL_PREFIX
}
-DLINPHONE_DESKTOP_DIR=
${
CMAKE_CURRENT_LIST_DIR
}
/../linphone-desktop -DLINPHONE_SOURCE_DIR=
${
EP_linphone_SOURCE_DIR
}
${
ENABLE_VARIABLES
}
-DOPENH264_VERSION=
${
OPENH264_VERSION
}
)
endif
()
endif
()
cmake_builder/linphone_package/CMakeLists.txt
0 → 100644
View file @
2b46a4c5
############################################################################
# CMakeLists.txt
# Copyright (C) 2017 Belledonne Communications, Grenoble France
#
############################################################################
#
# 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 2
# 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
############################################################################
cmake_minimum_required
(
VERSION 3.0
)
project
(
LINPHONE_PACKAGE
)
# Dummy project
find_package
(
Linphone REQUIRED
)
find_package
(
Git
)
set
(
LINPHONE_QML_DIR
"
${
LINPHONE_DESKTOP_DIR
}
/ui"
)
if
(
WIN32
)
set
(
WINDEPLOYQT_PROGRAM windeployqt
)
endif
()
if
(
GIT_EXECUTABLE
)
execute_process
(
COMMAND
${
GIT_EXECUTABLE
}
describe --always
OUTPUT_VARIABLE LINPHONE_GIT_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY
${
LINPHONE_SOURCE_DIR
}
)
else
()
set
(
LINPHONE_GIT_REVISION
"0.0.0"
)
endif
()
string
(
REGEX REPLACE
"([0-9.]+)-?.*"
"
\\
1"
LINPHONE_VERSION
"
${
LINPHONE_GIT_REVISION
}
"
)
string
(
REPLACE
"."
";"
SPLITTED_LINPHONE_VERSION
${
LINPHONE_VERSION
}
)
list
(
GET SPLITTED_LINPHONE_VERSION 0 LINPHONE_MAJOR_VERSION
)
list
(
GET SPLITTED_LINPHONE_VERSION 1 LINPHONE_MINOR_VERSION
)
list
(
GET SPLITTED_LINPHONE_VERSION 2 LINPHONE_MICRO_VERSION
)
set
(
PACKAGE_VERSION
"
${
LINPHONE_VERSION
}
"
)
# Preparing the Linphone SDK bundle
set
(
LINPHONE_SDK_TMP
"
${
CMAKE_CURRENT_BINARY_DIR
}
/linphone-sdk-tmp"
)
file
(
REMOVE_RECURSE
"
${
LINPHONE_SDK_TMP
}
"
)
file
(
COPY
"
${
LINPHONE_OUTPUT_DIR
}
"
DESTINATION
"
${
CMAKE_CURRENT_BINARY_DIR
}
"
)
file
(
RENAME
"
${
CMAKE_CURRENT_BINARY_DIR
}
/desktop"
"
${
LINPHONE_SDK_TMP
}
"
)
if
(
APPLE
)
set
(
RPATH_CHANGE_CMDS
-change /opt/local/lib/libintl.8.dylib @rpath/libintl.8.dylib
-change /opt/local/lib/libiconv.2.dylib @rpath/libiconv.2.dylib
)
file
(
COPY
/opt/local/lib/libintl.8.dylib
/opt/local/lib/libintl.dylib
/opt/local/lib/libiconv.dylib
/opt/local/lib/libiconv.2.dylib
DESTINATION
${
LINPHONE_SDK_TMP
}
/lib
)
execute_process
(
COMMAND install_name_tool
-id @rpath/libintl.8.dylib
-change /opt/local/lib/libiconv.2.dylib @rpath/libiconv.2.dylib
${
LINPHONE_SDK_TMP
}
/lib/libintl.8.dylib
)
execute_process
(
COMMAND install_name_tool
-id @rpath/libiconv.2.dylib
${
LINPHONE_SDK_TMP
}
/lib/libiconv.2.dylib
)
execute_process
(
COMMAND install_name_tool
-change /opt/local/lib/libintl.8.dylib @rpath/libintl.8.dylib
-change /opt/local/lib/libiconv.2.dylib @rpath/libiconv.2.dylib
${
LINPHONE_SDK_TMP
}
/lib/liblinphone.dylib
)
endif
()
# Generates a zip archive containing the development files of liblinphone
macro
(
add_list_file NAME
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/sdk_content/
${
NAME
}
.list.in"
"
${
LINPHONE_SDK_TMP
}
/
${
NAME
}
.list"
@ONLY
)
list
(
APPEND LIST_FILES
"
${
LINPHONE_SDK_TMP
}
/
${
NAME
}
.list"
)
endmacro
()
if
(
WIN32
)
set
(
LIBDIR
"bin"
)
set
(
LIBPREFIX
""
)
set
(
LIBEXT
"dll"
)
set
(
PLUGINEXT
"dll"
)
elseif
(
APPLE
)
set
(
LIBDIR
"lib"
)
set
(
LIBPREFIX
"lib"
)
set
(
LIBEXT
"dylib"
)
set
(
PLUGINEXT
"so"
)
endif
()
set
(
LIST_FILES
)
add_list_file
(
bctoolbox
)
add_list_file
(
antlr3c
)
add_list_file
(
bellesip
)
add_list_file
(
ortp
)
add_list_file
(
ms2
)
add_list_file
(
ms2plugins
)
add_list_file
(
linphone
)
if
(
WIN32
)
add_list_file
(
sqlite3
)
add_list_file
(
xml2
)
add_list_file
(
zlib
)
endif
()
if
(
ENABLE_UNIT_TESTS
)
add_list_file
(
bcunit
)
endif
()
if
(
ENABLE_VCARD
)
add_list_file
(
vcard
)
endif
()
if
(
ENABLE_BV16
)
add_list_file
(
bv16
)
endif
()
if
(
ENABLE_GSM
)
add_list_file
(
gsm
)
endif
()
if
(
ENABLE_OPUS
)
add_list_file
(
opus
)
endif
()
if
(
ENABLE_SPEEX
)
add_list_file
(
speex
)
endif
()
if
(
ENABLE_MBEDTLS
)
add_list_file
(
mbedtls
)
endif
()
if
(
ENABLE_POLARSSL
)
add_list_file
(
polarssl
)
endif
()
if
(
ENABLE_SRTP
)
add_list_file
(
srtp
)
endif
()
if
(
ENABLE_ZRTP
)
add_list_file
(
bzrtp
)
endif
()
if
(
ENABLE_FFMPEG
)
add_list_file
(
ffmpeg
)
endif
()
if
(
ENABLE_OPENH264
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/README.openh264.txt.in"
"
${
LINPHONE_SDK_TMP
}
/README.openh264.txt"
@ONLY
)
add_list_file
(
openh264
)
endif
()
file
(
WRITE
"
${
LINPHONE_SDK_TMP
}
/linphone-sdk.list"
""
)
foreach
(
_file
${
LIST_FILES
}
)
file
(
READ
"
${
_file
}
"
_content
)
file
(
APPEND
"
${
LINPHONE_SDK_TMP
}
/linphone-sdk.list"
"
${
_content
}
\n
"
)
endforeach
()
if
(
WIN32
)
find_program
(
7Z_PROGRAM 7z.exe
)
if
(
7Z_PROGRAM
)
execute_process
(
COMMAND
${
7Z_PROGRAM
}
a -tzip
${
CMAKE_BINARY_DIR
}
/linphone-sdk-
${
LINPHONE_GIT_REVISION
}
-win32.zip @linphone-sdk.list
WORKING_DIRECTORY
${
LINPHONE_SDK_TMP
}
)
else
()
message
(
WARNING
"7z has not been found, cannot generate the SDK!"
)
endif
()
elseif
(
APPLE
)
execute_process
(
COMMAND rm -rf
"
${
CMAKE_BINARY_DIR
}
/linphone-sdk-
${
LINPHONE_GIT_REVISION
}
-mac.zip"
COMMAND zip -ry
"
${
CMAKE_BINARY_DIR
}
/linphone-sdk-
${
LINPHONE_GIT_REVISION
}
-mac.zip"
. -i
"@linphone-sdk.list"
WORKING_DIRECTORY
${
LINPHONE_SDK_TMP
}
)
endif
()
if
(
WIN32
)
execute_process
(
COMMAND
${
WINDEPLOYQT_PROGRAM
}
"
${
LINPHONE_OUTPUT_DIR
}
/bin/linphone.exe"
"--qmldir"
"
${
LINPHONE_QML_DIR
}
"
)
install
(
DIRECTORY
"
${
LINPHONE_OUTPUT_DIR
}
/"
DESTINATION
"."
COMPONENT
"linphone_base"
PATTERN
"doc"
EXCLUDE
PATTERN
"etc"
EXCLUDE
PATTERN
"include"
EXCLUDE
PATTERN
"lib/cmake"
EXCLUDE
PATTERN
"lib/mediastreamer"
EXCLUDE
PATTERN
"lib/pkgconfig"
EXCLUDE
PATTERN
"lib/*.a"
EXCLUDE
PATTERN
"lib/*.def"
EXCLUDE
PATTERN
"lib/*.exp"
EXCLUDE
PATTERN
"lib/*.la"
EXCLUDE
PATTERN
"lib/*.lib"
EXCLUDE
PATTERN
"man"
EXCLUDE
PATTERN
"manifest"
EXCLUDE
PATTERN
"share/aclocal"
EXCLUDE
PATTERN
"share/BCUnit"
EXCLUDE
PATTERN
"share/java"
EXCLUDE
PATTERN
"src"
EXCLUDE
PATTERN
"linphone.lnk"
EXCLUDE
PATTERN
"bin/openh264.dll"
EXCLUDE
PATTERN
"share/*/cmake"
EXCLUDE
)
if
(
ENABLE_OPENH264
)
# Include bunzip2.exe and bzip2.dll to be able to extract the openh264 file downloaded from Cisco
install
(
DIRECTORY
"
${
TOOLS_DIR
}
/"
DESTINATION
"bin"
COMPONENT
"msopenh264"
FILES_MATCHING PATTERN
"b*zip2.*"
)
install
(
DIRECTORY
"
${
LINPHONE_OUTPUT_DIR
}
/lib/mediastreamer/plugins/"
DESTINATION
"lib/mediastreamer/plugins"
COMPONENT
"msopenh264"
FILES_MATCHING PATTERN
"libmsopenh264.*"
)
endif
()
install
(
DIRECTORY
"
${
LINPHONE_OUTPUT_DIR
}
/lib/mediastreamer/plugins/"
DESTINATION
"lib/mediastreamer/plugins"
FILES_MATCHING PATTERN
"libmssilk.*"
)
elseif
(
APPLE
)
find_program
(
MAC_BUNDLER gtk-mac-bundler
)
if
(
NOT MAC_BUNDLER
)
message
(
FATAL_ERROR
"Could not find gtk-mac-bundler executable!"
)
endif
()
find_program
(
PATCH_PROGRAM patch
)
if
(
NOT PATCH_PROGRAM
)
message
(
FATAL_ERROR
"Could not find patch executable!"
)
endif
()
configure_file
(
"
${
LINPHONE_SOURCE_DIR
}
/build/macos/Info-linphone.plist.in"
"mac-bundler/Info-linphone.plist"
@ONLY
)
configure_file
(
"
${
LINPHONE_SOURCE_DIR
}
/build/macos/environment.sh"
"mac-bundler/environment.sh"
COPYONLY
)
configure_file
(
"
${
LINPHONE_SOURCE_DIR
}
/gtk/gtkrc.mac"
"mac-bundler/gtkrc"
COPYONLY
)
configure_file
(
"
${
LINPHONE_SOURCE_DIR
}
/pixmaps/linphone.icns"
"mac-bundler/linphone.icns"
COPYONLY
)
configure_file
(
"mac-bundler/linphone.bundle"
"mac-bundler/linphone.bundle"
COPYONLY
)
# This file has to be different than the one in the linphone source code because of different file access paths
configure_file
(
"mac-bundler/pkg-scripts/postinstall.in"
"mac-bundler/pkg-scripts/postinstall"
@ONLY
)
configure_file
(
"mac-bundler/call-bundler.cmake.in"
"mac-bundler/call-bundler.cmake"
)
install
(
SCRIPT
"
${
CMAKE_BINARY_DIR
}
/mac-bundler/call-bundler.cmake"
)
endif
()
if
(
MSVC
)
install
(
DIRECTORY
"
${
LINPHONE_OUTPUT_DIR
}
/lib/mediastreamer/plugins/"
DESTINATION
"lib/mediastreamer/plugins"
FILES_MATCHING PATTERN
"libmswasapi.dll"
)
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
"bin"
)
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
"bin"
)
endif
()
endif
()
set
(
CPACK_PACKAGE_NAME
"Linphone"
)
set
(
CPACK_PACKAGE_VENDOR
"Belledonne communications"
)
set
(
CPACK_PACKAGE_VERSION_MAJOR
${
LINPHONE_MAJOR_VERSION
}
)
set
(
CPACK_PACKAGE_VERSION_MINOR
${
LINPHONE_MINOR_VERSION
}
)
set
(
CPACK_PACKAGE_VERSION_PATCH
${
LINPHONE_MICRO_VERSION
}
)
set
(
CPACK_PACKAGE_EXECUTABLES
"linphone;Linphone"
)
set
(
CPACK_PACKAGE_INSTALL_DIRECTORY
"Linphone"
)
set
(
CPACK_RESOURCE_FILE_LICENSE
"
${
LINPHONE_SOURCE_DIR
}
/COPYING"
)
if
(
WIN32
)
set
(
CPACK_COMPONENT_LINPHONE_BASE_DISPLAY_NAME
"Linphone"
)
set
(
CPACK_COMPONENT_LINPHONE_BASE_DESCRIPTION
"Minimal installation of Linphone"
)
set
(
CPACK_COMPONENT_LINPHONE_BASE_REQUIRED True
)
if
(
ENABLE_OPENH264
)
set
(
CPACK_COMPONENT_MSOPENH264_DISPLAY_NAME
"Cisco's OpenH264 codec"
)
set
(
CPACK_COMPONENT_MSOPENH264_DESCRIPTION
"Download OpenH264 Video Codec provided by Cisco Systems, Inc."
)
set
(
CPACK_COMPONENT_MSOPENH264_DISABLED True
)
endif
()
endif
()
if
(
WIN32
)
# Use 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
}
"
)
set
(
CPACK_GENERATOR
"NSIS"
)
set
(
CPACK_PACKAGE_ICON
"
${
CMAKE_CURRENT_SOURCE_DIR
}
\\\\
linphone-banner.bmp"
)
set
(
CPACK_PACKAGE_FILE_NAME
"
${
CPACK_PACKAGE_NAME
}
-
${
LINPHONE_GIT_REVISION
}
-win32"
)
set
(
CPACK_NSIS_MUI_ICON
"
${
LINPHONE_DESKTOP_DIR
}
/linphone.ico"
)
set
(
CPACK_NSIS_MUI_UNIICON
"
${
LINPHONE_DESKTOP_DIR
}
/linphone.ico"
)
set
(
CPACK_NSIS_DISPLAY_NAME
"Linphone"
)
set
(
CPACK_NSIS_PACKAGE_NAME
"Linphone
${
LINPHONE_MAJOR_VERSION
}
.
${
LINPHONE_MINOR_VERSION
}
.
${
LINPHONE_MICRO_VERSION
}
"
)
set
(
CPACK_NSIS_URL_INFO_ABOUT
"http://www.linphone.org/"
)
file
(
TO_NATIVE_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
"
DOS_STYLE_SOURCE_DIR
)
string
(
REPLACE
"
\\
"
"
\\\\
"
ESCAPED_DOS_STYLE_SOURCE_DIR
"
${
DOS_STYLE_SOURCE_DIR
}
"
)
file
(
TO_NATIVE_PATH
"
${
CMAKE_CURRENT_BINARY_DIR
}
"
DOS_STYLE_BINARY_DIR
)
string
(
REPLACE
"
\\
"
"
\\\\
"
ESCAPED_DOS_STYLE_BINARY_DIR
"
${
DOS_STYLE_BINARY_DIR
}
"
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/uninstall.nsi"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/uninstall.nsi"
COPYONLY
)
set
(
CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
"!include
\\\"
${
ESCAPED_DOS_STYLE_BINARY_DIR
}
\\\\
uninstall.nsi
\\\"
"
)
if
(
ENABLE_OPENH264
)
# Add NSI instructions to download the openh264 codec from Cisco's servers whether msopenh264 has been installed
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/openh264-install.nsi.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/openh264-install.nsi"
@ONLY
)
set
(
CPACK_NSIS_EXTRA_INSTALL_COMMANDS
"!include
\\\"
${
ESCAPED_DOS_STYLE_BINARY_DIR
}
\\\\
openh264-install.nsi
\\\"
"
)
# Add NSI instructions to delete the openh264 codecs while uninstalling Linphone
set
(
CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
"
${
CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
}
\n
!include
\\\"
${
ESCAPED_DOS_STYLE_SOURCE_DIR
}
\\\\
openh264-uninstall.nsi
\\\"
"
)
endif
()
# Sign the installer
set
(
TIMESTAMP_URL
"http://timestamp.verisign.com/scripts/timestamp.dll"
)
set
(
PFX_FILE
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/sign/linphone.pfx"
)
set
(
PASSPHRASE_FILE
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/sign/passphrase.txt"
)
get_filename_component
(
WINSDK_DIR
"[HKEY_LOCAL_MACHINE
\\
SOFTWARE
\\
Microsoft
\\
Microsoft SDKs
\\
Windows;CurrentInstallFolder]"
REALPATH CACHE
)
find_package
(
PythonInterp
)
find_program
(
SIGNTOOL signtool PATHS
${
WINSDK_DIR
}
/bin
)
set
(
SIGNTOOL_COMMAND
"
${
PYTHON_EXECUTABLE
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/signtool.py"
)
set
(
PERFORM_SIGNING 0
)
if
(
EXISTS
${
PFX_FILE
}
)
if
(
SIGNTOOL
)
set
(
SIGNTOOL_COMMAND
"
${
SIGNTOOL_COMMAND
}
signtool sign /f
${
PFX_FILE
}
"
)
set
(
SIGNTOOL_COMMAND
"
${
SIGNTOOL_COMMAND
}
/p
${
PASSPHRASE_FILE
}
"
)
set
(
SIGNTOOL_COMMAND
"
${
SIGNTOOL_COMMAND
}
/t
${
TIMESTAMP_URL
}
"
)
message
(
"Found signtool and certificate
${
PFX_FILE
}
"
)
set
(
PERFORM_SIGNING 1
)
else
()
message
(
STATUS
"Could not find signtool! Code signing disabled (
${
SIGNTOOL
}
)"
)
endif
()
else
()
message
(
STATUS
"No signtool certificate found; assuming development machine (
${
PFX_FILE
}
)"
)
endif
()
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/WindowsPackaging.cmake.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/WindowsPackaging.cmake"
@ONLY
)
install
(
SCRIPT
"
${
CMAKE_CURRENT_BINARY_DIR
}
/WindowsPackaging.cmake"
)
endif
()
include
(
CPack
)
cmake_builder/linphone_package/NSIS.template.in
0 → 100644
View file @
2b46a4c5
; CPack install script designed for a nmake build
;--------------------------------
; You must define these values
!define VERSION "@CPACK_PACKAGE_VERSION@"
!define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
;--------------------------------
;Variables
Var MUI_TEMP
Var STARTMENU_FOLDER
Var SV_ALLUSERS
Var START_MENU
Var DO_NOT_ADD_TO_PATH
Var ADD_TO_PATH_ALL_USERS
Var ADD_TO_PATH_CURRENT_USER
Var INSTALL_DESKTOP
Var IS_DEFAULT_INSTALLDIR
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
;Default installation folder
InstallDir "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
;--------------------------------
;General
;Name and file
Name "@CPACK_NSIS_PACKAGE_NAME@"
OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
;Set compression
SetCompressor @CPACK_NSIS_COMPRESSOR@
;Require administrator access
RequestExecutionLevel admin
@CPACK_NSIS_DEFINES@
!include Sections.nsh
;--- Component support macros: ---
; The code for the add/remove functionality is from:
; http://nsis.sourceforge.net/Add/Remove_Functionality
; It has been modified slightly and extended to provide
; inter-component dependencies.
Var AR_SecFlags
Var AR_RegFlags
@CPACK_NSIS_SECTION_SELECTED_VARS@
; Loads the "selected" flag for the section named SecName into the
; variable VarName.
!macro LoadSectionSelectedIntoVar SecName VarName
SectionGetFlags ${${SecName}} $${VarName}
IntOp $${VarName} $${VarName} & ${SF_SELECTED} ;Turn off all other bits
!macroend
; Loads the value of a variable... can we get around this?
!macro LoadVar VarName
IntOp $R0 0 + $${VarName}
!macroend
; Sets the value of a variable
!macro StoreVar VarName IntValue
IntOp $${VarName} 0 + ${IntValue}
!macroend
!macro InitSection SecName
; This macro reads component installed flag from the registry and
;changes checked state of the section on the components page.
;Input: section index constant name specified in Section command.
ClearErrors
;Reading component status from registry
ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed"
IfErrors "default_${SecName}"
;Status will stay default if registry value not found
;(component was never installed)
IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading default section flags
IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE ;Turn lowest (enabled) bit off
IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags ;Change lowest bit
; Note whether this component was installed before
!insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
IntOp $R0 $AR_RegFlags & $AR_RegFlags
;Writing modified flags
SectionSetFlags ${${SecName}} $AR_SecFlags
"default_${SecName}:"
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
!macroend
!macro FinishSection SecName
; This macro reads section flag set by user and removes the section
;if it is not selected.
;Then it writes component installed flag to registry
;Input: section index constant name specified in Section command.
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading section flags
;Checking lowest bit:
IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
IntCmp $AR_SecFlags 1 "leave_${SecName}"
;Section is not selected:
;Calling Section uninstall macro and writing zero installed flag
!insertmacro "Remove_${${SecName}}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
"Installed" 0
Goto "exit_${SecName}"
"leave_${SecName}:"
;Section is selected:
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
"Installed" 1
"exit_${SecName}:"
!macroend
!macro RemoveSection_CPack SecName
; This macro is used to call section's Remove_... macro
;from the uninstaller.
;Input: section index constant name specified in Section command.
!insertmacro "Remove_${${SecName}}"
!macroend
; Determine whether the selection of SecName changed
!macro MaybeSelectionChanged SecName
!insertmacro LoadVar ${SecName}_selected
SectionGetFlags ${${SecName}} $R1
IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
; See if the status has changed:
IntCmp $R0 $R1 "${SecName}_unchanged"
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
!insertmacro "Deselect_required_by_${SecName}"
goto "${SecName}_unchanged"
"${SecName}_was_selected:"
!insertmacro "Select_${SecName}_depends"
"${SecName}_unchanged:"
!macroend
;--- End of Add/Remove macros ---
;--------------------------------
;Interface Settings
!define MUI_HEADERIMAGE
!define MUI_ABORTWARNING
;--------------------------------
; path functions
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;----------------------------------------
; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
;----------------------------------------
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;====================================================
; get_NT_environment
; Returns: the selected environment
; Output : head of the stack
;====================================================
!macro select_NT_profile UN
Function ${UN}select_NT_profile
StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
DetailPrint "Selected environment for all users"
Push "all"
Return
environment_single:
DetailPrint "Selected environment for current user only."
Push "current"
Return
FunctionEnd
!macroend
!insertmacro select_NT_profile ""
!insertmacro select_NT_profile "un."
;----------------------------------------------------
!define NT_current_env 'HKCU "Environment"'
!define NT_all_env 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!ifndef WriteEnvStr_RegKey
!ifdef ALL_USERS
!define WriteEnvStr_RegKey \
'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!else
!define WriteEnvStr_RegKey 'HKCU "Environment"'
!endif
!endif
; AddToPath - Adds the given dir to the search path.
; Input - head of the stack
; Note - Win9x systems requires reboot
Function AddToPath
Exch $0
Push $1
Push $2
Push $3
# don't add if the path doesn't exist
IfFileExists "$0\*.*" "" AddToPath_done
ReadEnvStr $1 PATH
; if the path is too long for a NSIS variable NSIS will return a 0
; length string. If we find that, then warn and skip any path
; modification as it will trash the existing path.
StrLen $2 $1
IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
CheckPathLength_ShowPathWarning:
Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
Goto AddToPath_done
CheckPathLength_Done:
Push "$1;"
Push "$0;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Push "$1;"
Push "$0\;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
GetFullPathName /SHORT $3 $0
Push "$1;"
Push "$3;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Push "$1;"
Push "$3\;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Call IsNT
Pop $1
StrCmp $1 1 AddToPath_NT
; Not on NT
StrCpy $1 $WINDIR 2
FileOpen $1 "$1\autoexec.bat" a
FileSeek $1 -1 END
FileReadByte $1 $2
IntCmp $2 26 0 +2 +2 # DOS EOF
FileSeek $1 -1 END # write over EOF
FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
FileClose $1
SetRebootFlag true
Goto AddToPath_done
AddToPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
Goto DoTrim
ReadAllKey:
ReadRegStr $1 ${NT_all_env} "PATH"
DoTrim:
StrCmp $1 "" AddToPath_NTdoIt
Push $1
Call Trim
Pop $1
StrCpy $0 "$1;$0"
AddToPath_NTdoIt:
StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $0
Goto DoSend
WriteAllKey:
WriteRegExpandStr ${NT_all_env} "PATH" $0
DoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
AddToPath_done:
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
; RemoveFromPath - Remove a given dir from the path
; Input: head of the stack
Function un.RemoveFromPath
Exch $0
Push $1
Push $2
Push $3
Push $4
Push $5
Push $6
IntFmt $6 "%c" 26 # DOS EOF
Call un.IsNT
Pop $1
StrCmp $1 1 unRemoveFromPath_NT
; Not on NT
StrCpy $1 $WINDIR 2
FileOpen $1 "$1\autoexec.bat" r
GetTempFileName $4
FileOpen $2 $4 w
GetFullPathName /SHORT $0 $0
StrCpy $0 "SET PATH=%PATH%;$0"
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoop:
FileRead $1 $3
StrCpy $5 $3 1 -1 # read last char
StrCmp $5 $6 0 +2 # if DOS EOF
StrCpy $3 $3 -1 # remove DOS EOF so we can compare
StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "" unRemoveFromPath_dosLoopEnd
FileWrite $2 $3
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoopRemoveLine:
SetRebootFlag true
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoopEnd:
FileClose $2
FileClose $1
StrCpy $1 $WINDIR 2
Delete "$1\autoexec.bat"
CopyFiles /SILENT $4 "$1\autoexec.bat"
Delete $4
Goto unRemoveFromPath_done
unRemoveFromPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
Goto unDoTrim
unReadAllKey:
ReadRegStr $1 ${NT_all_env} "PATH"
unDoTrim:
StrCpy $5 $1 1 -1 # copy last char
StrCmp $5 ";" +2 # if last char != ;
StrCpy $1 "$1;" # append ;
Push $1
Push "$0;"
Call un.StrStr ; Find `$0;` in $1
Pop $2 ; pos of our dir
StrCmp $2 "" unRemoveFromPath_done
; else, it is in path
# $0 - path to add
# $1 - path var
StrLen $3 "$0;"
StrLen $4 $2
StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
StrCpy $3 $5$6
StrCpy $5 $3 1 -1 # copy last char
StrCmp $5 ";" 0 +2 # if last char == ;
StrCpy $3 $3 -1 # remove last char
StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $3
Goto unDoSend
unWriteAllKey:
WriteRegExpandStr ${NT_all_env} "PATH" $3
unDoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
unRemoveFromPath_done:
Pop $6
Pop $5
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Uninstall sutff
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
###########################################
# Utility Functions #
###########################################
;====================================================
; IsNT - Returns 1 if the current system is NT, 0
; otherwise.
; Output: head of the stack
;====================================================
; IsNT
; no input
; output, top of the stack = 1 if NT or 0 if not
;
; Usage:
; Call IsNT
; Pop $R0
; ($R0 at this point is 1 or 0)
!macro IsNT un
Function ${un}IsNT
Push $0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
StrCmp $0 "" 0 IsNT_yes
; we are not NT.
Pop $0
Push 0
Return
IsNT_yes:
; NT!!!
Pop $0
Push 1
FunctionEnd
!macroend
!insertmacro IsNT ""
!insertmacro IsNT "un."
; StrStr
; input, top of stack = string to search for
; top of stack-1 = string to search in
; output, top of stack (replaces with the portion of the string remaining)
; modifies no other variables.
;
; Usage:
; Push "this is a long ass string"
; Push "ass"
; Call StrStr
; Pop $R0
; ($R0 at this point is "ass string")
!macro StrStr un
Function ${un}StrStr
Exch $R1 ; st=haystack,old$R1, $R1=needle
Exch ; st=old$R1,haystack
Exch $R2 ; st=old$R1,old$R2, $R2=haystack
Push $R3
Push $R4
Push $R5
StrLen $R3 $R1
StrCpy $R4 0
; $R1=needle
; $R2=haystack
; $R3=len(needle)
; $R4=cnt
; $R5=tmp
loop:
StrCpy $R5 $R2 $R3 $R4
StrCmp $R5 $R1 done
StrCmp $R5 "" done
IntOp $R4 $R4 + 1
Goto loop
done:
StrCpy $R1 $R2 "" $R4
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Exch $R1
FunctionEnd
!macroend
!insertmacro StrStr ""
!insertmacro StrStr "un."
Function Trim ; Added by Pelaca
Exch $R1
Push $R2
Loop:
StrCpy $R2 "$R1" 1 -1
StrCmp "$R2" " " RTrim
StrCmp "$R2" "$\n" RTrim
StrCmp "$R2" "$\r" RTrim
StrCmp "$R2" ";" RTrim
GoTo Done
RTrim:
StrCpy $R1 "$R1" -1
Goto Loop
Done:
Pop $R2
Exch $R1
FunctionEnd
Function ConditionalAddToRegisty
Pop $0
Pop $1
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" \
"$1" "$0"
;MessageBox MB_OK "Set Registry: '$1' to '$0'"
DetailPrint "Set install registry entry: '$1' to '$0'"
ConditionalAddToRegisty_EmptyString:
FunctionEnd
;--------------------------------
!ifdef CPACK_USES_DOWNLOAD
Function DownloadFile
IfFileExists $INSTDIR\* +2
CreateDirectory $INSTDIR
Pop $0
; Skip if already downloaded
IfFileExists $INSTDIR\$0 0 +2
Return
StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
try_again:
NSISdl::download "$1/$0" "$INSTDIR\$0"
Pop $1
StrCmp $1 "success" success
StrCmp $1 "Cancelled" cancel
MessageBox MB_OK "Download failed: $1"
cancel:
Return
success:
FunctionEnd
!endif
;--------------------------------
; Installation types
@CPACK_NSIS_INSTALLATION_TYPES@
;--------------------------------
; Component sections
@CPACK_NSIS_COMPONENT_SECTIONS@
;--------------------------------
; Define some macro setting for the gui
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
@CPACK_NSIS_INSTALLER_ICON_CODE@
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
Page custom InstallOptionsPage
!insertmacro MUI_PAGE_DIRECTORY
;Start Menu Folder Page Configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
@CPACK_NSIS_PAGE_COMPONENTS@
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
!insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Basque"
!insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Breton"
!insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Estonian"
!insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Icelandic"
!insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Kurdish"
!insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "SerbianLatin"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Welsh"
;--------------------------------
;Reserve Files
;These files should be inserted before other files in the data block
;Keep these lines before any File command
;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
ReserveFile "NSIS.InstallOptions.ini"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
;--------------------------------
;Installer Sections
Section "-Core installation"
;Use the entire tree produced by the INSTALL target. Keep the
;list of directories here in sync with the RMDir commands below.
SetOutPath "$INSTDIR"
@CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@
@CPACK_NSIS_FULL_INSTALL@
;Store installation folder
WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
Push "DisplayName"
Push "@CPACK_NSIS_DISPLAY_NAME@"
Call ConditionalAddToRegisty
Push "DisplayVersion"
Push "@CPACK_PACKAGE_VERSION@"
Call ConditionalAddToRegisty
Push "Publisher"
Push "@CPACK_PACKAGE_VENDOR@"
Call ConditionalAddToRegisty
Push "UninstallString"
Push "$INSTDIR\Uninstall.exe"
Call ConditionalAddToRegisty
Push "NoRepair"
Push "1"
Call ConditionalAddToRegisty
!ifdef CPACK_NSIS_ADD_REMOVE
;Create add/remove functionality
Push "ModifyPath"
Push "$INSTDIR\AddRemove.exe"
Call ConditionalAddToRegisty
!else
Push "NoModify"
Push "1"
Call ConditionalAddToRegisty
!endif
; Optional registration
Push "DisplayIcon"
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
Call ConditionalAddToRegisty
Push "HelpLink"
Push "@CPACK_NSIS_HELP_LINK@"
Call ConditionalAddToRegisty
Push "URLInfoAbout"
Push "@CPACK_NSIS_URL_INFO_ABOUT@"
Call ConditionalAddToRegisty
Push "Contact"
Push "@CPACK_NSIS_CONTACT@"
Call ConditionalAddToRegisty
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
;Create shortcuts
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
@CPACK_NSIS_CREATE_ICONS@
@CPACK_NSIS_CREATE_ICONS_EXTRA@
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
;Read a value from an InstallOptions INI file
!insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
; Write special uninstall registry entries
Push "StartMenu"
Push "$STARTMENU_FOLDER"
Call ConditionalAddToRegisty
Push "DoNotAddToPath"
Push "$DO_NOT_ADD_TO_PATH"
Call ConditionalAddToRegisty
Push "AddToPathAllUsers"
Push "$ADD_TO_PATH_ALL_USERS"
Call ConditionalAddToRegisty
Push "AddToPathCurrentUser"
Push "$ADD_TO_PATH_CURRENT_USER"
Call ConditionalAddToRegisty
Push "InstallToDesktop"
Push "$INSTALL_DESKTOP"
Call ConditionalAddToRegisty
!insertmacro MUI_STARTMENU_WRITE_END
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
SectionEnd
Section "-Add to path"
Push $INSTDIR\bin
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
Call AddToPath
doNotAddToPath:
SectionEnd
;--------------------------------
; Create custom pages
Function InstallOptionsPage
!insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
FunctionEnd
;--------------------------------
; determine admin versus local install
Function un.onInit
ClearErrors
UserInfo::GetName
IfErrors noLM
Pop $0
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Admin group'
Goto done
StrCmp $1 "Power" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
Goto done
noLM:
;Get installation folder from registry if available
done:
FunctionEnd
;--- Add/Remove callback functions: ---
!macro SectionList MacroName
;This macro used to perform operation on multiple sections.
;List all of your components in following manner here.
@CPACK_NSIS_COMPONENT_SECTION_LIST@
!macroend
Section -FinishComponents
;Removes unselected components and writes component status to registry
!insertmacro SectionList "FinishSection"
!ifdef CPACK_NSIS_ADD_REMOVE
; Get the name of the installer executable
System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
StrCpy $R3 $R0
; Strip off the last 13 characters, to see if we have AddRemove.exe
StrLen $R1 $R0
IntOp $R1 $R0 - 13
StrCpy $R2 $R0 13 $R1
StrCmp $R2 "AddRemove.exe" addremove_installed
; We're not running AddRemove.exe, so install it
CopyFiles $R3 $INSTDIR\AddRemove.exe
addremove_installed:
!endif
SectionEnd
;--- End of Add/Remove callback functions ---
;--------------------------------
; Component dependencies
Function .onSelChange
!insertmacro SectionList MaybeSelectionChanged
FunctionEnd
;--------------------------------
;Uninstaller Section
Section "Uninstall"
ReadRegStr $START_MENU SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu"
;MessageBox MB_OK "Start menu is in: $START_MENU"
ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "DoNotAddToPath"
ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathAllUsers"
ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathCurrentUser"
;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
ReadRegStr $INSTALL_DESKTOP SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "InstallToDesktop"
;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
;Remove files we installed.
;Keep the list of directories here in sync with the File commands above.
@CPACK_NSIS_DELETE_FILES@
@CPACK_NSIS_DELETE_DIRECTORIES@
!ifdef CPACK_NSIS_ADD_REMOVE
;Remove the add/remove program
Delete "$INSTDIR\AddRemove.exe"
!endif
;Remove the uninstaller itself.
Delete "$INSTDIR\Uninstall.exe"
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
;Remove the installation directory if it is empty.
RMDir "$INSTDIR"
; Remove the registry entries.
DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
; Removes all optional components
!insertmacro SectionList "RemoveSection_CPack"
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS@
@CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent diretories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
startMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
; If the user changed the shortcut, then untinstall may not work. This should
; try to fix it.
StrCpy $MUI_TEMP "$START_MENU"
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent diretories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
secondStartMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors secondStartMenuDeleteLoopDone
StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
secondStartMenuDeleteLoopDone:
DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
Push $INSTDIR\bin
StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
Call un.RemoveFromPath
doNotRemoveFromPath:
SectionEnd
;--------------------------------
; determine admin versus local install
; Is install for "AllUsers" or "JustMe"?
; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
; This function is used for the very first "custom page" of the installer.
; This custom page does not show up visibly, but it executes prior to the
; first visible page and sets up $INSTDIR properly...
; Choose different default installation folder based on SV_ALLUSERS...
; "Program Files" for AllUsers, "My Documents" for JustMe...
Function .onInit
FindWindow $0 "gdkWindowToplevel" "Linphone"
StrCmp $0 0 notRunning
MessageBox MB_OK|MB_ICONEXCLAMATION "Linphone is running. Please close it first and restart the installation." /SD IDOK
Abort
notRunning:
ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString"
StrCmp $0 "" inst
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"Linphone is already installed. $\n$\nDo you want to continue and uninstall the old version before installing the new one?" \
IDOK uninst
Abort
;Run the uninstaller
uninst:
ClearErrors
StrLen $2 "\Uninstall.exe"
StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file
IfErrors uninst_failed inst
uninst_failed:
MessageBox MB_OK|MB_ICONSTOP "Uninstall failed."
Abort
inst:
; Reads components status for registry
!insertmacro SectionList "InitSection"
; check to see if /D has been used to change
; the install directory by comparing it to the
; install directory that is expected to be the
; default
StrCpy $IS_DEFAULT_INSTALLDIR 0
StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
StrCpy $IS_DEFAULT_INSTALLDIR 1
StrCpy $SV_ALLUSERS "JustMe"
; if default install dir then change the default
; if it is installed for JustMe
StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
ClearErrors
UserInfo::GetName
IfErrors noLM
Pop $0
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +4
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Admin group'
StrCpy $SV_ALLUSERS "AllUsers"
Goto done
StrCmp $1 "Power" 0 +4
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
StrCpy $SV_ALLUSERS "AllUsers"
Goto done
noLM:
StrCpy $SV_ALLUSERS "AllUsers"
;Get installation folder from registry if available
done:
StrCmp $SV_ALLUSERS "AllUsers" 0 +3
StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
noOptionsPage:
FunctionEnd
cmake_builder/linphone_package/README.openh264.txt.in
0 → 100644
View file @
2b46a4c5
H264 codec
----------
Mediastreamer 2 uses Cisco's OpenH264 library as H264 codec. OpenH264 is an
open source library but H264 is a coding format protected by a patent from
MPEG-LA. That's why that bundle does not embed any OpenH264 library and so you
will not able to use H264 out-the-box.
Fortunatly, Cisco Systems Inc. distribute OpenH264 in its binary form that you
can use in Mediastreamer without paying much royalties to MPEG-LA. However,
that binary file as a restrictive licence. See http://www.openh264.org/BINARY_LICENSE.txt form more information.
Installation procedure
----------------------
The Cisco's provided OpenH264 library is available at this address:
http://ciscobinary.openh264.org/libopenh264-@OPENH264_VERSION@-osx64.dylib.bz2 for MacOS
http://ciscobinary.openh264.org/openh264-@OPENH264_VERSION@-win32msvc.dll.bz2 for Windows (32 bit)
Once you get the library, uncompress it into <SDK_location>/lib/libopenh264.1.dylib
On Windows, the library must be installed into <SDK_location>\bin\openh264.dll
cmake_builder/linphone_package/WindowsPackaging.cmake.in
0 → 100644
View file @
2b46a4c5
############################################################################
# WindowsPackaging.cmake
# Copyright (C) 2014 Belledonne Communications, Grenoble France
#
############################################################################
#
# 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 2
# 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
############################################################################
if(NOT "${CMAKE_INSTALL_PREFIX}" MATCHES .*/_CPack_Packages/.*)
execute_process(
COMMAND ${CMAKE_CPACK_COMMAND} -G NSIS
RESULT_VARIABLE CPACK_COMMAND_SUCCESS
)
if(@PERFORM_SIGNING@)
execute_process(
COMMAND @SIGNTOOL_COMMAND@ @CMAKE_CURRENT_BINARY_DIR@/@CPACK_PACKAGE_FILE_NAME@.exe
)
endif()
endif()
cmake_builder/linphone_package/linphone-banner.bmp
0 → 100644
View file @
2b46a4c5
25.2 KB
cmake_builder/linphone_package/openh264-install.nsi.in
0 → 100644
View file @
2b46a4c5
SectionGetFlags ${msopenh264} $0
IntOp $0 $0 & ${SF_SELECTED}
IntCmpU $0 0 done done download
download:
NSISdl::download http://ciscobinary.openh264.org/openh264-@OPENH264_VERSION@-win32msvc.dll.bz2 $INSTDIR\lib\mediastreamer\plugins\openh264.dll.bz2
ExecWait '"$INSTDIR\bin\bunzip2.exe" "$INSTDIR\lib\mediastreamer\plugins\openh264.dll.bz2"'
done:
\ No newline at end of file
cmake_builder/linphone_package/openh264-uninstall.nsi
0 → 100644
View file @
2b46a4c5
Delete $INSTDIR\lib\mediastreamer\plugins\openh264.dll
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/antlr3c.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@antlr3c*.@LIBEXT@
cmake_builder/linphone_package/sdk_content/bctoolbox.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@bctoolbox*.@LIBEXT@
include/bctoolbox/*
lib/bctoolbox*.lib
lib/pkgconfig/bctoolbox*.pc
share/bctoolbox/cmake/*
cmake_builder/linphone_package/sdk_content/bcunit.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@bcunit*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/bellesip.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@bellesip*.@LIBEXT@
include/belle-sip/*
lib/bellesip*.lib
lib/pkgconfig/belle-sip.pc
share/BelleSIP/cmake/*
cmake_builder/linphone_package/sdk_content/bv16.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@bv16*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/bzrtp.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@bzrtp*.@LIBEXT@
share/bzrtp/cmake
cmake_builder/linphone_package/sdk_content/ffmpeg.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@avcodec*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@avutil*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@swscale*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@swresample*.@LIBEXT@
cmake_builder/linphone_package/sdk_content/gsm.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@gsm*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/linphone.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@linphone*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@iconv*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@intl*.@LIBEXT@
include/linphone/*
lib/linphone*.lib
share/doc/linphone-*
share/Linphone/cmake/*
share/sounds/linphone/*
share/locale/*/LC_MESSAGES/linphone.mo
cmake_builder/linphone_package/sdk_content/mbedtls.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@mbedcrypto*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@mbedx509*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@mbedtls*.@LIBEXT@
cmake_builder/linphone_package/sdk_content/ms2.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@mediastreamer_base*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@mediastreamer_voip*.@LIBEXT@
include/mediastreamer2/*
lib/mediastreamer_base*.lib
lib/mediastreamer_voip*.lib
share/doc/mediastreamer2-*
share/images/nowebcamCIF.jpg
share/Mediastreamer2/cmake/*
cmake_builder/linphone_package/sdk_content/ms2plugins.list.in
0 → 100644
View file @
2b46a4c5
lib/mediastreamer/plugins/*.@PLUGINEXT@
cmake_builder/linphone_package/sdk_content/openh264.list.in
0 → 100644
View file @
2b46a4c5
README.openh264.txt
cmake_builder/linphone_package/sdk_content/opus.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@opus*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/ortp.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@ortp*.@LIBEXT@
include/ortp/*
lib/ortp*.lib
lib/pkgconfig/ortp.pc
share/doc/oRTP-*
share/oRTP/cmake/*
cmake_builder/linphone_package/sdk_content/polarssl.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@polarssl*.@LIBEXT@
cmake_builder/linphone_package/sdk_content/speex.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@speex*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/sqlite3.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@sqlite3*.@LIBEXT@
cmake_builder/linphone_package/sdk_content/srtp.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@srtp*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/vcard.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@belr*.@LIBEXT@
@LIBDIR@/@LIBPREFIX@belcard*.@LIBEXT@
lib/belr*.lib
lib/belcard*.lib
share/Belr/cmake
share/Belcard/cmake
cmake_builder/linphone_package/sdk_content/xml2.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@xml2*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/sdk_content/zlib.list.in
0 → 100644
View file @
2b46a4c5
@LIBDIR@/@LIBPREFIX@zlib*.@LIBEXT@
\ No newline at end of file
cmake_builder/linphone_package/signtool.py
0 → 100644
View file @
2b46a4c5
#!/usr/bin/env python
import
os
,
sys
import
subprocess
class
PassFile
:
def
__init__
(
self
,
file
):
self
.
file
=
file
def
password
(
self
,
v
):
file
=
open
(
self
.
file
,
"r"
);
line
=
file
.
readline
()
.
strip
()
file
.
close
()
return
line
if
__name__
==
'__main__'
:
if
len
(
sys
.
argv
)
<=
2
:
sys
.
exit
(
0
)
for
i
,
arg
in
enumerate
(
sys
.
argv
):
if
arg
==
"/p"
:
if
(
i
+
1
)
==
len
(
sys
.
argv
):
print
"Missing password argument"
sys
.
exit
(
3
)
try
:
sys
.
argv
[
i
+
1
]
=
PassFile
(
sys
.
argv
[
i
+
1
])
.
password
(
None
)
except
IOError
:
print
"Password file not found"
sys
.
exit
(
3
)
actual_args
=
sys
.
argv
[
1
:]
ret
=
subprocess
.
call
(
actual_args
)
sys
.
exit
(
ret
)
cmake_builder/linphone_package/uninstall.nsi
0 → 100644
View file @
2b46a4c5
FindWindow $0 "gdkWindowToplevel" "Linphone"
StrCmp $0 0 notRunningInUninstall
MessageBox MB_OK|MB_ICONEXCLAMATION "Linphone is running. Please close it first and restart the uninstall program." /SD IDOK
Abort
notRunningInUninstall:
linphone-desktop/CMakeLists.txt
View file @
2b46a4c5
...
...
@@ -207,7 +207,7 @@ qt5_add_resources(RESOURCES ${QRC_RESOURCES})
# Build.
# Note: `update_translations` is provided by `languages/CMakeLists.txt`.
if
(
WIN32
)
add_executable
(
${
TARGET_NAME
}
WIN32
${
SOURCES
}
${
HEADERS
}
${
RESOURCES
}
)
add_executable
(
${
TARGET_NAME
}
WIN32
${
SOURCES
}
${
HEADERS
}
${
RESOURCES
}
linphone.rc
)
else
()
add_executable
(
${
TARGET_NAME
}
${
SOURCES
}
${
HEADERS
}
${
RESOURCES
}
)
endif
()
...
...
linphone-desktop/linphone.ico
0 → 100644
View file @
2b46a4c5
361 KB
linphone-desktop/linphone.rc
0 → 100644
View file @
2b46a4c5
A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "linphone.ico"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment