0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

174 Commits

Author SHA1 Message Date
jp9000
9f551d11b4 cmake: Add module to find RSSDK 2016-11-19 03:04:44 -08:00
Younes SERRAJ
f029ec821e cmake: Fix FFmpeg search path on debian
Although FFmpeg is installed, OBS currently fails to build on debian
(tested on Debian Jessie 8.6).  It looks for libavcodec.a in
/usr/local/lib and not /usr/lib.

Closes jp9000/obs-studio#661
2016-10-16 01:01:34 -07:00
Jim
9cb8ae74e4 Merge pull request #635 from cortexmedia/msi-license
Display license in MSI installer
2016-10-09 17:09:25 -07:00
Colin Edwards
f1a9c139b8 Add 256x256 icon to windows ico for HiDPI displays 2016-10-08 19:41:31 -05:00
Serge Paquet
a97a9a966c Display license in MSI installer 2016-09-28 12:06:35 -04:00
jp9000
0d294cc049 cmake: Add module to find libspeexdsp 2016-07-25 20:17:13 -07:00
jp9000
670c655d41 cmake/external: Add function to install specific arch data file
Allows installing a single specific file to the data/[arch] directory.
2016-06-23 20:05:57 -07:00
jp9000
d3ece746f2 cmake/external: Fix a few external plugin script bugs
For install_external_plugin_bin_to_data and
install_external_plugin_bin_to_arch_data, they were using the
'plugin_target' variable instead of just 'target' for the plugin
directory output location, and they were using 'target' instead of
'additional_target' for the data/binaries they were supposed to be
installing.
2016-06-23 20:05:57 -07:00
jp9000
d89299fc1a vlc-video: Add VLC video source
Adds the ability to add video playlists via libvlc instead of via the
media source.  This is mostly just being added as a secondary option to
the media source to reduce maintenance costs and save time.  Currently
libff cannot pause/unpause/seek, and isn't programmed to handle
playlists yet.

If VLC is installed on the computer (with the same architecture) it will
allow video playback via libVLC.  In the future, users should be able to
optionally download VLC libraries via the installer as well if they
don't want to necessarily install VLC to get the plugin working.

This plugin performs runtime linking instead of compile-time linking;
compiling VLC is not required, only its headers are required.  To
compile, clone the VLC repository and set the VLCPath cmake variable to
point to the VLC repository directory.
2016-06-06 23:53:59 -07:00
jp9000
6014d4dc6d cmake: Also copy libvpx library for MSVC if available 2016-04-26 15:02:40 -07:00
yogpstop
4b4ddbb33e obs-outputs: Add USE_SSL option (disabled by default)
Closes jp9000/obs-studio#487
2016-02-07 15:47:18 -08:00
jp9000
b9d6c649f5 cmake: Copy ogg and vorbis libs with avcodec 2015-09-20 16:58:14 -07:00
jp9000
88ab25870e cmake: Add helper to find dbus package
The DBus library is a message bus system used to make applications
communicate with each other.  The primary reason for adding it is to
access certain service features to prevent computer sleep/hibernate/etc.

