2021-01-11 23:13:22 +00:00
|
|
|
if(NOT GUI_ZIP_URL)
|
2021-01-19 12:39:53 +00:00
|
|
|
set(GUI_ZIP_URL "https://oxen.rocks/oxen-io/loki-network-control-panel/master/lokinet-gui-windows-32bit-v0.3.5.zip")
|
2021-01-11 23:13:22 +00:00
|
|
|
set(GUI_ZIP_HASH_OPTS EXPECTED_HASH SHA256=fcb1d78f7d6eecb440d05a034dd7e60ae506275af5b0f600b416bb1a896f32aa)
|
|
|
|
endif()
|
|
|
|
|
2020-01-10 22:32:00 +00:00
|
|
|
set(TUNTAP_URL "https://build.openvpn.net/downloads/releases/latest/tap-windows-latest-stable.exe")
|
|
|
|
set(TUNTAP_EXE "${CMAKE_BINARY_DIR}/tuntap-install.exe")
|
2020-10-22 21:16:42 +00:00
|
|
|
set(BOOTSTRAP_URL "https://seed.lokinet.org/lokinet.signed")
|
|
|
|
set(BOOTSTRAP_FILE "${CMAKE_BINARY_DIR}/bootstrap.signed")
|
|
|
|
|
2020-01-10 22:32:00 +00:00
|
|
|
file(DOWNLOAD
|
|
|
|
${TUNTAP_URL}
|
|
|
|
${TUNTAP_EXE})
|
2020-10-22 21:16:42 +00:00
|
|
|
|
|
|
|
file(DOWNLOAD
|
|
|
|
${BOOTSTRAP_URL}
|
|
|
|
${BOOTSTRAP_FILE})
|
|
|
|
|
|
|
|
file(DOWNLOAD
|
|
|
|
${GUI_ZIP_URL}
|
2020-10-27 20:27:38 +00:00
|
|
|
${CMAKE_BINARY_DIR}/lokinet-gui.zip
|
2021-01-11 23:13:22 +00:00
|
|
|
${GUI_ZIP_HASH_OPTS})
|
2020-10-22 21:16:42 +00:00
|
|
|
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ${CMAKE_BINARY_DIR}/lokinet-gui.zip
|
|
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
|
|
|
|
install(DIRECTORY ${CMAKE_BINARY_DIR}/gui DESTINATION share COMPONENT gui)
|
2020-01-10 22:32:00 +00:00
|
|
|
install(PROGRAMS ${TUNTAP_EXE} DESTINATION bin)
|
2020-10-22 21:16:42 +00:00
|
|
|
install(FILES ${BOOTSTRAP_FILE} DESTINATION share)
|
|
|
|
|
2020-10-30 00:05:41 +00:00
|
|
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Lokinet")
|
2020-10-27 20:27:38 +00:00
|
|
|
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/win32-setup/lokinet.ico")
|
2020-01-10 22:32:00 +00:00
|
|
|
set(CPACK_NSIS_DEFINES "RequestExecutionLevel admin")
|
2021-01-11 23:13:22 +00:00
|
|
|
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
2021-02-04 23:32:41 +00:00
|
|
|
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '$INSTDIR\\\\bin\\\\tuntap-install.exe /S'\\nExecWait '$INSTDIR\\\\bin\\\\lokinet.exe --install'\\nExecWait 'sc failure lokinet reset= 60 actions= restart/1000'\\nExecWait '$INSTDIR\\\\bin\\\\lokinet.exe -g C:\\\\ProgramData\\\\lokinet\\\\lokinet.ini'\\nCopyFiles '$INSTDIR\\\\share\\\\bootstrap.signed' C:\\\\ProgramData\\\\lokinet\\\\bootstrap.signed")
|
2020-11-11 14:55:00 +00:00
|
|
|
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "ExecWait 'net stop lokinet'\\nExecWait 'taskkill /f /t /im lokinet-gui.exe'\\nExecWait '$INSTDIR\\\\bin\\\\lokinet.exe --remove'\\nRMDir /r /REBOOTOK C:\\\\ProgramData\\\\lokinet")
|
2020-10-22 21:16:42 +00:00
|
|
|
set(CPACK_NSIS_CREATE_ICONS_EXTRA
|
2020-11-08 22:47:02 +00:00
|
|
|
"CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Lokinet.lnk' '$INSTDIR\\\\share\\\\gui\\\\lokinet-gui.exe'"
|
2020-10-22 21:16:42 +00:00
|
|
|
)
|
|
|
|
set(CPACK_NSIS_DELETE_ICONS_EXTRA
|
|
|
|
"Delete '$SMPROGRAMS\\\\$START_MENU\\\\Lokinet.lnk'"
|
|
|
|
)
|