ci: Build Installers and rename to StreamFX
This commit is contained in:
parent
133d8cf599
commit
a99030f5c0
|
@ -25,17 +25,20 @@ jobs:
|
||||||
with:
|
with:
|
||||||
node-version: 10
|
node-version: 10
|
||||||
- name: Configure & Compile
|
- name: Configure & Compile
|
||||||
|
shell: bash
|
||||||
env:
|
env:
|
||||||
CMAKE_GENERATOR_32: ${{ matrix.generator_32 }}
|
CMAKE_GENERATOR_32: ${{ matrix.generator_32 }}
|
||||||
CMAKE_GENERATOR_64: ${{ matrix.generator_64 }}
|
CMAKE_GENERATOR_64: ${{ matrix.generator_64 }}
|
||||||
CMAKE_SYSTEM_VERSION: ${{ matrix.sysversion }}
|
CMAKE_SYSTEM_VERSION: ${{ matrix.sysversion }}
|
||||||
run: node ./ci/builder.js
|
run: node ./ci/builder.js
|
||||||
- name: Package
|
- name: Package
|
||||||
|
shell: bash
|
||||||
env:
|
env:
|
||||||
CMAKE_GENERATOR_32: ${{ matrix.generator_32 }}
|
CMAKE_GENERATOR_32: ${{ matrix.generator_32 }}
|
||||||
CMAKE_GENERATOR_64: ${{ matrix.generator_64 }}
|
CMAKE_GENERATOR_64: ${{ matrix.generator_64 }}
|
||||||
run: |
|
run: |
|
||||||
mkdir build/package
|
mkdir build/package
|
||||||
|
ls build/
|
||||||
node ./ci/packager.js
|
node ./ci/packager.js
|
||||||
- name: "Package Installer (Prereqs)"
|
- name: "Package Installer (Prereqs)"
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -38,7 +38,7 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/.git")
|
||||||
set(VERSION_TWEAK ${GIT_OUTPUT})
|
set(VERSION_TWEAK ${GIT_OUTPUT})
|
||||||
endif()
|
endif()
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND git rev-parse HEAD
|
COMMAND git rev-parse --short=8 HEAD
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||||
RESULT_VARIABLE GIT_RESULT
|
RESULT_VARIABLE GIT_RESULT
|
||||||
OUTPUT_VARIABLE GIT_OUTPUT
|
OUTPUT_VARIABLE GIT_OUTPUT
|
||||||
|
@ -51,11 +51,11 @@ endif()
|
||||||
|
|
||||||
# Define Project
|
# Define Project
|
||||||
project(
|
project(
|
||||||
obs-stream-effects
|
StreamFX
|
||||||
VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_TWEAK}
|
VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_TWEAK}
|
||||||
)
|
)
|
||||||
set(PROJECT_FULL_NAME "Stream Effects for OBS Studio")
|
set(PROJECT_FULL_NAME "StreamFX for OBS Studio")
|
||||||
set(PROJECT_DESCRIPTION "New Sources, Filters and Transitions for OBS Studio")
|
set(PROJECT_DESCRIPTION "Adds new Effects, like Sources, Transitions and Filters to OBS Studio.")
|
||||||
set(PROJECT_AUTHORS "Michael Fabian 'Xaymar' Dirks <info@xaymar.com>")
|
set(PROJECT_AUTHORS "Michael Fabian 'Xaymar' Dirks <info@xaymar.com>")
|
||||||
set(PROJECT_COPYRIGHT_YEARS "2018 - 2019")
|
set(PROJECT_COPYRIGHT_YEARS "2018 - 2019")
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ endif()
|
||||||
math(EXPR BITS "8*${CMAKE_SIZEOF_VOID_P}")
|
math(EXPR BITS "8*${CMAKE_SIZEOF_VOID_P}")
|
||||||
if("${BITS}" STREQUAL "32")
|
if("${BITS}" STREQUAL "32")
|
||||||
set(ARCH "x86")
|
set(ARCH "x86")
|
||||||
message(STATUS "Stream Effects no longer supports 32-bit builds, you are on your own if you continue.")
|
message(STATUS "StreamFX no longer supports 32-bit builds, you are on your own if you continue.")
|
||||||
else()
|
else()
|
||||||
set(ARCH "x64")
|
set(ARCH "x64")
|
||||||
endif()
|
endif()
|
||||||
|
@ -121,7 +121,28 @@ set(_CXX_STANDARD 17)
|
||||||
set(_CXX_EXTENSIONS OFF)
|
set(_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# CMake / Compiler
|
# Options
|
||||||
|
################################################################################
|
||||||
|
set(${PropertyPrefix}OBS_NATIVE FALSE CACHE BOOL "Use native obs-studio build" FORCE)
|
||||||
|
set(${PropertyPrefix}OBS_REFERENCE FALSE CACHE BOOL "Use referenced obs-studio build" FORCE)
|
||||||
|
set(${PropertyPrefix}OBS_PACKAGE FALSE CACHE BOOL "Use packaged obs-studio build" FORCE)
|
||||||
|
set(${PropertyPrefix}OBS_DOWNLOAD FALSE CACHE BOOL "Use downloaded obs-studio build" FORCE)
|
||||||
|
mark_as_advanced(FORCE OBS_NATIVE OBS_PACKAGE OBS_REFERENCE OBS_DOWNLOAD)
|
||||||
|
|
||||||
|
if(NOT TARGET libobs)
|
||||||
|
set(${PropertyPrefix}OBS_STUDIO_DIR "" CACHE PATH "OBS Studio Source/Package Directory")
|
||||||
|
set(${PropertyPrefix}OBS_DOWNLOAD_VERSION "24.0.3-ci" CACHE STRING "OBS Studio Version to download")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT ${PropertyPrefix}OBS_NATIVE)
|
||||||
|
set(${PropertyPrefix}OBS_DEPENDENCIES_DIR "" CACHE PATH "Path to OBS Dependencies")
|
||||||
|
set(CMAKE_PACKAGE_PREFIX "${CMAKE_BINARY_DIR}" CACHE PATH "Path for generated archives.")
|
||||||
|
set(CMAKE_PACKAGE_NAME "${PROJECT_NAME}" CACHE STRING "Name for the generated archives.")
|
||||||
|
set(CMAKE_PACKAGE_SUFFIX_OVERRIDE "" CACHE STRING "Override for the suffix.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# CMake / Compiler Dependencies
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Configure Version Header
|
# Configure Version Header
|
||||||
|
@ -134,9 +155,23 @@ configure_file(
|
||||||
"${PROJECT_BINARY_DIR}/source/module.cpp"
|
"${PROJECT_BINARY_DIR}/source/module.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Packaging
|
||||||
|
if("${CMAKE_PACKAGE_SUFFIX_OVERRIDE}" STREQUAL "")
|
||||||
|
set(_PACKAGE_SUFFIX_OVERRIDE "${PROJECT_VERSION}-${PROJECT_COMMIT}")
|
||||||
|
else()
|
||||||
|
set(_PACKAGE_SUFFIX_OVERRIDE "${CMAKE_PACKAGE_SUFFIX_OVERRIDE}")
|
||||||
|
endif()
|
||||||
|
set(_PACKAGE_FULL_NAME "${CMAKE_PACKAGE_PREFIX}/${CMAKE_PACKAGE_NAME}-${_PACKAGE_SUFFIX_OVERRIDE}")
|
||||||
|
|
||||||
# Windows
|
# Windows
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
## Installer (InnoSetup)
|
## 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(
|
configure_file(
|
||||||
"${PROJECT_SOURCE_DIR}/cmake/installer.iss.in"
|
"${PROJECT_SOURCE_DIR}/cmake/installer.iss.in"
|
||||||
"${PROJECT_BINARY_DIR}/installer.iss"
|
"${PROJECT_BINARY_DIR}/installer.iss"
|
||||||
|
@ -156,31 +191,6 @@ if(WIN32)
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Options
|
|
||||||
################################################################################
|
|
||||||
set(${PropertyPrefix}OBS_NATIVE FALSE CACHE BOOL "Use native obs-studio build" FORCE)
|
|
||||||
set(${PropertyPrefix}OBS_REFERENCE FALSE CACHE BOOL "Use referenced obs-studio build" FORCE)
|
|
||||||
set(${PropertyPrefix}OBS_PACKAGE FALSE CACHE BOOL "Use packaged obs-studio build" FORCE)
|
|
||||||
set(${PropertyPrefix}OBS_DOWNLOAD FALSE CACHE BOOL "Use downloaded obs-studio build" FORCE)
|
|
||||||
mark_as_advanced(FORCE OBS_NATIVE OBS_PACKAGE OBS_REFERENCE OBS_DOWNLOAD)
|
|
||||||
|
|
||||||
if(NOT TARGET libobs)
|
|
||||||
set(${PropertyPrefix}OBS_STUDIO_DIR "" CACHE PATH "OBS Studio Source/Package Directory")
|
|
||||||
set(${PropertyPrefix}OBS_DOWNLOAD_VERSION "24.0.0-rc2-ci" CACHE STRING "OBS Studio Version to download")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT ${PropertyPrefix}OBS_NATIVE)
|
|
||||||
set(${PropertyPrefix}OBS_DEPENDENCIES_DIR "" CACHE PATH "Path to OBS Dependencies")
|
|
||||||
set(CMAKE_PACKAGE_PREFIX "${CMAKE_BINARY_DIR}" CACHE PATH "Path for generated archives.")
|
|
||||||
set(CMAKE_PACKAGE_NAME "${PROJECT_NAME}" CACHE STRING "Name for the generated archives.")
|
|
||||||
set(CMAKE_PACKAGE_SUFFIX_OVERRIDE "" CACHE STRING "Override for the suffix.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Dependencies
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Detect OBS Studio Type
|
# Detect OBS Studio Type
|
||||||
if(TARGET libobs)
|
if(TARGET libobs)
|
||||||
message(STATUS "${PROJECT_NAME}: Using native obs-studio.")
|
message(STATUS "${PROJECT_NAME}: Using native obs-studio.")
|
||||||
|
@ -568,22 +578,16 @@ else()
|
||||||
DESTINATION "./data/obs-plugins/${PROJECT_NAME}/"
|
DESTINATION "./data/obs-plugins/${PROJECT_NAME}/"
|
||||||
)
|
)
|
||||||
|
|
||||||
if("${CMAKE_PACKAGE_SUFFIX_OVERRIDE}" STREQUAL "")
|
|
||||||
set(PackageFullName "${CMAKE_PACKAGE_PREFIX}/${CMAKE_PACKAGE_NAME}-${PROJECT_VERSION}")
|
|
||||||
else()
|
|
||||||
set(PackageFullName "${CMAKE_PACKAGE_PREFIX}/${CMAKE_PACKAGE_NAME}-${CMAKE_PACKAGE_SUFFIX_OVERRIDE}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
PACKAGE_7Z
|
PACKAGE_7Z
|
||||||
${CMAKE_COMMAND} -E tar cfv "${PackageFullName}.7z" --format=7zip --
|
${CMAKE_COMMAND} -E tar cfv "${_PACKAGE_FULL_NAME}.7z" --format=7zip --
|
||||||
"${CMAKE_INSTALL_PREFIX}/obs-plugins"
|
"${CMAKE_INSTALL_PREFIX}/obs-plugins"
|
||||||
"${CMAKE_INSTALL_PREFIX}/data"
|
"${CMAKE_INSTALL_PREFIX}/data"
|
||||||
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
||||||
)
|
)
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
PACKAGE_ZIP
|
PACKAGE_ZIP
|
||||||
${CMAKE_COMMAND} -E tar cfv "${PackageFullName}.zip" --format=zip --
|
${CMAKE_COMMAND} -E tar cfv "${_PACKAGE_FULL_NAME}.zip" --format=zip --
|
||||||
"${CMAKE_INSTALL_PREFIX}/obs-plugins"
|
"${CMAKE_INSTALL_PREFIX}/obs-plugins"
|
||||||
"${CMAKE_INSTALL_PREFIX}/data"
|
"${CMAKE_INSTALL_PREFIX}/data"
|
||||||
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
||||||
|
|
|
@ -11,9 +11,9 @@ if ((process.platform == "win32") || (process.platform == "win64")) {
|
||||||
// Windows
|
// Windows
|
||||||
let extra_conf = [
|
let extra_conf = [
|
||||||
`-DCMAKE_SYSTEM_VERSION=${process.env.CMAKE_SYSTEM_VERSION}`,
|
`-DCMAKE_SYSTEM_VERSION=${process.env.CMAKE_SYSTEM_VERSION}`,
|
||||||
`-DCMAKE_PACKAGE_NAME=obs-ffmpeg-encoder`,
|
`-DCMAKE_PACKAGE_NAME=StreamFX`,
|
||||||
'-DCMAKE_INSTALL_PREFIX="build/distrib/"',
|
'-DCMAKE_INSTALL_PREFIX="build/distrib"',
|
||||||
'-DCMAKE_PACKAGE_PREFIX="build/package/"',
|
'-DCMAKE_PACKAGE_PREFIX="build/package"',
|
||||||
];
|
];
|
||||||
let extra_build = [
|
let extra_build = [
|
||||||
|
|
||||||
|
|
|
@ -21,9 +21,9 @@ AppUpdatesURL={#MyAppURL}
|
||||||
DefaultDirName={code:GetDirName}
|
DefaultDirName={code:GetDirName}
|
||||||
DefaultGroupName={#MyAppName}
|
DefaultGroupName={#MyAppName}
|
||||||
AllowNoIcons=yes
|
AllowNoIcons=yes
|
||||||
LicenseFile="@PROJECT_SOURCE_DIR@/LICENSE"
|
LicenseFile="@ISS_SOURCE_DIR@/LICENSE"
|
||||||
OutputDir="@CMAKE_INSTALL_PREFIX@/../"
|
OutputDir="@ISS_PACKAGE_DIR@"
|
||||||
OutputBaseFilename=obs-stream-effects-{#MyAppVersion}-@PROJECT_COMMIT@
|
OutputBaseFilename=@CMAKE_PACKAGE_NAME@-@_PACKAGE_SUFFIX_OVERRIDE@
|
||||||
Compression=lzma
|
Compression=lzma
|
||||||
SolidCompression=yes
|
SolidCompression=yes
|
||||||
VersionInfoVersion={#MyAppVersion}
|
VersionInfoVersion={#MyAppVersion}
|
||||||
|
@ -34,7 +34,7 @@ VersionInfoDescription={#MyAppName} Setup
|
||||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||||
|
|
||||||
[Files]
|
[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
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
|
|
Loading…
Reference in New Issue