From 2502183c7e1f76db58c96d2c2170757a9790a9b9 Mon Sep 17 00:00:00 2001 From: Sirius Bakke Date: Mon, 22 Jul 2019 20:04:48 +0000 Subject: [PATCH] chore: Update cmake for mxe-w32 --- CMakeLists.txt | 2 +- packaging/CMakeLists.txt | 8 +++++ packaging/fwbuilder.nsi.in | 65 +++++++++++++++++++------------------- src/gui/CMakeLists.txt | 3 ++ 4 files changed, 44 insertions(+), 34 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a7160a28a..636f21f5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,7 +76,7 @@ if(APPLE) elseif(WIN32) set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}) set(FWB_INSTALL_DATADIR release/resources) - set(FWB_INSTALL_DOCDIR release) + set(FWB_INSTALL_DOCDIR release/doc) set(FWB_INSTALL_BINDIR release) else() include(GNUInstallDirs) diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt index 900fd6210..d5cf13f8d 100644 --- a/packaging/CMakeLists.txt +++ b/packaging/CMakeLists.txt @@ -41,6 +41,14 @@ if(APPLE) set(CPACK_DMG_FORMAT "UDBZ") set(CPACK_DMG_VOLUME_NAME fwbuilder) set(CPACK_PACKAGE_FILE_NAME fwbuilder-${PROJECT_VERSION}) +elseif(WIN32) +configure_file(fwbuilder.nsi.in fwbuilder.nsi @ONLY) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/fwbuilder.nsi + fwbuilder-160x60.bmp + fwbuilder-164x314.bmp + DESTINATION ${CMAKE_INSTALL_PREFIX}/release) endif() include(CPack) diff --git a/packaging/fwbuilder.nsi.in b/packaging/fwbuilder.nsi.in index 4939c2425..2c1bd2ba6 100755 --- a/packaging/fwbuilder.nsi.in +++ b/packaging/fwbuilder.nsi.in @@ -11,12 +11,12 @@ Var STARTMENU_FOLDER ; GENERATION is used to build the path in the registry, it should be coordinated ; with the path defined in FWBSettings class ; -!define GENERATION "@GENERATION@" -!define VERSION "@VERSION@" +!define GENERATION "@PROJECT_GENERATION_SHORT@" +!define VERSION "@PROJECT_VERSION@" -!define APPNAME "FirewallBuilder-${GENERATION}" +!define APPNAME "FirewallBuilder-${VERSION}" ;------------------------------------------------------------------------------ ; GetWindowsVersion @@ -137,7 +137,7 @@ FunctionEnd setCompressor lzma - Name "Firewall Builder ${GENERATION}" + Name "Firewall Builder ${VERSION}" Caption "Firewall Builder installation" OutFile "fwbuilder-${VERSION}.exe" @@ -243,8 +243,6 @@ Section "FWBuilder (required)" File "doc\README.nxosacl" File "doc\README.junos" - File /oname=fwbuilder.ico "fwbuilder-windows.ico" - File /a "fwbuilder.exe" File /a "fwbedit.exe" File /a "fwb_iosacl.exe" @@ -259,31 +257,32 @@ Section "FWBuilder (required)" ; Install Qt and its dependencies - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Core.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Gui.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Network.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5PrintSupport.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Widgets.dll" - File /r "/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/platforms" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libbz2.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libgcc_s_sjlj-1.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libglib-2.0-0.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libharfbuzz-0.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libiconv-2.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libintl-8.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpcre-1.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpcre16-0.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpcre2-16-0.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpng16-16.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libstdc++-6.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libwinpthread-1.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libxml2-2.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libxslt-1.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/ssleay32.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/zlib1.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libeay32.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libfreetype-6.dll" - File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/liblzma-5.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Core.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Gui.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Network.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5PrintSupport.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/qt5/bin/Qt5Widgets.dll" + File /r "/opt/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/platforms" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libbz2.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libgcc_s_sjlj-1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libglib-2.0-0.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libharfbuzz-0.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libiconv-2.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libintl-8.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libpcre-1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libpcre16-0.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libpcre2-16-0.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libpng16-16.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libstdc++-6.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libwinpthread-1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libxml2-2.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libxslt-1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/zlib1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libssl-1_1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libcrypto-1_1.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libfreetype-6.dll" + File "/opt/mxe/usr/i686-w64-mingw32.shared/bin/liblzma-5.dll" + File /nonfatal "/opt/mxe/usr/i686-w64-mingw32.shared/bin/libzstd.dll" ; Install RCS for these files ; @@ -304,7 +303,7 @@ Section "FWBuilder (required)" WriteRegStr HKLM Software\NetCitadel\${APPNAME} "Install_Dir" "$INSTDIR" ; Write the uninstall keys for Windows - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\FWBuilder ${GENERATION}" "DisplayName" "Firewall Builder ${GENERATION}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\FWBuilder ${GENERATION}" "DisplayName" "Firewall Builder ${VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\FWBuilder ${GENERATION}" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\FWBuilder ${GENERATION}" "Publisher" "https://github.com/fwbuilder" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\FWBuilder ${GENERATION}" "DisplayVersion" "${VERSION}" @@ -344,7 +343,7 @@ Section "FWBuilder (required)" ; SetShellVarContext all CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\FWBuilder.lnk" "$INSTDIR\fwbuilder.exe" "" "$INSTDIR\fwbuilder.ico" + CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\FWBuilder.lnk" "$INSTDIR\fwbuilder.exe" "" "$INSTDIR\fwbuilder.exe" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 !insertmacro MUI_STARTMENU_WRITE_END diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index dbb61d5d7..bc5008da3 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -8,6 +8,9 @@ set(fwbuilder-gui_srcs if(APPLE) set_source_files_properties(${APP_ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) add_executable(fwbuilder-gui MACOSX_BUNDLE ${fwbuilder-gui_srcs} ${APP_ICON_FILE}) +elseif(WIN32) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mwindows") + add_executable(fwbuilder-gui ${fwbuilder-gui_srcs} fwbuilder-windows.rc) else() add_executable(fwbuilder-gui ${fwbuilder-gui_srcs}) endif()