This will also create a HAVE_DBUS variable (set to 1 or 0 if found or
not found)
2015-09-12 19:15:32 -07:00
Palana
5dd030882d cmake: Add zlib support 2015-08-12 15:30:30 +02:00
jp9000
81649eab0d cmake: Add FFmpeg/x264 include header path suffix
This allows people to use the base directory of cross-compiled
dependencies (typically our dependencies.zip file), rather than always
having to specify the actual include directory.
2015-08-12 04:21:26 -07:00
jp9000
4ed1e2f03c cmake: Allow external plugins to share libobs deps
This addition allows external cmake modules to include the same modules
that are commonly distributed with the main obs-studio repo: things like
FFmpeg, curl, etc.
2015-07-18 16:41:03 -07:00
jp9000
c87d3b1f12 cmake: Rename FindFFMpeg to FindFFmpeg
This was sort of driving me crazy: The 'm' in FFmpeg isn't supposed to
be capitalized.
2015-07-18 16:32:26 -07:00
jp9000
fbf771620a cmake: Fix external plugin cmake module comments 2015-07-18 01:29:11 -07:00
jp9000
f9b9bfa9b6 cmake: Change search for "Libobs" instead of "obs" 2015-07-16 17:20:10 -07:00
jp9000
7226fc7b53 cmake: Rename FindObs.cmake to FindLibobs.cmake
Mostly done to prevent confusion between UI and libobs.
2015-07-16 17:11:52 -07:00
jp9000
6ab8d75da0 cmake: Add helper to include -isystem directories
This is mostly just a helper to prevent warnings with system includes in
XCode.
2015-07-16 16:05:08 -07:00
jp9000
bbe9a96228 cmake: Add FindObs helper for external plugin use
This is meant to be copied and used by external plugin projects for the
sake of finding and depending on OBS.
2015-07-16 15:45:34 -07:00
jp9000
6eb214b531 cmake: Add cmake module for external plugin use
This cmake module adds various cmake functions used for generating obs
plugins.  This currently may not fully support linux; this may require
more changes on linux due to the nature of the file structure linux
uses.
2015-07-16 15:45:34 -07:00
jp9000
8b5caeca10 cmake: Fix dependency cmake search paths
Fixes issues using DepsPath(32|64), was using ${lib_suffix} instead of
${_lib_suffix} so 32/64-sepcific directories wouldn't work properly.
Also the DepsPath environment/cmake variable wasn't specified for the
library search.

Also added the same dependency search paths for libfdk (if someone wants
to use it on windows for whatever reason)
2015-07-13 14:39:03 -07:00
jp9000
6f2587d21a UI: Allow cmake vars for deps and add DepsPath var
Allow cmake variables to be used to specify include directories, and
allow DepsPath or DepsPath32/64 to be used to specify dependency
locations.
2015-06-30 10:05:20 -07:00
jp9000
899557699f libobs: Add OBS_UNIX_STRUCTURE config variable
This obsconfig.h variable will be true or false depending on whether the
project is configured with the cmake UNIX_STRUCTURE variable or not.
2015-06-01 16:42:27 -07:00
jp9000
f227a46b98 cmake: Fix libcurl lookup on mac
On mac, pkg-config by default expects "libcurl" rather than "curl"
2015-05-25 16:03:23 -07:00
jp9000
39d1cda4e9 UI: Remove dependence on Qt5Network
Qt5Network has been replaced by libcurl.
2015-05-24 16:20:14 -07:00
jp9000
e3fe26d73d cmake: Add libcurl support 2015-05-24 16:20:12 -07:00
fryshorts
bd2a29ec70 cmake: Add module to find libsysinfo on FreeBSD
Add cmake module to find the sysinfo compatibility library used on
FreeBSD to emulate that linux specific system call.
2015-05-04 22:37:17 +02:00
jp9000
2054161717 UI: Add windows exe icon
Adds an icon to the executable file so the executable no longer shows up
without an icon.
2015-04-10 07:27:37 -07:00
jp9000
ee31962b85 Add CMake module to parse IDL files on Windows 2015-03-21 16:34:46 -07:00
jp9000
1f57828e83 Update CopyMSVCBins.cmake to include more files
Now includes avdevice, avfilter, postproc, and freetype if compiled as a
DLL
2015-03-11 19:26:34 -07:00
Kevin Tardif
c293c17620 Generate proper DL_OPENGL value for linux
Since we rely on the dynamic linker to find the library for us via
dlopen(), we need to have DL_OPENGL be .so.N, not the full library
filename, as ldconfig doesn't cache the full filename

Use of TARGET_SONAME_FILE requires the library to be marked as SHARED,
not MODULE

This closes pull request #370
2015-02-16 15:28:42 -05:00
Jimmy Berry
6158a7418e Allow OBS_VERSION_OVERRIDE to assist in packaging.
If OBS_VERSION_OVERRIDE is set, it will set the main OBS_VERSION
variable to its value.

