mirror of https://github.com/Xaymar/obs-StreamFX
Compare commits
8 Commits
2277c60e5e
...
43dbd81d0e
Author | SHA1 | Date |
---|---|---|
Michael Fabian 'Xaymar' Dirks | 43dbd81d0e | |
Michael Fabian 'Xaymar' Dirks | b373ba17d3 | |
Michael Fabian 'Xaymar' Dirks | 69a6849033 | |
Michael Fabian 'Xaymar' Dirks | b5c4c27463 | |
Isaac Nudelman | 487769fd15 | |
Michael Fabian 'Xaymar' Dirks | 0efbaa6afb | |
Michael Fabian 'Xaymar' Dirks | 9a8be4d8e7 | |
Michael Fabian 'Xaymar' Dirks | 34f0306040 |
|
@ -312,24 +312,13 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
runner: [ "ubuntu-22.04", "ubuntu-20.04" ]
|
||||
compiler: [ "GCC-12", "GCC-11", "Clang-16" ]
|
||||
qt: [ 5, 6 ]
|
||||
runner: [ "ubuntu-22.04" ]
|
||||
compiler: [ "GCC-12", "Clang-16" ]
|
||||
qt: [ 6 ]
|
||||
CMAKE_GENERATOR: [ "Ninja Multi-Config" ]
|
||||
exclude:
|
||||
- runner: "ubuntu-22.04"
|
||||
qt: 5
|
||||
- runner: "ubuntu-22.04"
|
||||
compiler: "GCC-11"
|
||||
- runner: "ubuntu-20.04"
|
||||
qt: 6
|
||||
- runner: "ubuntu-20.04"
|
||||
compiler: "GCC-12"
|
||||
include:
|
||||
- runner: "ubuntu-22.04"
|
||||
name: "Ubuntu 22.04"
|
||||
- runner: "ubuntu-20.04"
|
||||
name: "Ubuntu 20.04"
|
||||
runs-on: "${{ matrix.runner }}"
|
||||
name: "${{ matrix.name }} (${{ matrix.compiler }}, Qt${{ matrix.qt }})"
|
||||
env:
|
||||
|
@ -383,13 +372,8 @@ jobs:
|
|||
id: qt
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ ${{ matrix.qt }} -eq 5 ]]; then
|
||||
sudo apt-get -y install -V \
|
||||
qtbase5-dev qtbase5-private-dev libqt5svg5-dev
|
||||
elif [[ ${{ matrix.qt }} -eq 6 ]]; then
|
||||
sudo apt-get -y install -V \
|
||||
qt6-base-dev qt6-base-private-dev libqt6svg6-dev libgles2-mesa-dev libegl1-mesa-dev libgl1-mesa-dev
|
||||
fi
|
||||
sudo apt-get -y install -V \
|
||||
qt6-base-dev qt6-base-private-dev libqt6svg6-dev libgles2-mesa-dev libegl1-mesa-dev libgl1-mesa-dev
|
||||
- name: "Dependency: Prebuilt OBS Studio Dependencies"
|
||||
id: obsdeps
|
||||
shell: bash
|
||||
|
@ -460,9 +444,6 @@ jobs:
|
|||
-DCMAKE_C_COMPILER="${{ env.CMAKE_C_COMPILER }}" \
|
||||
-DCMAKE_CXX_COMPILER="${{ env.CMAKE_CXX_COMPILER }}" \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/build/ci/install" \
|
||||
-DPACKAGE_NAME="streamfx-${{ env.PACKAGE_NAME }}" \
|
||||
-DPACKAGE_PREFIX="${{ github.workspace }}/build/package" \
|
||||
-Dlibobs_DIR="${{ github.workspace }}/build/obs/install"
|
||||
- name: "Build: Debug"
|
||||
continue-on-error: true
|
||||
|
|
249
CMakeLists.txt
249
CMakeLists.txt
|
@ -5,6 +5,7 @@
|
|||
# Copyright (C) 2021 Christopher P Yarger <cpyarger@gmail.com>
|
||||
# Copyright (C) 2022 Carsten Braun <info@braun-cloud.de>
|
||||
# Copyright (C) 2022 Romain Vigier <romain@romainvigier.fr>
|
||||
# Copyright (C) 2023 Isaac Nudelman <isaac.nudelman@utexas.edu>
|
||||
# AUTOGENERATED COPYRIGHT HEADER END
|
||||
|
||||
# CMake Setup
|
||||
|
@ -302,11 +303,8 @@ endif()
|
|||
|
||||
# Installation / Packaging
|
||||
if(STANDALONE)
|
||||
set(STRUCTURE_UNIFIED CACHE BOOL "Install for use in a Plugin Manager")
|
||||
if(D_PLATFORM_LINUX)
|
||||
set(STRUCTURE_PACKAGEMANAGER CACHE BOOL "Install for use in a Package Manager (system-wide installation)")
|
||||
elseif(D_PLATFORM_MAC)
|
||||
set(STRUCTURE_BUNDLE ON CACHE BOOL "Install as a Loadable Bundle (.plugin)")
|
||||
endif()
|
||||
|
||||
set(PACKAGE_PREFIX "${CMAKE_BINARY_DIR}" CACHE PATH "Where to place the packages?")
|
||||
|
@ -1050,7 +1048,7 @@ function(streamfx_add_component COMPONENT_NAME)
|
|||
set(COMPONENT_ALIAS "StreamFX::${COMPONENT_SANITIZED_NAME}")
|
||||
set(COMPONENT_ALIAS "${COMPONENT_ALIAS}" PARENT_SCOPE)
|
||||
|
||||
streamfx_add_library(${COMPONENT_TARGET} OBJECT EXCLUDE_FROM_ALL)
|
||||
streamfx_add_library(${COMPONENT_TARGET} STATIC EXCLUDE_FROM_ALL)
|
||||
add_library(${COMPONENT_ALIAS} ALIAS ${COMPONENT_TARGET})
|
||||
set_target_properties(${COMPONENT_TARGET} PROPERTIES
|
||||
COMPONENT_LABEL "${COMPONENT_NAME}"
|
||||
|
@ -1059,10 +1057,7 @@ function(streamfx_add_component COMPONENT_NAME)
|
|||
)
|
||||
|
||||
# Always depend on StreamFX::Core
|
||||
target_link_libraries(${COMPONENT_TARGET}
|
||||
PUBLIC
|
||||
StreamFX_Core
|
||||
)
|
||||
target_link_libraries(${COMPONENT_TARGET} PRIVATE $<LINK_LIBRARY:WHOLE_ARCHIVE,StreamFX_Core>)
|
||||
|
||||
# Register the component globally.
|
||||
get_target_property(_DEPENDS StreamFX COMPONENT_DEPENDS)
|
||||
|
@ -1267,9 +1262,7 @@ else()
|
|||
)
|
||||
endif()
|
||||
|
||||
if(D_PLATFORM_WINDOWS)
|
||||
# Windows-exclusive
|
||||
|
||||
if(D_PLATFORM_WINDOWS) # Windows-exclusive
|
||||
# Version Resource
|
||||
set(PROJECT_PRODUCT_NAME "${PROJECT_FULL_NAME}")
|
||||
set(PROJECT_COMPANY_NAME "${PROJECT_AUTHORS}")
|
||||
|
@ -1286,57 +1279,22 @@ if(D_PLATFORM_WINDOWS)
|
|||
"templates/windows/version.rc.in"
|
||||
"${PROJECT_BINARY_DIR}/generated/version.rc"
|
||||
)
|
||||
elseif(D_PLATFORM_MAC)
|
||||
# MacOS exclusive Changes
|
||||
|
||||
elseif(D_PLATFORM_MAC) # MacOS exclusive Changes
|
||||
set_target_properties(StreamFX PROPERTIES
|
||||
# No automatic code signing in XCode
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
|
||||
XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO"
|
||||
|
||||
# @rpath in installed binaries
|
||||
INSTALL_RPATH "@executable_path/../Frameworks/;@loader_path/../Frameworks/;@loader_path/../Resources/"
|
||||
)
|
||||
|
||||
if(STANDALONE)
|
||||
set_target_properties(StreamFX PROPERTIES
|
||||
# @rpath in built binaries
|
||||
BUILD_WITH_INSTALL_RPATH ON
|
||||
)
|
||||
endif()
|
||||
|
||||
# Bundle exporting
|
||||
if(STRUCTURE_BUNDLE)
|
||||
# Proper location for resources in Bundles
|
||||
foreach(FILE IN LISTS PROJECT_DATA)
|
||||
cmake_path(ABSOLUTE_PATH FILE OUTPUT_VARIABLE FILE_PATH)
|
||||
cmake_path(RELATIVE_PATH FILE_PATH BASE_DIRECTORY "${PROJECT_SOURCE_DIR}/data/")
|
||||
cmake_path(GET FILE_PATH PARENT_PATH FILE_PATH)
|
||||
set_source_files_properties("${FILE}" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources/${FILE_PATH}"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
# Bundle Icon
|
||||
set_source_files_properties("media/icon.png" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources"
|
||||
)
|
||||
|
||||
# Bundle Information
|
||||
set(MACOSX_BUNDLE_BUNDLE_NAME "StreamFX")
|
||||
set(MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}")
|
||||
set(MACOSX_BUNDLE_COPYRIGHT "${PROJECT_COPYRIGHT}")
|
||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_IDENTIFER}")
|
||||
set(MACOSX_BUNDLE_ICON_FILE "icon.png")
|
||||
set(MACOSX_BUNDLE_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
|
||||
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${_VERSION}")
|
||||
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}")
|
||||
set_target_properties(StreamFX PROPERTIES
|
||||
BUNDLE ON
|
||||
BUNDLE_EXTENSION "plugin"
|
||||
OUTPUT_NAME StreamFX
|
||||
MACOSX_BUNDLE_INFO_PLIST "${PROJECT_SOURCE_DIR}/templates/macos/Info.plist.in"
|
||||
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${MACOSX_BUNDLE_GUI_IDENTIFIER}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Set file version
|
||||
|
@ -1540,7 +1498,6 @@ while(_UNRESOLVED)
|
|||
endwhile()
|
||||
|
||||
#- Linking
|
||||
target_link_libraries(StreamFX PUBLIC StreamFX_Core)
|
||||
foreach(_ENTITY ${_RESOLVED})
|
||||
set(RENTITY "StreamFX_${_ENTITY}")
|
||||
get_target_property(_DEPENDS "${RENTITY}" COMPONENT_DEPENDS)
|
||||
|
@ -1555,7 +1512,7 @@ foreach(_ENTITY ${_RESOLVED})
|
|||
if(T_CHECK)
|
||||
target_link_libraries(${RENTITY}
|
||||
PUBLIC
|
||||
${RENTITY2}
|
||||
$<LINK_LIBRARY:WHOLE_ARCHIVE,${RENTITY2}>
|
||||
)
|
||||
endif()
|
||||
endforeach()
|
||||
|
@ -1563,65 +1520,18 @@ foreach(_ENTITY ${_RESOLVED})
|
|||
|
||||
target_link_libraries(StreamFX
|
||||
PRIVATE
|
||||
${RENTITY}
|
||||
$<LINK_LIBRARY:WHOLE_ARCHIVE,${RENTITY}>
|
||||
)
|
||||
endforeach()
|
||||
|
||||
target_link_libraries(StreamFX PUBLIC $<LINK_LIBRARY:WHOLE_ARCHIVE,StreamFX_Core>)
|
||||
|
||||
################################################################################
|
||||
# Installation
|
||||
################################################################################
|
||||
|
||||
if(STANDALONE)
|
||||
if(STRUCTURE_UNIFIED)
|
||||
install(
|
||||
DIRECTORY "data/"
|
||||
DESTINATION "data/"
|
||||
FILE_PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
DIRECTORY_PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
|
||||
if(D_PLATFORM_WINDOWS)
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "bin/windows-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
|
||||
LIBRARY DESTINATION "bin/windows-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
|
||||
PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
if(MSVC)
|
||||
install(
|
||||
FILES $<TARGET_PDB_FILE:StreamFX>
|
||||
DESTINATION "bin/windows-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/"
|
||||
COMPONENT StreamFX
|
||||
OPTIONAL
|
||||
)
|
||||
endif()
|
||||
elseif(D_PLATFORM_LINUX)
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "bin/linux-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
|
||||
LIBRARY DESTINATION "bin/linux-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
|
||||
PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
elseif(D_PLATFORM_MAC)
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "bin/mac-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
|
||||
LIBRARY DESTINATION "bin/mac-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
|
||||
PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
endif()
|
||||
|
||||
install(
|
||||
FILES LICENSE
|
||||
DESTINATION "LICENSE"
|
||||
COMPONENT StreamFX
|
||||
)
|
||||
install(
|
||||
FILES icon.png
|
||||
DESTINATION "icon.png"
|
||||
COMPONENT StreamFX
|
||||
)
|
||||
elseif(D_PLATFORM_WINDOWS)
|
||||
if(D_PLATFORM_WINDOWS)
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "obs-plugins/${D_PLATFORM_BITS}bit/" COMPONENT StreamFX
|
||||
|
@ -1669,29 +1579,45 @@ if(STANDALONE)
|
|||
)
|
||||
endif()
|
||||
elseif(D_PLATFORM_MAC)
|
||||
if(STRUCTURE_BUNDLE)
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "." COMPONENT StreamFX
|
||||
LIBRARY DESTINATION "." COMPONENT StreamFX
|
||||
BUNDLE DESTINATION "." COMPONENT StreamFX
|
||||
PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
# Bundle Information
|
||||
set(MACOSX_BUNDLE_BUNDLE_NAME "StreamFX")
|
||||
set(MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}")
|
||||
set(MACOSX_BUNDLE_COPYRIGHT "${PROJECT_COPYRIGHT}")
|
||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_IDENTIFER}")
|
||||
set(MACOSX_BUNDLE_ICON_FILE "icon.png")
|
||||
set(MACOSX_BUNDLE_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
|
||||
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${_VERSION}")
|
||||
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}")
|
||||
set_target_properties(StreamFX PROPERTIES
|
||||
BUNDLE ON
|
||||
BUNDLE_EXTENSION "plugin"
|
||||
OUTPUT_NAME StreamFX
|
||||
MACOSX_BUNDLE_INFO_PLIST "${PROJECT_SOURCE_DIR}/templates/macos/Info.plist.in"
|
||||
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${MACOSX_BUNDLE_GUI_IDENTIFIER}"
|
||||
)
|
||||
|
||||
# Proper location for resources in Bundles
|
||||
foreach(FILE IN LISTS PROJECT_DATA)
|
||||
cmake_path(ABSOLUTE_PATH FILE OUTPUT_VARIABLE FILE_PATH)
|
||||
cmake_path(RELATIVE_PATH FILE_PATH BASE_DIRECTORY "${PROJECT_SOURCE_DIR}/data/")
|
||||
cmake_path(GET FILE_PATH PARENT_PATH FILE_PATH)
|
||||
set_source_files_properties("${FILE}" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources/${FILE_PATH}"
|
||||
)
|
||||
else()
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "StreamFX/bin/" COMPONENT StreamFX
|
||||
LIBRARY DESTINATION "StreamFX/bin/" COMPONENT StreamFX
|
||||
PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
install(
|
||||
DIRECTORY "data/"
|
||||
DESTINATION "StreamFX/data/"
|
||||
COMPONENT StreamFX
|
||||
FILE_PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
DIRECTORY_PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Bundle Icon
|
||||
set_source_files_properties("media/icon.png" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources"
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS StreamFX
|
||||
RUNTIME DESTINATION "." COMPONENT StreamFX
|
||||
LIBRARY DESTINATION "." COMPONENT StreamFX
|
||||
BUNDLE DESTINATION "." COMPONENT StreamFX
|
||||
PERMISSIONS WORLD_EXECUTE;WORLD_READ;OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;GROUP_EXECUTE;GROUP_READ;GROUP_WRITE
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
if(COMMAND setup_plugin_target)
|
||||
|
@ -1715,59 +1641,38 @@ if(STANDALONE)
|
|||
endif()
|
||||
set(_PACKAGE_FULL_NAME "${PACKAGE_PREFIX}/${PACKAGE_NAME}-${_PACKAGE_SUFFIX_OVERRIDE}")
|
||||
|
||||
if(STRUCTURE_UNIFIED)
|
||||
add_custom_target(
|
||||
PACKAGE_ZIP
|
||||
${CMAKE_COMMAND} -E tar cfv "${_PACKAGE_FULL_NAME}.obs" --format=zip --
|
||||
"."
|
||||
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
||||
if(D_PLATFORM_WINDOWS)
|
||||
## 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 "${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)
|
||||
|
||||
get_filename_component(ISS_MSVCHELPER_PATH "${msvc-redist-helper_BUILD_DIR}" ABSOLUTE)
|
||||
file(TO_NATIVE_PATH "${ISS_MSVCHELPER_PATH}" ISS_MSVCHELPER_PATH)
|
||||
|
||||
configure_file(
|
||||
"templates/windows/installer.iss.in"
|
||||
"installer.iss"
|
||||
)
|
||||
else()
|
||||
elseif(D_PLATFORM_MAC)
|
||||
# .pkg Installer
|
||||
set(PACKAGES_PATH_NAME "StreamFX")
|
||||
set(PACKAGES_PATH_NAME "${PACKAGES_PATH_NAME}.plugin")
|
||||
configure_file(
|
||||
"templates/macos/installer.pkgproj.in"
|
||||
"installer.pkgproj"
|
||||
)
|
||||
elseif(D_PLATFORM_LINUX)
|
||||
add_custom_target(
|
||||
PACKAGE_7Z
|
||||
PACKAGE
|
||||
${CMAKE_COMMAND} -E tar cfv "${_PACKAGE_FULL_NAME}.7z" --format=7zip --
|
||||
"."
|
||||
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
||||
)
|
||||
add_custom_target(
|
||||
PACKAGE_ZIP
|
||||
${CMAKE_COMMAND} -E tar cfv "${_PACKAGE_FULL_NAME}.zip" --format=zip --
|
||||
"."
|
||||
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
|
||||
)
|
||||
|
||||
# Windows
|
||||
if(D_PLATFORM_WINDOWS)
|
||||
## 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 "${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)
|
||||
|
||||
get_filename_component(ISS_MSVCHELPER_PATH "${msvc-redist-helper_BUILD_DIR}" ABSOLUTE)
|
||||
file(TO_NATIVE_PATH "${ISS_MSVCHELPER_PATH}" ISS_MSVCHELPER_PATH)
|
||||
|
||||
configure_file(
|
||||
"templates/windows/installer.iss.in"
|
||||
"installer.iss"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Apple MacOS
|
||||
if(D_PLATFORM_MAC)
|
||||
# .pkg Installer
|
||||
set(PACKAGES_PATH_NAME "StreamFX")
|
||||
if(STRUCTURE_BUNDLE)
|
||||
set(PACKAGES_PATH_NAME "${PACKAGES_PATH_NAME}.plugin")
|
||||
endif()
|
||||
configure_file(
|
||||
"templates/macos/installer.pkgproj.in"
|
||||
"installer.pkgproj"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
== image:https://raw.githubusercontent.com/Xaymar/obs-StreamFX/master/media/logo.png[alt="StreamFX"]
|
||||
Upgrade your setup with several modern sources, filters, transitions and encoders using StreamFX! With several performant and flexible features, you will discover new ways to build your scenes, better ways to encode your content, and take your stream to the next level. Create cool new scenes with 3D effects, add glow or shadow, or blur out content - endless choices, and all of it at your fingertips.
|
||||
|
||||
++++
|
||||
<p style="text-align: center; font-weight: bold; font-size: 1.5em;">
|
||||
|
||||
<a href="https://github.com/Xaymar/obs-StreamFX/wiki">More Information</a><br/>
|
||||
<a href="https://github.com/Xaymar/obs-StreamFX/actions"><img src="https://github.com/Xaymar/obs-StreamFX/actions/workflows/main.yml/badge.svg" alt="CI Status" /></a>
|
||||
<a href="https://crowdin.com/project/obs-stream-effects"><img src="https://badges.crowdin.net/obs-stream-effects/localized.svg" alt="Crowdin Status" /></a>
|
||||
|
||||
</p>
|
||||
++++
|
||||
|
||||
=== Support the development of StreamFX!
|
||||
++++
|
||||
<a href="https://patreon.com/join/xaymar" target="_blank">
|
||||
<img height="70px" alt="Patreon" style="height: 70px; float:right;" align="right" src="https://user-images.githubusercontent.com/437395/106462708-bd602980-6496-11eb-8f35-038577cf8fd7.jpg"/>
|
||||
</a>
|
||||
++++
|
||||
Maintaining a project like StreamFX requires time and money, of which both are in short supply. If you use any feature of StreamFX, please consider supporting StreamFX via link:https://patreon.com/xaymar[Patreon]. Even as little as 1€ per month matters a lot, plus you get a number of benefits!
|
||||
|
||||
=== License
|
||||
Licensed under link:https://github.com/Xaymar/obs-StreamFX/blob/root/LICENSE[GPLv3 (or later), see LICENSE]. Additional works included are:
|
||||
|
||||
[options="header"]
|
||||
|=================
|
||||
|Work |License |Author(s)
|
||||
|
||||
|link:https://gen.glad.sh/[GLAD]
|
||||
|link:https://github.com/Dav1dde/glad/blob/glad2/LICENSE[MIT License]
|
||||
|link:https://github.com/Dav1dde/glad/graphs/contributors?type=a[Dav1dde, madebr, BtbN, and more]
|
||||
|
||||
|link:https://github.com/nlohmann/json[JSON for Modern C++]
|
||||
|link:https://github.com/nlohmann/json/blob/develop/LICENSE.MIT[MIT License]
|
||||
|link:https://github.com/nlohmann/json/graphs/contributors?type=a[nlohmann, ChrisKtiching, nickaein, and more]
|
||||
|
||||
|link:https://github.com/NVIDIA/MAXINE-AFX-SDK[NVIDIA Maxine Audio Effects SDK]
|
||||
|link:https://github.com/NVIDIA/MAXINE-AFX-SDK/blob/master/LICENSE[MIT License]
|
||||
|link:https://nvidia.com/[NVIDIA Corporation]
|
||||
|
||||
|link:https://github.com/NVIDIA/MAXINE-AR-SDK[NVIDIA Maxine Augmented Reality SDK]
|
||||
|link:https://github.com/NVIDIA/MAXINE-Ar-SDK/blob/master/LICENSE[MIT License]
|
||||
|link:https://nvidia.com/[NVIDIA Corporation]
|
||||
|
||||
|link:https://github.com/NVIDIA/MAXINE-VFX-SDK[NVIDIA Maxine Video Effects SDK]
|
||||
|link:https://github.com/NVIDIA/MAXINE-VFX-SDK/blob/master/LICENSE[MIT License]
|
||||
|link:https://nvidia.com/[NVIDIA Corporation]
|
||||
|
||||
|link:https://github.com/obsproject/obs-studio[Open Broadcaster Software Studio]
|
||||
|link:https://github.com/obsproject/obs-studio/blob/master/COPYING[GPL-2.0 (or later)]
|
||||
|link:https://github.com/obsproject/obs-studio/graphs/contributors?type=a[jp9000, computerquip, and more]
|
||||
|
||||
|link:https://www.qt.io/[Qt 6.x]
|
||||
|link:https://www.qt.io/download-open-source[(L)GPL-3.0 (or later)]
|
||||
|link:https://www.qt.io/[The Qt Company], and open source contributors
|
||||
|
||||
|=================
|
14
README.md
14
README.md
|
@ -1,14 +0,0 @@
|
|||
![StreamFX Logo](https://raw.githubusercontent.com/Xaymar/obs-StreamFX/master/media/logo.png)
|
||||
# StreamFX
|
||||
Bring your setup to the modern day with StreamFX! With several super fast filters, new ways to build your scenes, and new encoders you can now take your stream even further. Create cool new scenes with 3D effects, make something glow or have a shadow, or blur out content - the choice is yours!
|
||||
|
||||
[![CI](https://github.com/Xaymar/obs-StreamFX/actions/workflows/main.yml/badge.svg)](https://github.com/Xaymar/obs-StreamFX/actions) [![Crowdin](https://badges.crowdin.net/obs-stream-effects/localized.svg)](https://crowdin.com/project/obs-stream-effects)
|
||||
|
||||
# Support the development of StreamFX!
|
||||
[<img align="right" alt="Patreon" src="https://user-images.githubusercontent.com/437395/106462708-bd602980-6496-11eb-8f35-038577cf8fd7.jpg" height="70px"/>](https://patreon.com/join/xaymar) Maintaining a project like StreamFX requires time and money, of which both are in short supply. If you use any feature of StreamFX, please consider supporting StreamFX via [Patreon](https://patreon.com/xaymar). Even as little as 1€ per month matters a lot, plus you get a number of benefits!
|
||||
|
||||
## Further Links
|
||||
* [Wiki](https://github.com/Xaymar/obs-StreamFX/wiki)
|
||||
* [Installation Guide](https://github.com/xaymar/obs-streamfx/wiki/Installation)
|
||||
* See BUILDING.md
|
||||
* See CONTRIBUTING.md
|
|
@ -1,5 +1,6 @@
|
|||
// AUTOGENERATED COPYRIGHT HEADER START
|
||||
// Copyright (C) 2021-2023 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
|
||||
// Copyright (C) 2023 brighten <brightenqtompkins@gmail.com>
|
||||
// AUTOGENERATED COPYRIGHT HEADER END
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue