Add Windows installer file and configure appveyor to create it
Also update OpenSSL on Windows to latest version.
This commit is contained in:
parent
7d62eb066e
commit
12126d701e
3 changed files with 138 additions and 4 deletions
|
@ -885,6 +885,12 @@ set(CPACK_SOURCE_IGNORE_FILES $(CPACK_SOURCE_IGNORE_FILES) ".git" "build" "tgz"
|
|||
# Most people are more used to "make dist" compared to "make package_source"
|
||||
add_custom_target(dist COMMAND "${CMAKE_MAKE_PROGRAM}" package_source)
|
||||
|
||||
# ===========================================================================
|
||||
# Windows installer
|
||||
|
||||
set(CPACK_NSIS_DISPLAY_NAME "bob")
|
||||
# ===========================================================================
|
||||
|
||||
include(UseRPMTools)
|
||||
if (RPMTools_FOUND)
|
||||
RPMTools_ADD_RPM_TARGETS(libwebsockets libwebsockets.spec)
|
||||
|
|
20
appveyor.yml
20
appveyor.yml
|
@ -14,15 +14,27 @@ environment:
|
|||
- LWS_METHOD: nossl
|
||||
CMAKE_ARGS: -DLWS_WITH_SSL=OFF
|
||||
install:
|
||||
- appveyor DownloadFile http://slproweb.com/download/Win32OpenSSL-1_0_1L.exe
|
||||
- Win32OpenSSL-1_0_1L.exe /silent /verysilent /sp- /suppressmsgboxes
|
||||
- appveyor DownloadFile http://slproweb.com/download/Win32OpenSSL-1_0_2.exe
|
||||
- Win32OpenSSL-1_0_2.exe /silent /verysilent /sp- /suppressmsgboxes
|
||||
- cinst nsis
|
||||
build:
|
||||
|
||||
build_script:
|
||||
- md build
|
||||
- cd build
|
||||
- cmake %CMAKE_ARGS% ..
|
||||
- cmake --build .
|
||||
- cmake -DCMAKE_BUILD_TYPE=Release %CMAKE_ARGS% ..
|
||||
- cmake --build . --config Release
|
||||
|
||||
after_build:
|
||||
- cd ..
|
||||
- cd win32port
|
||||
- C:\Program Files\NSIS\makensis.exe -DVERSION=%APPVEYOR_BUILD_VERSION% libwebsockets.nsi'
|
||||
|
||||
|
||||
artifacts:
|
||||
- name: Installer
|
||||
path: 'win32port/libwebsockets-*-install.exe'
|
||||
|
||||
cache:
|
||||
- C:\OpenSSL-Win32
|
||||
|
||||
|
|
116
win32port/libwebsockets.nsi
Normal file
116
win32port/libwebsockets.nsi
Normal file
|
@ -0,0 +1,116 @@
|
|||
; NSIS installer script for libwebsockets
|
||||
|
||||
SetCompressor
|
||||
!include "MUI.nsh"
|
||||
|
||||
Name "libwebsockets"
|
||||
OutFile "libwebsockets-${VERSION}-install.exe"
|
||||
|
||||
InstallDir "$PROGRAMFILES\libwebsockets"
|
||||
|
||||
;--------------------------------
|
||||
; Installer pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
|
||||
;--------------------------------
|
||||
; Uninstaller pages
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
; Languages
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
;--------------------------------
|
||||
; Installer sections
|
||||
|
||||
Section "Files" SecInstall
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR"
|
||||
File "..\libwebsockets-api-doc.html"
|
||||
File "..\LICENSE"
|
||||
File "..\README"
|
||||
File "..\README.build"
|
||||
File "..\README.coding"
|
||||
File "..\README.test-apps"
|
||||
File "..\build\bin\Release\libwebsockets-test-client.exe"
|
||||
File "..\build\bin\Release\libwebsockets-test-echo.exe"
|
||||
File "..\build\bin\Release\libwebsockets-test-fraggle.exe"
|
||||
File "..\build\bin\Release\libwebsockets-test-ping.exe"
|
||||
File "..\build\bin\Release\libwebsockets-test-server.exe"
|
||||
File "..\build\bin\Release\libwebsockets-test-server-extpoll.exe"
|
||||
File "..\build\bin\Release\websockets.dll"
|
||||
|
||||
SetOutPath "$INSTDIR\libwebsockets-test-server"
|
||||
File "..\build\bin\share\libwebsockets-test-server\favicon.ico"
|
||||
File "..\build\bin\share\libwebsockets-test-server\leaf.jpg"
|
||||
File "..\build\bin\share\libwebsockets-test-server\libwebsockets.org-logo.png"
|
||||
File "..\build\bin\share\libwebsockets-test-server\libwebsockets-test-server.key.pem"
|
||||
File "..\build\bin\share\libwebsockets-test-server\libwebsockets-test-server.pem"
|
||||
File "..\build\bin\share\libwebsockets-test-server\test.html"
|
||||
|
||||
SetOutPath "$INSTDIR\lib"
|
||||
File "..\build\lib\Release\websockets.lib"
|
||||
File "..\build\lib\Release\websockets_static.lib"
|
||||
|
||||
SetOutPath "$INSTDIR\include"
|
||||
File "..\lib\libwebsockets.h"
|
||||
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "DisplayName" "libwebsockets library and clients"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "HelpLink" "http://libwebsockets.org/"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "URLInfoAbout" "http://libwebsockets.org/"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "DisplayVersion" "${VERSION}"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "NoModify" "1"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "NoRepair" "1"
|
||||
SectionEnd
|
||||
|
||||
Section "Uninstall"
|
||||
Delete "$INSTDIR\libwebsockets-api-doc.html"
|
||||
Delete "$INSTDIR\LICENSE"
|
||||
Delete "$INSTDIR\README"
|
||||
Delete "$INSTDIR\README.build"
|
||||
Delete "$INSTDIR\README.coding"
|
||||
Delete "$INSTDIR\README.test-apps"
|
||||
Delete "$INSTDIR\libwebsockets-test-client.exe"
|
||||
Delete "$INSTDIR\libwebsockets-test-echo.exe"
|
||||
Delete "$INSTDIR\libwebsockets-test-fraggle.exe"
|
||||
Delete "$INSTDIR\libwebsockets-test-ping.exe"
|
||||
Delete "$INSTDIR\libwebsockets-test-server.exe"
|
||||
Delete "$INSTDIR\libwebsockets-test-server-extpoll.exe"
|
||||
Delete "$INSTDIR\websockets.dll"
|
||||
|
||||
Delete "$INSTDIR\libwebsockets-test-server\favicon.ico"
|
||||
Delete "$INSTDIR\libwebsockets-test-server\leaf.jpg"
|
||||
Delete "$INSTDIR\libwebsockets-test-server\libwebsockets.org-logo.png"
|
||||
Delete "$INSTDIR\libwebsockets-test-server\libwebsockets-test-server.key.pem"
|
||||
Delete "$INSTDIR\libwebsockets-test-server\libwebsockets-test-server.pem"
|
||||
Delete "$INSTDIR\libwebsockets-test-server\test.html"
|
||||
RMDir "$INSTDIR\libwebsockets-test-server"
|
||||
|
||||
Delete "$INSTDIR\lib\websockets.lib"
|
||||
Delete "$INSTDIR\lib\websockets_static.lib"
|
||||
RMDir "$INSTDIR\lib"
|
||||
|
||||
Delete "$INSTDIR\include\libwebsockets.h"
|
||||
RMDir "$INSTDIR\include"
|
||||
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
RMDir "$INSTDIR"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets"
|
||||
SectionEnd
|
||||
|
||||
LangString DESC_SecInstall ${LANG_ENGLISH} "The main installation."
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(DESC_SecInstall)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
Loading…
Add table
Reference in a new issue