(modified by Jim)
2015-02-09 08:32:01 -08:00
jp9000
2ba5782fff Add optional support for opus for FFmpeg 2015-02-07 04:50:36 -08:00
Bernd Buschinski
e04dc57e8a Initial obs-studio jack support 2015-01-25 20:42:02 +01:00
Carl Fürstenberg
6095e7ef51 Add SOVERSION to libobs-opengl
Because libobs-opengl is a public library, it's customary to have SONAME
embedded in the library file.  Also remove the prefix override and
remove the prefixing "lib" from the output name.  This also requires us
to pass the library file name to dlopen invocations.
2015-01-13 17:51:38 -08:00
Jake Probst
cc2d3b2d1c linux x11: get monitors: use xcb and add fallback if xinerama not found 2014-12-19 21:51:37 -08:00
Zachary Lund
de6e997264 Move from libX11/GLX to XCB/libX11/GLX. 2014-12-19 19:23:08 -08:00
jp9000
1b454647bd Don't copy D3D compiler binary on windows (cmake)
Copying this binary is kind of unnecessary because it's something that
everyone has as long as they update DirectX, and isn't something we can
distribute because it's a Microsoft DLL.
2014-12-15 01:27:51 -08:00
fryshorts
43184d1775 Add cmake module for finding udev.
This adds a cmake module to find udev/libudev for linux.
2014-10-14 23:57:15 +02:00
BtbN
8841ea8a6f cmake: Export plugin data destination 2014-09-27 09:41:32 -07:00
BtbN
f24f53ea27 cmake: Add helper function to install plain files 2014-09-27 09:41:32 -07:00
BtbN
73d3dbf947 cmake: Change obs helper macros to functions 2014-09-27 09:41:31 -07:00
BtbN
599febcb54 cmake: Replace FFMpeg modules with single module
Now using components instead of one find_package call per module
2014-09-27 09:41:13 -07:00
BtbN
c9d3c6c8c1 cmake: Refactor growing list of library locations 2014-09-27 09:40:45 -07:00
BtbN
9dd341a3ed cmake: Properly check for Threading support 2014-09-26 22:52:30 -07:00
jp9000
5fb149a48c Add more search directories for cmake modules
I actually did this because it makes it a bit easier to use with a
build from cross-compiled windows FFMpeg/x264 DLLs.  When compiling on
linux I just have it compile to a custom prefix directory for the
specific windows arch, then I just copy the arch dir back to my windows
HD when complete.  Adding this to the cmake allows me to use the compile
arch directories directly without modification.
2014-09-23 04:56:32 -07:00
BtbN
978ff008fe Fix major misunderstanding of cached variables in all find modules 2014-09-15 14:42:18 -07:00
BtbN
34134bfbf6 Fix AppKit find module 2014-09-15 14:42:18 -07:00
BtbN
62d7bcf841 Fix Freetype cmake module 2014-09-15 14:42:11 -07:00
BtbN
bffbe94377 Fix fontconfig cmake module 2014-09-15 14:42:01 -07:00
jp9000
12cdced337 Disable OSX app nap
This will hopefully help deal with a particular issue where the program
may go to sleep if it hasn't received input from the user for long
periods, or if a game is running in fullscreen mode apparently.
2014-08-24 08:10:51 -07:00
fryshorts
774731fbaf Use fontconfig for linux/mac
This uses fontconfig for looking up font files for freetype to use on
both linux and mac.  It's apparently a bit more optimal and prevents us
from having to worry about the load time on the mac version as well.

Refactored and moved all the old code to the find-font-windows.c file,
as it's no longer used on anything but windows.
2014-08-23 18:25:00 -07:00
BtbN
5101ca84f6 Fix HINTS/PATHS in Findv4l2 module 2014-08-21 17:37:16 +02:00
BtbN
2bf8a7dce9 Include FindPackageHandleStandardArgs.cmake in every find module using it
It just worked so far because FindCXX11 happend to include it
already, and it also happend to be the first FindModule used.
2014-08-21 16:38:49 +02:00
BtbN
5ec0d2ded4 Fix FindFreetype naming and find logic
Freetype is quite complicated, copied most of the logic from the
original FindFreetype module.
2014-08-21 16:36:21 +02:00
BtbN
997b4f9161 Fix FindIconv naming consistency 2014-08-21 15:28:44 +02:00
jp9000
b54ab482b5 Fix freetype cmake module
On fedora, the freetype cmake module would not find the correct
location.  This is because it wasn't using the pkg-cofig include
directory, which is different from the main ft2build.h header directory
(which is /usr/include).

This modification may be a good thing to do on all the cmake packages,
actually.  Currently, they all just search for the location of a
specific header, and ignore the pkg-config includes if they find it in
specific hint locations.
2014-08-20 15:17:12 -07:00
BtbN
02725acdd4 Fix double invocation of install_obs_plugin in every single plugin 2014-08-19 14:24:59 +02:00
jp9000
7f0ae838d7 Add system font lookup for mac/windows
This changes the font plugin from using a font file to using a specific
installed system font, which is searched for on each specific system and
associated with the font file.  It now uses a font property instead of a
path property, and font size has been removed because the font property
now handles that.

When the module is first loaded, it will build up a list of system fonts
in order to be usable by Freetype.  It was quite painful to program this
because font files can contain multiple localized versions of their face
names, and then there was the issue where windows likes to mangle
custom style types to the font name.  Regardless, it all seems to have
worked out pretty well.

Minor issues:
- Truetype/Opentype fonts sometimes do not automatically have
  italic and/or bold styles available, it seems that the system applies
  transformations manually in those cases.  We don't do this yet,
  however, so right now a user might select a font with italic/bold
  only to discover that italic/bold doesn't always work.  Not entirely
  sure what to do about this yet.  There's probably a freetype function
  to do something like that somehow,

This also requires that iconv be used for non-windows systems to be able
to look up localized font names within font files.  Windows will use
the win32 API and code page IDs to translate font names.
2014-08-19 02:11:37 -07:00
paibox
e1611b431c Merge Freetype text plugin 2014-08-18 00:14:02 -07:00
Jim
254b50f31f Merge pull request #217 from BtbN/cmake_changes
CMake changes for new real ffmpeg in debian experimental
2014-07-29 11:40:49 -07:00
Jim
eecc9ab937 Merge pull request #202 from fryshorts/v4l2-input
Add libv4l2 as dependency for the v4l2 plugin
2014-07-29 11:39:43 -07:00
BtbN
60ef547285 Improve/fix cmake find modules 2014-07-29 01:46:30 +02:00
BtbN
28ded1f6b6 Update ffmpeg find modules for recent changes to debian 2014-07-29 01:38:55 +02:00
fryshorts
d6f65be966 Add libv4l2 as requirement for the v4l2 plugin.
In order to convert formats not natively supported by obs the
v4l2 userspace library is required. This patch adds a cmake
script to find the library.
2014-07-26 19:29:08 +02:00
BtbN
8380d10805 Export plugin destination and relative prefix to obsconfig.h 2014-07-26 14:27:39 +02:00
BtbN
3442654259 Remove lib prefix from plugins 2014-07-26 14:09:34 +02:00
BtbN
0b7ef499c5 Add relative plugin dest obsconfig.h define 2014-07-26 14:07:14 +02:00
BtbN
cac6ad1822 Move config values from the commandline to obsconfig.h 2014-07-26 14:07:14 +02:00
jp9000
7303009ff2 Set minimum version on mac to 10.8.5 2014-07-23 17:52:41 -07:00
jp9000
f2d2b58ae2 Add support for 32/64bit environment variables
This can make it a bit easier to set up 32bit/64bit environments
separately on windows.  This simply allows you to additionally set
FFmpegPath32, FFmpegPath64, x264Path32, x264Path64, etc.
2014-07-18 22:41:23 -07:00
jp9000
85701b0925 Allow copying of all dependencies (windows only)
If the cmake user variable COPY_DEPENDENCIES is set, this script will
make it so that a windows build will automatically copy all required
dependencies (FFmpeg, x264, and Qt5) to the respective
additional_install_files\exec(32|64) directory.  This makes it much
easier to set up a development environment on windows, and much easier
to make usable test builds.

It will also copy the appropriate Direct3D compiler DLL, along with
dependencies of dependencies (the icu*.dll and EGL/GLES files for Qt)
2014-07-18 22:41:22 -07:00
jp9000
5c597102f2 Improve additional_install_files for debug/release
This improves dependency copying and adds separated debug/release
install files.
2014-07-18 22:41:11 -07:00
jp9000
fbf4d18399 Remove obsolete FindDirectX.cmake script
There's no need to find DirectX because with VS2013 and mingw it's
already available by default.  Older visual studio versions that didn't
come with DirectX by default are no longer supported anyway.

(Also mingw doesn't currently work at all due to lack of proper headers,
but once they do it'll be available in the same way.  I think.)
2014-07-19 01:38:43 +02:00
BtbN
415a698bac Add support for build time dependency copying 2014-07-19 01:38:42 +02:00
BtbN
4b5b7534aa Copy and install PDB files on msvc builds 2014-07-19 01:38:41 +02:00
jp9000
fa70b40587 Rename cpack description summary (also fix typo) 2014-07-15 17:00:03 -07:00
jp9000
a32139709f Fix cmake app package issue
Currently the Info.plist file names the app package as OBS.app and cmake
is trying to use 'OBS Studio.app'.  I renamed it to OBS for the time
being just because we don't currently have actual studio interface yet.
2014-07-15 16:38:25 -07:00
jp9000
9cc1b43820 Change mac package name to just 'OBS' 2014-07-14 11:46:57 -07:00
BtbN
5c89e2c548 Also use lightweight tags for git describe 2014-07-13 21:59:03 +02:00
BtbN
6d8146f6f0 Honor QUIET argument in FindJansson 2014-06-18 06:24:21 +02:00
BtbN
602b048089 Unset cached variables on failure in Jansson find module 2014-05-25 16:37:49 +02:00
BtbN
2cc24dccab Add support for external jansson 2014-05-24 15:47:03 +02:00
BtbN
5f96d478c5 Fix fdk-aac library search names 2014-05-23 05:12:55 +02:00
BtbN
9daaacd76a Add Libfdk find module 2014-05-22 13:03:47 +02:00
BtbN
e2c2e50f4c Fix ffmpeg/x264 find modules according to cmake find module naming conventions 2014-05-22 13:03:47 +02:00
BtbN
6a63e4fecc Fix cpack problem 2014-05-08 14:43:16 +02:00
BtbN
34923f1f83 Also export a plugin destination, so external plugins know where to install stuff 2014-05-08 14:43:16 +02:00
BtbN
7abf95be27 Use relative path in installed cmake file 2014-05-08 14:43:16 +02:00
BtbN
4959db83d4 Fix absolute path detection 2014-05-08 14:43:16 +02:00
BtbN
38594fff9e Export libobs cmake target, so external plugins can be built without ugly hacks 2014-05-08 14:43:16 +02:00
BtbN
075820028f Improve bundle fixup 2014-04-13 11:05:46 -07:00
BtbN
044680f0b8 Add config.h generation and wrapper header, currently only for OBS_VERSION 2014-04-01 22:11:44 +02:00
BtbN
221a69298b Add a new install function to install targets into the datadir structure
This is mainly intended to be used for preloaded/injected DLLs, which
don't belong into the libdir or plugindir.
2014-04-01 21:33:07 +02:00
jp9000
590a486343 Updated cmake files for ffmpeg plugin
Also, fixed an enum name issue.  No clue why visual
studio actually compiled that without warnings/errors
2014-02-10 07:14:51 -08:00
BtbN
e9c22c3b8d Move CPack win32 generator from NSIS to WIX 2014-02-02 22:38:21 +01:00
BtbN
a79124e413 Add guessed paths for Win8 and Win81 SDK to DirectX search paths 2014-01-29 14:56:40 +01:00