From bd60958b2f145a866c0f1d2063045de6101f4ed6 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Wed, 30 Oct 2019 11:16:26 +0100 Subject: [PATCH] ci: Also build InnoSetup installer on Github Actions --- .github/workflows/main.yml | 9 ++++++++- CMakeLists.txt | 9 +++++++++ cmake/installer.iss.in | 6 +++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f012c6b..854d073 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,8 +37,15 @@ jobs: run: | mkdir build/package node ./ci/packager.js + - name: "Package Installer (Prereqs)" + run: | + curl "-kL" "https://cdn.xaymar.com/ci/innosetup-6.0.3.exe" "-f" "--retry" "5" "-o" "inno.exe" + .\inno.exe /VERYSILENT /SP- /SUPPRESSMSGBOXES /NORESTART + - name: "Package Installer (Compile)" + run: | + & 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe' /Qp ".\build\64\installer.iss" - name: "Upload Artifacts" uses: actions/upload-artifact@v1 with: name: ${{ matrix.os }} - path: build/package + path: build/package \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 8354103..f2cb83d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,18 +116,27 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") configure_file( "${PROJECT_SOURCE_DIR}/cmake/version.hpp.in" "${PROJECT_BINARY_DIR}/source/version.hpp" + @ONLY ) configure_file( "${PROJECT_SOURCE_DIR}/cmake/module.cpp.in" "${PROJECT_BINARY_DIR}/source/module.cpp" + @ONLY ) # Windows if (WIN32) ## Installer (InnoSetup) + get_filename_component(ISS_FILES_DIR "${CMAKE_INSTALL_PREFIX}" ABSOLUTE) + file(TO_NATIVE_PATH "${ISS_FILES_DIR}" ISS_FILES_DIR) + get_filename_component(ISS_PACKAGE_DIR "${CMAKE_PACKAGE_PREFIX}" ABSOLUTE) + file(TO_NATIVE_PATH "${ISS_PACKAGE_DIR}" ISS_PACKAGE_DIR) + get_filename_component(ISS_SOURCE_DIR "${PROJECT_SOURCE_DIR}" ABSOLUTE) + file(TO_NATIVE_PATH "${ISS_SOURCE_DIR}" ISS_SOURCE_DIR) configure_file( "${PROJECT_SOURCE_DIR}/cmake/installer.iss.in" "${PROJECT_BINARY_DIR}/installer.iss" + @ONLY ) # Windows Specific Resource Definition diff --git a/cmake/installer.iss.in b/cmake/installer.iss.in index 45ed283..680ce5e 100644 --- a/cmake/installer.iss.in +++ b/cmake/installer.iss.in @@ -21,8 +21,8 @@ AppUpdatesURL={#MyAppURL} DefaultDirName={code:GetDirName} DefaultGroupName={#MyAppName} AllowNoIcons=yes -LicenseFile="@PROJECT_SOURCE_DIR@/LICENSE" -OutputDir="@CMAKE_INSTALL_PREFIX@/../" +LicenseFile="@ISS_SOURCE_DIR@/LICENSE" +OutputDir="@ISS_PACKAGE_DIR@" OutputBaseFilename=obs-ffmpeg-encoder-{#MyAppVersion} Compression=lzma SolidCompression=yes @@ -34,7 +34,7 @@ VersionInfoDescription={#MyAppName} Setup Name: "english"; MessagesFile: "compiler:Default.isl" [Files] -Source: "@CMAKE_INSTALL_PREFIX@/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "@ISS_FILES_DIR@/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons]