]> git.sesse.net Git - casparcg/commitdiff
Add options for following modules:
authorDimitry Ishenko <dimitry.ishenko@gmail.com>
Tue, 3 Nov 2015 22:41:48 +0000 (17:41 -0500)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 1 May 2017 22:59:48 +0000 (00:59 +0200)
BUILD_MODULE_BLUEFISH
BUILD_MODULE_DECKLINK
BUILD_MODULE_HTML
BUILD_MODULE_PSD
BUILD_MODULE_FLASH
BUILD_MODULE_NEWTEK

To avoid building a module, add -DBUILD_MODULE_...=NO to cmake.

BOOST_INCLUDE_PATH -> Boost_INCLUDE_DIRS

Emulate find_package behaviour.

Add USE_SYSTEM_BOOST option

FFMPEG_INCLUDE_PATH -> FFmpeg_INCLUDE_DIRS
FFMPEG_BIN_PATH -> FFmpeg_BIN_DIR

Emulate find_package behaviour.

Add USE_SYSTEM_FFMPEG option

TBB_INCLUDE_PATH -> TBB_INCLUDE_DIRS
TBB_BIN_PATH -> TBB_BIN_DIR

Emulate find_package behaviour.

Add USE_SYSTEM_TBB option

GLEW_INCLUDE_PATH -> GLEW_INCLUDE_DIRS
GLEW_BIN_PATH -> GLEW_BIN_DIR

Emulate find_package behaviour.

Add USE_SYSTEM_GLEW option

FREETYPE_INCLUDE_PATH -> FREETYPE_INCLUDE_DIRS

Emulate find_package behaviour.

Add USE_SYSTEM_FREETYPE option

Formatting

FREEIMAGE_INCLUDE_PATH -> FREEIMAGE_INCLUDE_DIRS

Emulate find_package behaviour.

Add USE_SYSTEM_FREEIMAGE option

OPENAL_INCLUDE_PATH -> OPENAL_INCLUDE_DIR

Emulate find_package behaviour.

Add USE_SYSTEM_OPENAL option

Group definitions, add comments

SFML_INCLUDE_PATH -> SFML_INCLUDE_DIR

Emulate find_package behaviour.

Add USE_SYSTEM_SFML option

RXCPP_INCLUDE_PATH -> RXCPP_INCLUDE_DIRS

Emulate find_package behaviour.

ASMLIB_INCLUDE_PATH -> ASMLIB_INCLUDE_DIRS

Emulate find_package behaviour.

BLUEFISH_INCLUDE_PATH -> BLUEFISH_INCLUDE_DIRS

Emulate find_package behaviour.

Add USE_SYSTEM_FONTS option

Group CEF and GTest items

GTEST_INCLUDE_PATH -> GTEST_INCLUDE_DIRS

Emulate find_package behaviour.

Add USE_SYSTEM_GTEST option

CEF_INCLUDE_PATH -> CEF_INCLUDE_DIRS

Emulate find_package behaviour.

Add system-build-linux.sh to build against system libraries

23 files changed:
CMake/FindFFmpeg.cmake [new file with mode: 0644]
CMake/FindFreeImage.cmake [new file with mode: 0644]
CMake/FindTBB.cmake [new file with mode: 0644]
CMakeLists.txt
accelerator/CMakeLists.txt
build-scripts/system-build-linux.sh [new file with mode: 0755]
common/CMakeLists.txt
core/CMakeLists.txt
modules/CMakeLists.txt
modules/bluefish/CMakeLists.txt
modules/decklink/CMakeLists.txt
modules/ffmpeg/CMakeLists.txt
modules/flash/CMakeLists.txt
modules/html/CMakeLists.txt
modules/image/CMakeLists.txt
modules/newtek/CMakeLists.txt
modules/oal/CMakeLists.txt
modules/psd/CMakeLists.txt
modules/reroute/CMakeLists.txt
modules/screen/CMakeLists.txt
protocol/CMakeLists.txt
shell/CMakeLists.txt
unit-test/CMakeLists.txt

diff --git a/CMake/FindFFmpeg.cmake b/CMake/FindFFmpeg.cmake
new file mode 100644 (file)
index 0000000..09eb655
--- /dev/null
@@ -0,0 +1,151 @@
+# vim: ts=2 sw=2
+# - Try to find the required FFmpeg componenta (default: avformat, avutil, avcodec)
+#
+# Once done this will define
+#  FFmpeg_FOUND         - System has all the required FFmpeg components
+#  FFmpeg_INCLUDE_DIRS  - The FFmpeg components include directories
+#  FFmpeg_LIBRARIES     - Libraries needed to use the FFmpeg components
+#  FFmpeg_LIBRARY_DIRS  - Library directories
+#  FFmpeg_DEFINITIONS   - Compiler switches required for using the FFmpeg components
+#
+# For each of the components
+#   - avcodec
+#   - avdevice
+#   - avfilter
+#   - avformat
+#   - avresample
+#   - avutil
+#   - postproc
+#   - swresample
+#   - swscale
+# the following variables will be defined
+#  <component>_FOUND        - System has the <component>
+#  <component>_INCLUDE_DIRS - The <component> include directories
+#  <component>_LIBRARIES    - Libraries needed to use the <component>
+#  <component>_DEFINITIONS  - Compiler switches required for using the <component>
+#  <component>_VERSION      - The <component> version
+#
+# Copyright (c) 2006, Matthias Kretz, <kretz@kde.org>
+# Copyright (c) 2008, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2011, Michael Jansen, <kde@michael-jansen.biz>
+# Copyright (c) 2015, Dimitry Ishenko, <dimitry.ishenko@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+include(FindPackageHandleStandardArgs)
+
+# The default components were taken from a survey over other FindFFmpeg.cmake files.
+if(NOT FFmpeg_FIND_COMPONENTS)
+  set(FFmpeg_FIND_COMPONENTS avcodec avformat avutil)
+endif()
+
+#
+### Macro: set_component_found
+#
+# Marks the given component as found, 
+# if both *_LIBRARIES AND *_INCLUDE_DIRS are present.
+#
+macro(set_component_found _component )
+  if(${_component}_LIBRARIES AND ${_component}_INCLUDE_DIRS)
+    set(${_component}_FOUND TRUE)
+  endif()
+endmacro()
+
+#
+### Macro: find_component
+#
+# Checks for the given component by invoking pkgconfig
+# and then looking up the libraries and include directories.
+#
+macro(find_component _component _pkgconfig _library _header)
+
+  if(NOT WIN32)
+     find_package(PkgConfig)
+     if(PKG_CONFIG_FOUND)
+       pkg_check_modules(PC_${_component} ${_pkgconfig})
+     endif()
+  endif()
+
+  find_path(${_component}_INCLUDE_DIRS ${_header}
+    HINTS
+      ${PC_${_component}_INCLUDEDIR}
+      ${PC_${_component}_INCLUDE_DIRS}
+    PATH_SUFFIXES
+      ffmpeg
+  )
+
+  find_library(${_component}_LIBRARIES NAMES ${_library}
+    HINTS
+      ${PC_${_component}_LIBDIR}
+      ${PC_${_component}_LIBRARY_DIRS}
+  )
+
+  set(${_component}_DEFINITIONS  ${PC_${_component}_CFLAGS_OTHER} CACHE STRING "The ${_component} CFLAGS.")
+  set(${_component}_VERSION      ${PC_${_component}_VERSION}      CACHE STRING "The ${_component} version.")
+
+  set_component_found(${_component})
+
+  mark_as_advanced(
+    ${_component}_INCLUDE_DIRS
+    ${_component}_LIBRARIES
+    ${_component}_DEFINITIONS
+    ${_component}_VERSION
+  )
+
+endmacro()
+
+# Check if the results have already been cached
+if(NOT FFmpeg_LIBRARIES)
+
+  find_component(avcodec    libavcodec    avcodec    libavcodec/avcodec.h)
+  find_component(avfilter   libavfilter   avfilter   libavfilter/avfilter.h)
+  find_component(avformat   libavformat   avformat   libavformat/avformat.h)
+  find_component(avdevice   libavdevice   avdevice   libavdevice/avdevice.h)
+  find_component(avresample libavresample avresample libavresample/avresample.h)
+  find_component(avutil     libavutil     avutil     libavutil/avutil.h)
+  find_component(swresample libswresample swresample libswresample/swresample.h)
+  find_component(swscale    libswscale    swscale    libswscale/swscale.h)
+  find_component(postproc   libpostproc   postproc   libpostproc/postprocess.h)
+
+  foreach(_component ${FFmpeg_FIND_COMPONENTS})
+    if(${_component}_FOUND)
+      list(APPEND FFmpeg_LIBRARIES    ${${_component}_LIBRARIES})
+      list(APPEND FFmpeg_INCLUDE_DIRS ${${_component}_INCLUDE_DIRS})
+
+      get_filename_component(_dir     ${${_component}_LIBRARIES} PATH)
+      list(APPEND FFmpeg_LIBRARY_DIRS ${_dir})
+
+      list(APPEND FFmpeg_DEFINITIONS  ${${_component}_DEFINITIONS})
+    endif()
+  endforeach()
+
+  if(FFmpeg_INCLUDE_DIRS)
+    list(REMOVE_DUPLICATES FFmpeg_INCLUDE_DIRS)
+  endif()
+
+  if(FFmpeg_LIBRARY_DIRS)
+      list(REMOVE_DUPLICATES FFmpeg_LIBRARY_DIRS)
+  endif()
+
+  # Cache the results
+  set(FFmpeg_INCLUDE_DIRS ${FFmpeg_INCLUDE_DIRS} CACHE STRING "The FFmpeg include directories." FORCE)
+  set(FFmpeg_LIBRARIES    ${FFmpeg_LIBRARIES}    CACHE STRING "The FFmpeg libraries." FORCE)
+  set(FFmpeg_LIBRARY_DIRS ${FFmpeg_LIBRARY_DIRS} CACHE STRING "The FFmpeg library directories." FORCE)
+  set(FFmpeg_DEFINITIONS  ${FFmpeg_DEFINITIONS}  CACHE STRING "The FFmpeg CFLAGS." FORCE)
+
+  mark_as_advanced(FFmpeg_INCLUDE_DIRS FFmpeg_LIBRARIES FFmpeg_LIBRARY_DIRS FFmpeg_DEFINITIONS)
+
+endif()
+
+# Set non-cached _FOUND vars for the components
+foreach(_component avcodec avdevice avfilter avformat avresample avutil postproc swresample swscale)
+  set_component_found(${_component})
+endforeach()
+
+# Make a list of required vars
+set(_FFmpeg_REQUIRED_VARS FFmpeg_LIBRARIES FFmpeg_INCLUDE_DIRS)
+foreach(_component ${FFmpeg_FIND_COMPONENTS})
+  list(APPEND _FFmpeg_REQUIRED_VARS ${_component}_LIBRARIES ${_component}_INCLUDE_DIRS)
+endforeach()
+
+find_package_handle_standard_args(FFmpeg DEFAULT_MSG ${_FFmpeg_REQUIRED_VARS})
diff --git a/CMake/FindFreeImage.cmake b/CMake/FindFreeImage.cmake
new file mode 100644 (file)
index 0000000..6ba5c3b
--- /dev/null
@@ -0,0 +1,34 @@
+# - Try to find FreeImage
+#
+# Once done this will define
+#  FREEIMAGE_FOUND         - System has FreeImage
+#  FREEIMAGE_INCLUDE_DIRS  - The FreeImage include directories
+#  FREEIMAGE_LIBRARIES     - The libraries needed to use FreeImage
+#  FREEIMAGE_LIBRARY_DIRS  - Library directories
+#  FREEIMAGE_DEFINITIONS   - Compiler switches required for using FreeImage
+#
+# Copyright (c) 2015, Dimitry Ishenko, <dimitry.ishenko@gmail.com>
+#
+# Distributed under BSD license.
+
+if(NOT WIN32)
+    find_package(PkgConfig)
+    if(PKG_CONFIG_FOUND)
+        pkg_check_modules(PC_FREEIMAGE freeimage)
+    endif()
+endif()
+
+find_path(FREEIMAGE_INCLUDE_DIRS FreeImage.h
+    HINTS ${PC_FREEIMAGE_INCLUDEDIR}
+          ${PC_FREEIMAGE_INCLUDE_DIRS})
+
+find_library(FREEIMAGE_LIBRARIES NAMES freeimage
+    HINTS ${PC_FREEIMAGE_LIBDIR}
+          ${PC_FREEIMAGE_LIBRARY_DIRS})
+
+set(FREEIMAGE_DEFINITIONS ${PC_FREEEMAGE_CFLAGS_OTHER})
+
+mark_as_advanced(FREEIMAGE_INCLUDE_DIRS FREEIMAGE_LIBRARIES FREEIMAGE_DEFINITIONS)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(FREEIMAGE DEFAULT_MSG FREEIMAGE_INCLUDE_DIRS FREEIMAGE_LIBRARIES)
diff --git a/CMake/FindTBB.cmake b/CMake/FindTBB.cmake
new file mode 100644 (file)
index 0000000..9226bc6
--- /dev/null
@@ -0,0 +1,97 @@
+# - Try to find TBB components (adapted from FindFFmpeg.cmake)
+#
+# Once done this will define
+#  TBB_FOUND         - System has all TBB components
+#  TBB_INCLUDE_DIRS  - The TBB include directories
+#  TBB_LIBRARIES     - The libraries needed to use TBB components
+#  TBB_LIBRARY_DIRS  - Library directories
+#  TBB_DEFINITIONS   - Compiler switches required for using TBB components
+#
+# For each of the components
+#   - tbb
+#   - tbbmalloc
+#   - tbbmalloc_proxy
+# the following variables will be defined
+#  <component>_FOUND        - System has <component>
+#  <component>_INCLUDE_DIRS - The <component> include directories
+#  <component>_LIBRARIES    - The libraries needed to use <component>
+#  <component>_DEFINITIONS  - Compiler switches required for using <component>
+#
+# Original FindFFmpeg.cmake copyrights:
+# Copyright (c) 2006, Matthias Kretz, <kretz@kde.org>
+# Copyright (c) 2008, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2011, Michael Jansen, <kde@michael-jansen.biz>
+#
+# Copyright (c) 2015, Dimitry Ishenko, <dimitry.ishenko@gmail.com>
+#
+# Distributed under BSD license.
+
+include(FindPackageHandleStandardArgs)
+
+if(NOT TBB_FIND_COMPONENTS)
+    set(TBB_FIND_COMPONENTS tbb tbbmalloc tbbmalloc_proxy)
+endif()
+
+#
+### Macro: find_component
+#
+# Checks for the given component by invoking pkgconfig and then looking up
+# the libraries and include directories
+#
+macro(find_component _component _pkgconfig _library _header)
+    if(NOT WIN32)
+        find_package(PkgConfig)
+        if(PKG_CONFIG_FOUND)
+            pkg_check_modules(PC_${_component} ${_pkgconfig})
+        endif()
+    endif()
+
+    find_path(${_component}_INCLUDE_DIRS ${_header}
+        HINTS ${PC_${_component}_INCLUDEDIR}
+              ${PC_${_component}_INCLUDE_DIRS})
+
+    find_library(${_component}_LIBRARIES NAMES ${_library}
+        HINTS ${PC_${_component}_LIBDIR}
+              ${PC_${_component}_LIBRARY_DIRS})
+
+    set(${_component}_DEFINITIONS  ${PC_${_component}_CFLAGS_OTHER})
+
+    if(${_component}_LIBRARIES AND ${_component}_INCLUDE_DIRS)
+        set(${_component}_FOUND TRUE)
+    endif ()
+
+    mark_as_advanced(${_component}_INCLUDE_DIRS ${_component}_LIBRARIES ${_component}_DEFINITIONS)
+endmacro()
+
+find_component(tbb             tbb             tbb             tbb/tbb.h)
+find_component(tbbmalloc       tbbmalloc       tbbmalloc       tbb/tbb_allocator.h)
+find_component(tbbmalloc_proxy tbbmalloc_proxy tbbmalloc_proxy tbb/tbbmalloc_proxy.h)
+
+foreach(_component ${TBB_FIND_COMPONENTS})
+    if(${_component}_FOUND)
+        list(APPEND TBB_INCLUDE_DIRS ${${_component}_INCLUDE_DIRS})
+        list(APPEND TBB_LIBRARIES    ${${_component}_LIBRARIES})
+
+        get_filename_component(_dir  ${${_component}_LIBRARIES} PATH)
+        list(APPEND TBB_LIBRARY_DIRS ${_dir})
+
+        list(APPEND TBB_DEFINITIONS  ${${_component}_DEFINITIONS})
+    endif()
+endforeach()
+
+if(TBB_INCLUDE_DIRS)
+    list(REMOVE_DUPLICATES TBB_INCLUDE_DIRS)
+endif()
+
+if(TBB_LIBRARY_DIRS)
+    list(REMOVE_DUPLICATES TBB_LIBRARY_DIRS)
+endif ()
+
+mark_as_advanced(TBB_INCLUDE_DIRS TBB_LIBRARY_DIRS TBB_LIBRARIES TBB_DEFINITIONS)
+
+set(_TBB_REQUIRED_VARS TBB_LIBRARIES TBB_INCLUDE_DIRS)
+foreach(_component ${TBB_FIND_COMPONENTS})
+    list(APPEND _TBB_REQUIRED_VARS ${_component}_LIBRARIES ${_component}_INCLUDE_DIRS)
+endforeach ()
+
+find_package_handle_standard_args(TBB DEFAULT_MSG ${_TBB_REQUIRED_VARS})
index 7b3a68de6f7c8d3eb5f79fbf68628b582e7d752d..5dd7b14ec92ff69262428c1e0d4bd7afd1201bb0 100644 (file)
@@ -15,28 +15,30 @@ if (GIT_FOUND)
                        OUTPUT_VARIABLE GIT_HASH)
 endif ()
 
-configure_file("${PROJECT_SOURCE_DIR}/version.tmpl" "${PROJECT_SOURCE_DIR}/version.h")
+include(CMakeDependentOption)
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake/")
 
-set(DEPENDENCIES_FOLDER                        "${PROJECT_SOURCE_DIR}/dependencies64")
+CMAKE_DEPENDENT_OPTION(BUILD_MODULE_BLUEFISH "Build Bluefish module" ON "MSVC" OFF)
+option(BUILD_MODULE_DECKLINK "Build Decklink module" ON)
+option(BUILD_MODULE_HTML "Build HTML module" ON)
+option(BUILD_MODULE_PSD "Build PSD module" ON)
+CMAKE_DEPENDENT_OPTION(BUILD_MODULE_FLASH "Build Flash module" ON "MSVC" OFF)
+CMAKE_DEPENDENT_OPTION(BUILD_MODULE_NEWTEK "Build Newtek module" ON "MSVC" OFF)
 
-set(BOOST_INCLUDE_PATH                 "${DEPENDENCIES_FOLDER}/boost")
-set(RXCPP_INCLUDE_PATH                 "${DEPENDENCIES_FOLDER}/RxCpp/include")
-set(TBB_INCLUDE_PATH                   "${DEPENDENCIES_FOLDER}/tbb/include")
-set(GLEW_INCLUDE_PATH                  "${DEPENDENCIES_FOLDER}/glew/include")
-set(SFML_INCLUDE_PATH                  "${DEPENDENCIES_FOLDER}/sfml/include")
-set(FREETYPE_INCLUDE_PATH              "${DEPENDENCIES_FOLDER}/freetype/include")
+option(USE_SYSTEM_BOOST     "Compile against system boost instead of bundled one" OFF)
+option(USE_SYSTEM_FFMPEG    "Compile against system FFmpeg instead of bundled one" OFF)
+option(USE_SYSTEM_TBB       "Compile against system TBB instead of bundled one" OFF)
+option(USE_SYSTEM_GLEW      "Compile against system GLEW instead of bundled one" OFF)
+option(USE_SYSTEM_FREETYPE  "Compile against system FreeType instead of bundled one" OFF)
+option(USE_SYSTEM_FREEIMAGE "Compile against system FreeImage instead of bundled one" OFF)
+option(USE_SYSTEM_OPENAL    "Compile against system OpenAL instead of bundled one" OFF)
+option(USE_SYSTEM_SFML      "Compile against system SFML instead of bundled one" OFF)
+option(USE_SYSTEM_GTEST     "Compile against system GTest instead of bundled one" OFF)
+option(USE_SYSTEM_FONTS     "Compile against system fonts instead of bundled ones" OFF)
 
-if (MSVC)
-       set(FFMPEG_INCLUDE_PATH         "${DEPENDENCIES_FOLDER}/ffmpeg/include" "${DEPENDENCIES_FOLDER}/ffmpeg/include-win32")
-else ()
-       set(FFMPEG_INCLUDE_PATH         "${DEPENDENCIES_FOLDER}/ffmpeg/include")
-endif ()
+configure_file("${PROJECT_SOURCE_DIR}/version.tmpl" "${PROJECT_SOURCE_DIR}/version.h")
 
-set(FREEIMAGE_INCLUDE_PATH             "${DEPENDENCIES_FOLDER}/freeimage/include")
-set(OPENAL_INCLUDE_PATH                        "${DEPENDENCIES_FOLDER}/openal/include")
-set(BLUEFISH_INCLUDE_PATH              "${DEPENDENCIES_FOLDER}/bluefish/include")
-set(CEF_INCLUDE_PATH                   "${DEPENDENCIES_FOLDER}/cef/include")
-set(GTEST_INCLUDE_PATH                 "${DEPENDENCIES_FOLDER}/gtest/include")
+set(DEPENDENCIES_FOLDER                        "${PROJECT_SOURCE_DIR}/dependencies64")
 
 if (MSVC)
        set(PLATFORM_FOLDER_NAME        "win32")
@@ -44,39 +46,177 @@ elseif (CMAKE_COMPILER_IS_GNUCXX)
        set(PLATFORM_FOLDER_NAME        "linux")
 endif ()
 
-set(FFMPEG_BIN_PATH                            "${DEPENDENCIES_FOLDER}/ffmpeg/bin/${PLATFORM_FOLDER_NAME}")
-set(FREEIMAGE_BIN_PATH                 "${DEPENDENCIES_FOLDER}/freeimage/bin/${PLATFORM_FOLDER_NAME}")
-set(GLEW_BIN_PATH                              "${DEPENDENCIES_FOLDER}/glew/bin/${PLATFORM_FOLDER_NAME}")
-set(OPENAL_BIN_PATH                            "${DEPENDENCIES_FOLDER}/openal/bin/${PLATFORM_FOLDER_NAME}")
-set(TBB_BIN_PATH                               "${DEPENDENCIES_FOLDER}/tbb/bin/${PLATFORM_FOLDER_NAME}")
-set(LIBERATION_FONTS_BIN_PATH  "${DEPENDENCIES_FOLDER}/liberation-fonts")
+## boost ##
+if(USE_SYSTEM_BOOST)
+       find_package(Boost 1.56 REQUIRED COMPONENTS chrono date_time filesystem locale log regex system thread)
+       add_definitions(-DBOOST_ALL_DYN_LINK)
+else()
+       set(Boost_INCLUDE_DIRS          "${DEPENDENCIES_FOLDER}/boost")
+       set(Boost_LIBRARIES boost_system boost_thread boost_chrono boost_filesystem boost_log boost_locale boost_regex boost_date_time)
+       link_directories("${DEPENDENCIES_FOLDER}/boost/stage/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+add_definitions( -DBOOST_THREAD_VERSION=4 )
+add_definitions( "-DBOOST_ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept(true)" ) # Workaround macro redefinition in boost
+
+## TBB ##
+if(USE_SYSTEM_TBB)
+       find_package(TBB REQUIRED)
+else()
+       set(TBB_INCLUDE_DIRS            "${DEPENDENCIES_FOLDER}/tbb/include")
+       if(MSVC)
+               set(TBB_LIBRARIES optimized tbb debug tbb_debug)
+       else()
+               set(TBB_LIBRARIES tbb tbbmalloc tbbmalloc_proxy)
+       endif()
+       set(TBB_BIN_DIR                         "${DEPENDENCIES_FOLDER}/tbb/bin/${PLATFORM_FOLDER_NAME}")
+       link_directories("${DEPENDENCIES_FOLDER}/tbb/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+add_definitions( -DTBB_USE_CAPTURED_EXCEPTION=0 )
+
+## GLEW ##
+if(USE_SYSTEM_GLEW)
+       find_package(GLEW REQUIRED)
+       find_package(OpenGL REQUIRED)
+else()
+       set(GLEW_INCLUDE_DIRS           "${DEPENDENCIES_FOLDER}/glew/include")
+       if(MSVC)
+               set(GLEW_LIBRARIES glew32)
+               set(OPENGL_gl_LIBRARY OpenGL32)
+       else()
+               set(GLEW_LIBRARIES GLEW)
+               set(OPENGL_gl_LIBRARY GL)
+       endif()
+       set(GLEW_BIN_DIR                        "${DEPENDENCIES_FOLDER}/glew/bin/${PLATFORM_FOLDER_NAME}")
+       link_directories("${DEPENDENCIES_FOLDER}/glew/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+add_definitions( -DGLEW_NO_GLU )
+
+set(RXCPP_INCLUDE_DIRS                 "${DEPENDENCIES_FOLDER}/RxCpp/include")
+
+## SFML ##
+if(USE_SYSTEM_SFML)
+       find_package(SFML REQUIRED COMPONENTS graphics window system)
+else()
+       set(SFML_INCLUDE_DIR            "${DEPENDENCIES_FOLDER}/sfml/include")
+       if(MSVC)
+               set(SFML_LIBRARIES
+                       optimized sfml-system-2   debug sfml-system-d-2
+                       optimized sfml-window-2   debug sfml-window-d-2
+                       optimized sfml-graphics-2 debug sfml-graphics-d-2
+               )
+       else()
+               set(SFML_LIBRARIES
+                       sfml-graphics-s
+                       sfml-window-s
+                       sfml-system-s
+               )
+       endif()
+       link_directories("${DEPENDENCIES_FOLDER}/sfml/lib/${PLATFORM_FOLDER_NAME}")
+       link_directories("${DEPENDENCIES_FOLDER}/sfml/extlibs/lib")
+       add_definitions( -DSFML_STATIC )
+endif()
+
+## FreeType ##
+if(USE_SYSTEM_FREETYPE)
+       find_package(Freetype REQUIRED)
+else()
+       set(FREETYPE_INCLUDE_DIRS       "${DEPENDENCIES_FOLDER}/freetype/include")
+       set(FREETYPE_LIBRARIES freetype)
+       link_directories("${DEPENDENCIES_FOLDER}/freetype/objs/win32/vc2010")
+endif()
+
+## FFmpeg ##
+if(USE_SYSTEM_FFMPEG)
+       find_package(FFmpeg REQUIRED COMPONENTS
+               avcodec
+               avdevice
+               avfilter
+               avformat
+               avutil
+               postproc
+               swresample
+               swscale)
+else()
+       set(FFmpeg_INCLUDE_DIRS         "${DEPENDENCIES_FOLDER}/ffmpeg/include")
+       if (MSVC)
+               list(APPEND FFmpeg_INCLUDE_DIRS "${DEPENDENCIES_FOLDER}/ffmpeg/include-win32")
+       endif ()
+       set(FFmpeg_BIN_DIR                      "${DEPENDENCIES_FOLDER}/ffmpeg/bin/${PLATFORM_FOLDER_NAME}")
+       link_directories("${DEPENDENCIES_FOLDER}/ffmpeg/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+
+## FreeImage ##
+if(USE_SYSTEM_FREEIMAGE)
+       find_package(FreeImage REQUIRED)
+else()
+       set(FREEIMAGE_INCLUDE_DIRS      "${DEPENDENCIES_FOLDER}/freeimage/include")
+       if(MSVC)
+               set(FREEIMAGE_LIBRARIES optimized FreeImage debug FreeImaged)
+       else()
+               set(FREEIMAGE_LIBRARIES freeimage)
+       endif()
+       set(FREEIMAGE_BIN_DIR           "${DEPENDENCIES_FOLDER}/freeimage/bin/${PLATFORM_FOLDER_NAME}")
+       link_directories("${DEPENDENCIES_FOLDER}/freeimage/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+
+## OpenAL ##
+if(USE_SYSTEM_OPENAL)
+       find_package(OpenAL REQUIRED)
+else()
+       set(OPENAL_INCLUDE_DIR          "${DEPENDENCIES_FOLDER}/openal/include")
+       if(MSVC)
+               set(OPENAL_LIBRARY OpenAL32)
+       else()
+               set(OPENAL_LIBRARY openal)
+       endif()
+       set(OPENAL_BIN_DIR                      "${DEPENDENCIES_FOLDER}/openal/bin/${PLATFORM_FOLDER_NAME}")
+       link_directories("${DEPENDENCIES_FOLDER}/openal/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+
+## Bluefish ##
+set(BLUEFISH_INCLUDE_DIRS              "${DEPENDENCIES_FOLDER}/bluefish/include")
+link_directories("${DEPENDENCIES_FOLDER}/bluefish/lib")
+
+## CEF ##
+set(CEF_INCLUDE_DIRS                   "${DEPENDENCIES_FOLDER}/cef/include")
+if(MSVC)
+       set(CEF_LIBRARIES
+               optimized release/libcef
+               optimized release/libcef_dll_wrapper
+               debug debug/libcef
+               debug debug/libcef_dll_wrapper
+       )
+else()
+       set(CEF_LIBRARIES cef cef_dll_wrapper)
+endif()
 set(CEF_PATH                                   "${DEPENDENCIES_FOLDER}/cef")
 set(CEF_BIN_PATH                               "${DEPENDENCIES_FOLDER}/cef/bin/${PLATFORM_FOLDER_NAME}")
+link_directories("${DEPENDENCIES_FOLDER}/cef/lib/${PLATFORM_FOLDER_NAME}")
+
+## GTest ##
+if(USE_SYSTEM_GTEST)
+       find_package(GTest REQUIRED)
+else()
+       set(GTEST_INCLUDE_DIRS          "${DEPENDENCIES_FOLDER}/gtest/include")
+       if(MSVC)
+               set(GTEST_LIBRARIES optimized gtest debug gtestd)
+       else()
+               set(GTEST_LIBRARIES gtest)
+       endif()
+       link_directories("${DEPENDENCIES_FOLDER}/gtest/lib/${PLATFORM_FOLDER_NAME}")
+endif()
+
+## fonts ##
+if(NOT USE_SYSTEM_FONTS)
+       set(LIBERATION_FONTS_BIN_DIR    "${DEPENDENCIES_FOLDER}/liberation-fonts")
+endif()
 
-link_directories("${DEPENDENCIES_FOLDER}/boost/stage/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/tbb/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/glew/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/sfml/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/sfml/extlibs/lib")
-link_directories("${DEPENDENCIES_FOLDER}/freetype/objs/win32/vc2010")
-link_directories("${DEPENDENCIES_FOLDER}/ffmpeg/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/asmlib")
-link_directories("${DEPENDENCIES_FOLDER}/freeimage/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/openal/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/bluefish/lib")
 link_directories("${DEPENDENCIES_FOLDER}/zlib/lib")
-link_directories("${DEPENDENCIES_FOLDER}/cef/lib/${PLATFORM_FOLDER_NAME}")
-link_directories("${DEPENDENCIES_FOLDER}/gtest/lib/${PLATFORM_FOLDER_NAME}")
 
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 
-add_definitions( -DSFML_STATIC )
-add_definitions( -DBOOST_THREAD_VERSION=4 )
-add_definitions( -DTBB_USE_CAPTURED_EXCEPTION=0 )
 add_definitions( -DUNICODE )
 add_definitions( -D_UNICODE )
-add_definitions( -DGLEW_NO_GLU )
-add_definitions( "-DBOOST_ASIO_ERROR_CATEGORY_NOEXCEPT=noexcept(true)" ) # Workaround macro redefinition in boost
 add_definitions( -D_GLIBCXX_USE_CXX11_ABI=0 ) # Allow compilation in GCC 5 while keeping old dependencies
 add_definitions( -DCASPAR_SOURCE_PREFIX="${CMAKE_CURRENT_SOURCE_DIR}" )
 
index 1a7dfff4f3a95c121cddda667835d5122706f71d..af99676115554c5d12cd532aad703bd8dd46967b 100644 (file)
@@ -43,12 +43,12 @@ add_library(accelerator ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES})
 add_precompiled_header(accelerator StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${GLEW_INCLUDE_PATH})
-include_directories(${FFMPEG_INCLUDE_PATH})
-include_directories(${SFML_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${GLEW_INCLUDE_DIRS})
+include_directories(${FFmpeg_INCLUDE_DIRS})
+include_directories(${SFML_INCLUDE_DIR})
 
 source_group(sources ./*)
 source_group(sources\\cpu\\image cpu/image/*)
diff --git a/build-scripts/system-build-linux.sh b/build-scripts/system-build-linux.sh
new file mode 100755 (executable)
index 0000000..6c1f62d
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+fail()
+{
+    echo "$1" 1>&2
+    exit 1
+}
+
+BUILD_ARCHIVE_NAME="server"
+
+# Clean and enter shadow build folder
+echo Cleaning...
+if [ -e ../build ]; then
+    rm -Rf ../build || fail "Could not delete ../build"
+fi
+
+mkdir ../build || fail "Could not create ../build"
+cd ../build || fail "Could not enter ../build"
+
+# Run cmake
+echo Running cmake...
+cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+-DUSE_SYSTEM_BOOST=ON     \
+-DUSE_SYSTEM_FFMPEG=ON    \
+-DUSE_SYSTEM_TBB=ON       \
+-DUSE_SYSTEM_GLEW=ON      \
+-DUSE_SYSTEM_FREETYPE=ON  \
+-DUSE_SYSTEM_FREEIMAGE=ON \
+-DUSE_SYSTEM_OPENAL=ON    \
+-DUSE_SYSTEM_SFML=ON      \
+-DUSE_SYSTEM_GTEST=ON     \
+-DUSE_SYSTEM_FONTS=ON     \
+.. || fail "cmake failed"
+
+# Run make using the number of hardware threads in BUILD_PARALLEL_THREADS
+echo Building...
+time make -j${BUILD_PARALLEL_THREADS:-4} || fail "make failed"
+
+# Create client folder to later zip
+SERVER_FOLDER="$BUILD_ARCHIVE_NAME"
+if [ -f "$SERVER_FOLDER" ]; then
+    rm -Rf "$SERVER_FOLDER" || fail "Could not delete $SERVER_FOLDER"
+fi
+BIN_DIR="$SERVER_FOLDER/usr/bin"
+LIB_DIR="$SERVER_FOLDER/usr/lib"
+DOC_DIR="$SERVER_FOLDER/usr/share/doc/casparcg-server"
+FONT_DIR="$SERVER_FOLDER/usr/share/fonts"
+
+mkdir "$SERVER_FOLDER" || fail "Could not create $SERVER_FOLDER"
+mkdir -p "$BIN_DIR"    || fail "Could not create $BIN_DIR"
+mkdir -p "$LIB_DIR"    || fail "Could not create $LIB_DIR"
+mkdir -p "$DOC_DIR"    || fail "Could not create $DOC_DIR"
+mkdir -p "$FONT_DIR"   || fail "Could not create $FONT_DIR"
+
+# Copy compiled binaries
+echo Copying binaries...
+cp -fa  shell/lib* "$LIB_DIR/" 2>/dev/null         || echo "Did not copy server libraries"
+cp -fa  shell/*.ttf "$FONT_DIR/" 2>/dev/null       || echo "Did not copy fonts"
+cp -fa  shell/casparcg "$BIN_DIR/casparcg-server"  || fail "Could not copy server executable"
+cp -fa  shell/casparcg.config "$DOC_DIR/"          || fail "Could not copy server config"
+cp -faR shell/locales "$BIN_DIR/" 2>/dev/null      || echo "Did not copy server CEF locales"
+
+# Copy binary dependencies
+echo Copying binary dependencies...
+cp -fa  ../deploy/general/*.pdf "$DOC_DIR/"        || fail "Could not copy pdf"
+cp -faR ../deploy/general/wallpapers "$DOC_DIR/"   || fail "Could not copy wallpapers"
+cp -faR ../deploy/general/server/media "$DOC_DIR/" || fail "Could not copy media"
+
+# Copy documentation
+echo Copying documentation...
+cp -fa  ../CHANGELOG "$DOC_DIR" || fail "Could not copy CHANGES.txt"
+cp -fa  ../README    "$DOC_DIR" || fail "Could not copy README.txt"
+cp -fa  ../LICENSE   "$DOC_DIR" || fail "Could not copy LICENSE.txt"
+
+# Remove empty directories
+rmdir "$LIB_DIR" 2>/dev/null
+rmdir "$FONT_DIR" 2>/dev/null
+
+# Create tar.gz file
+echo Creating tag.gz...
+tar -cvzf "$BUILD_ARCHIVE_NAME.tar.gz" "$SERVER_FOLDER" || fail "Could not create archive"
index 77437dc05673a7c0466eb8e3b46265924038e887..ae144c7026d6acc8bac975706a4cd7cf1dcd9956 100644 (file)
@@ -95,10 +95,10 @@ add_library(common ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES})
 add_precompiled_header(common stdafx.h FORCEINCLUDE)
 
 include_directories(..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${GLEW_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${GLEW_INCLUDE_DIRS})
 
 source_group(sources ./*)
 source_group(sources\\gl gl/*)
@@ -107,66 +107,51 @@ source_group(sources\\compiler\\vs compiler/vs/*)
 source_group(sources\\os\\windows os/windows/*)
 source_group(sources\\os os/*)
 
+target_link_libraries(common
+       "${ASMLIB_LIBRARIES}"
+       "${TBB_LIBRARIES}"
+       "${GLEW_LIBRARIES}"
+       "${OPENGL_gl_LIBRARY}"
+       "${FREETYPE_LIBRARIES}"
+       "${OPENAL_LIBRARY}"
+       "${SFML_LIBRARIES}"
+)
+
 if (MSVC)
        target_link_libraries(common
                jpeg.lib
                sndfile.lib
-               optimized sfml-system-2.lib
-               optimized sfml-window-2.lib
-               optimized sfml-graphics-2.lib
-               debug sfml-system-d-2.lib
-               debug sfml-window-d-2.lib
-               debug sfml-graphics-d-2.lib
                Winmm.lib
                Ws2_32.lib
-               optimized tbb.lib
-               debug tbb_debug.lib
-               OpenGL32.lib
-               glew32.lib
-               openal32.lib
                zlibstat.lib
        )
 else ()
        target_link_libraries(common
-               boost_system
-               boost_thread
-               boost_chrono
-               boost_filesystem
-               boost_log
-               boost_locale
-               boost_regex
-               boost_date_time
-               tbb
-               tbbmalloc
-               tbbmalloc_proxy
-               sfml-graphics-s
-               sfml-window-s
-               sfml-system-s
-               GLEW
-               GL
+               "${Boost_LIBRARIES}"
                X11
                jpeg
                sndfile
-               freetype
                udev
                Xrandr
                pthread
        )
 endif ()
 
-if(MSVC)
-       casparcg_add_runtime_dependency("${GLEW_BIN_PATH}/glew32.dll")
-       casparcg_add_runtime_dependency("${TBB_BIN_PATH}/tbb.dll")
-       casparcg_add_runtime_dependency("${TBB_BIN_PATH}/tbb_debug.dll")
+if(NOT USE_SYSTEM_TBB)
+       if(MSVC)
+               casparcg_add_runtime_dependency("${GLEW_BIN_DIR}/glew32.dll")
+               casparcg_add_runtime_dependency("${TBB_BIN_DIR}/tbb.dll")
+               casparcg_add_runtime_dependency("${TBB_BIN_DIR}/tbb_debug.dll")
 
-       # Reenable when tbb gets official support for vc14
-       # casparcg_add_runtime_dependency("${TBB_BIN_PATH}/tbbmalloc.dll")
-       # casparcg_add_runtime_dependency("${TBB_BIN_PATH}/tbbmalloc_debug.dll")
-       # casparcg_add_runtime_dependency("${TBB_BIN_PATH}/tbbmalloc_proxy.dll")
-       # casparcg_add_runtime_dependency("${TBB_BIN_PATH}/tbbmalloc_proxy_debug.dll")
-else()
-       casparcg_add_runtime_dependency("${GLEW_BIN_PATH}/libGLEW.so.1.12")
-       casparcg_add_runtime_dependency("${TBB_BIN_PATH}/libtbb.so.2")
-       casparcg_add_runtime_dependency("${TBB_BIN_PATH}/libtbbmalloc_proxy.so.2")
-       casparcg_add_runtime_dependency("${TBB_BIN_PATH}/libtbbmalloc.so.2")
+               # Reenable when tbb gets official support for vc14
+               # casparcg_add_runtime_dependency("${TBB_BIN_DIR}/tbbmalloc.dll")
+               # casparcg_add_runtime_dependency("${TBB_BIN_DIR}/tbbmalloc_debug.dll")
+               # casparcg_add_runtime_dependency("${TBB_BIN_DIR}/tbbmalloc_proxy.dll")
+               # casparcg_add_runtime_dependency("${TBB_BIN_DIR}/tbbmalloc_proxy_debug.dll")
+       else()
+               casparcg_add_runtime_dependency("${GLEW_BIN_DIR}/libGLEW.so.1.12")
+               casparcg_add_runtime_dependency("${TBB_BIN_DIR}/libtbb.so.2")
+               casparcg_add_runtime_dependency("${TBB_BIN_DIR}/libtbbmalloc_proxy.so.2")
+               casparcg_add_runtime_dependency("${TBB_BIN_DIR}/libtbbmalloc.so.2")
+       endif()
 endif()
index 21ef8a9bdef15a137c68de1968d2efff4c524801..08056ace105f40877f77d51f13bb1bb63e771c1b 100644 (file)
@@ -144,12 +144,12 @@ add_library(core ${SOURCES} ${HEADERS})
 add_precompiled_header(core StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${SFML_INCLUDE_PATH})
-include_directories(${FREETYPE_INCLUDE_PATH})
-include_directories(${GLEW_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${SFML_INCLUDE_DIR})
+include_directories(${FREETYPE_INCLUDE_DIRS})
+include_directories(${GLEW_INCLUDE_DIRS})
 
 source_group(sources ./*)
 source_group(sources\\consumer consumer/*)
@@ -171,16 +171,8 @@ source_group(sources\\producer\\text producer/text/*)
 source_group(sources\\producer\\transition producer/transition/*)
 source_group(sources\\producer\\separated producer/separated/*)
 
-if (MSVC)
-       target_link_libraries(core
-                       common
+target_link_libraries(core
+       common
 
-                       freetype.lib
-       )
-else()
-       target_link_libraries(core
-                       common
-
-                       freetype
-       )
-endif()
+       "${FREETYPE_LIBRARIES}"
+)
index 72710af378f5daabe293056f2ce8b7c44e30128b..2b0c204212dd81c78f8c221c1f1fcfea49e25a24 100644 (file)
@@ -5,19 +5,31 @@ add_subdirectory(reroute)
 add_subdirectory(ffmpeg)
 add_subdirectory(oal)
 
-if (MSVC)
+if(BUILD_MODULE_BLUEFISH)
        add_subdirectory(bluefish)
-endif ()       
+endif()
+
+if(BUILD_MODULE_DECKLINK)
+       add_subdirectory(decklink)
+endif()
 
-add_subdirectory(decklink)
 add_subdirectory(screen)
-add_subdirectory(html)
-add_subdirectory(psd)
 
-if (MSVC)
+if(BUILD_MODULE_HTML)
+       add_subdirectory(html)
+endif()
+
+if(BUILD_MODULE_PSD)
+       add_subdirectory(psd)
+endif()
+
+if(BUILD_MODULE_FLASH)
        add_subdirectory(flash)
+endif()
+
+if(BUILD_MODULE_NEWTEK)
        add_subdirectory(newtek)
-endif ()
+endif()
 
 add_subdirectory(image)
 
index 2ecabb6d23c7e825109cc2b22f2f5926d949676f..40036e2abc3cc3c0e06cd642dd9f3312de84edbc 100644 (file)
@@ -20,10 +20,10 @@ add_precompiled_header(bluefish StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${BLUEFISH_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${BLUEFISH_INCLUDE_DIRS})
 
 set_target_properties(bluefish PROPERTIES FOLDER modules)
 source_group(sources ./*)
index a379f27428d6f37825c817293e2dc9308178e453..1b74d4d703d46f94f654124294eb7ced7c720019 100644 (file)
@@ -56,10 +56,10 @@ add_precompiled_header(decklink StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${FFMPEG_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${FFmpeg_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
 
 set_target_properties(decklink PROPERTIES FOLDER modules)
 source_group(sources ./*)
index 03d00fd5e1bb172ef388506e93e0b81545b09c27..4a8c25f074abc965fd6b4b4a6a0cc3d60e62e6e3 100644 (file)
@@ -57,10 +57,10 @@ add_precompiled_header(ffmpeg StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${FFMPEG_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${FFmpeg_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
 
 set_target_properties(ffmpeg PROPERTIES FOLDER modules)
 source_group(sources ./*)
@@ -73,151 +73,147 @@ source_group(sources\\producer\\util producer/util/*)
 source_group(sources\\producer\\video producer/video/*)
 source_group(sources\\producer producer/*)
 
-if (MSVC)
-       target_link_libraries(ffmpeg
-                       common
-                       core
-
-                       avformat.lib
-                       avcodec.lib
-                       avutil.lib
-                       avfilter.lib
-                       avdevice.lib
-                       swscale.lib
-                       swresample.lib
-       )
-else()
-       target_link_libraries(ffmpeg
-                       common
-                       core
-
-                       -Wl,--start-group
-                       avformat.so
-                       avcodec.so
-                       avutil.so
-                       avfilter.so
-                       avdevice.so
-                       swscale.so
-                       swresample.so
-                       postproc.so
-
-                       ass
-                       bluray
-                       crypto
-                       expat
-                       fontconfig
-                       fribidi
-                       gmp
-                       gnutls
-                       gsm
-                       hogweed
-                       ilbc
-                       modplug
-                       mp3lame
-                       nettle
-                       ogg
-                       opencore-amrnb
-                       opencore-amrwb
-                       opus
-                       rtmp
-                       ssl
-                       tasn1
-                       theoradec
-                       theoraenc
-                       vorbis
-                       vorbisenc
-                       vpx
-                       x264
-                       xavs
-                       xvidcore
-                       z
-                       -Wl,--end-group
-       )
+if(NOT USE_SYSTEM_FFMPEG)
+       if(MSVC)
+               set(FFmpeg_LIBRARIES
+                               avformat.lib
+                               avcodec.lib
+                               avutil.lib
+                               avfilter.lib
+                avdevice.lib
+                               swscale.lib
+                               swresample.lib)
+       else()
+               set(FFmpeg_LIBRARIES
+                               -Wl,--start-group
+                               avformat.so
+                               avcodec.so
+                               avutil.so
+                               avfilter.so
+                avdevice.so
+                               swscale.so
+                               swresample.so
+                               postproc.so
+
+                               ass
+                               bluray
+                               crypto
+                               expat
+                               fontconfig
+                               fribidi
+                               gmp
+                               gnutls
+                               gsm
+                               hogweed
+                               ilbc
+                               modplug
+                               mp3lame
+                               nettle
+                               ogg
+                               opencore-amrnb
+                               opencore-amrwb
+                               opus
+                               rtmp
+                               ssl
+                               tasn1
+                               theoradec
+                               theoraenc
+                               vorbis
+                               vorbisenc
+                               vpx
+                               x264
+                               xavs
+                               xvidcore
+                               z
+                               -Wl,--end-group)
+       endif()
 endif()
 
+target_link_libraries(ffmpeg common core "${FFmpeg_LIBRARIES}")
+
 casparcg_add_include_statement("modules/ffmpeg/ffmpeg.h")
 casparcg_add_init_statement("ffmpeg::init" "ffmpeg")
 casparcg_add_uninit_statement("ffmpeg::uninit")
 casparcg_add_module_project("ffmpeg")
 
-if(MSVC)
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avcodec-56.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avdevice-56.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avfilter-5.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avformat-56.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avutil-54.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/postproc-53.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/swresample-1.dll")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/swscale-3.dll")
-else()
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavcodec.so.56")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavdevice.so.56")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavfilter.so.5")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavformat.so.56")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavutil.so.54")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpostproc.so.53")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libswresample.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libswscale.so.3")
-
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libass.so.5")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libbluray.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libcrypto.so.1.0.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libexpat.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libfontconfig.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libfreetype.so.6")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libfribidi.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgme.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgmp.so.10")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgnutls-openssl.so.27")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgnutls-xssl.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgnutls.so.28")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgsm.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libhogweed.so.2")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libilbc.so.2")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/liblzma.so.5")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libmodplug.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libmp3lame.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libnettle.so.4")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libogg.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopencore-amrnb.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopencore-amrwb.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopenjpeg.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopus.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/liborc-0.4.so.0")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/liborc-test-0.4.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpcre.so.1")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpcrecpp.so.0")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpcreposix.so.0")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpng.so.3")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpng12.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/librtmp.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libschroedinger-1.0.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libsoxr-lsr.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libsoxr.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libspeex.so.1")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libspeexdsp.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libssl.so.1.0.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtasn1.so.6")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtheora.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtheoradec.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtheoraenc.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtwolame.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libva.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvidstab.so.0.9")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvo-aacenc.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvo-amrwbenc.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvorbis.so.0")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvorbisenc.so.2")
-#      casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvorbisfile.so.3")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvpx.so.2")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libwavpack.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libwebp.so.5")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libx264.so.148")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libx265.so.59")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libxavs.so.1")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libxml2.so.2")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libxvidcore.so.4")
-       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libz.so.1")
-
+if(NOT USE_SYSTEM_FFMPEG)
+       if(MSVC)
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/avcodec-56.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/avdevice-56.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/avfilter-5.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/avformat-56.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/avutil-54.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/postproc-53.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/swresample-1.dll")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/swscale-3.dll")
+       else()
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libavcodec.so.56")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libavdevice.so.56")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libavfilter.so.5")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libavformat.so.56")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libavutil.so.54")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libpostproc.so.53")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libswresample.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libswscale.so.3")
+
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libass.so.5")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libbluray.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libcrypto.so.1.0.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libexpat.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libfontconfig.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libfreetype.so.6")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libfribidi.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libgme.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libgmp.so.10")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libgnutls-openssl.so.27")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libgnutls-xssl.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libgnutls.so.28")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libgsm.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libhogweed.so.2")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libilbc.so.2")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/liblzma.so.5")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libmodplug.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libmp3lame.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libnettle.so.4")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libogg.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libopencore-amrnb.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libopencore-amrwb.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libopenjpeg.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libopus.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/liborc-0.4.so.0")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/liborc-test-0.4.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libpcre.so.1")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libpcrecpp.so.0")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libpcreposix.so.0")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libpng.so.3")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libpng12.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/librtmp.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libschroedinger-1.0.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libsoxr-lsr.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libsoxr.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libspeex.so.1")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libspeexdsp.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libssl.so.1.0.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libtasn1.so.6")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libtheora.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libtheoradec.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libtheoraenc.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libtwolame.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libva.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvidstab.so.0.9")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvo-aacenc.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvo-amrwbenc.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvorbis.so.0")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvorbisenc.so.2")
+#              casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvorbisfile.so.3")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libvpx.so.2")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libwavpack.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libwebp.so.5")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libx264.so.148")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libx265.so.59")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libxavs.so.1")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libxml2.so.2")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libxvidcore.so.4")
+               casparcg_add_runtime_dependency("${FFmpeg_BIN_DIR}/libz.so.1")
+       endif()
 endif()
-
index 18cfc190828f7e0371eb6cd301474d092018a82a..728c855887f7f201dbe77abcb668d5600c866847 100644 (file)
@@ -31,10 +31,10 @@ add_precompiled_header(flash StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${FREEIMAGE_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${FREEIMAGE_INCLUDE_DIRS})
 
 set_target_properties(flash PROPERTIES FOLDER modules)
 source_group(sources\\interop interop/*)
index c126a36d942f8561cd0413efe842e81281ead15b..db7fc2f939e6c375bff60e6445243462acac12fc 100644 (file)
@@ -18,35 +18,21 @@ add_library(html ${SOURCES} ${HEADERS})
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${CEF_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${CEF_INCLUDE_DIRS})
 include_directories(${CEF_PATH})
 
 set_target_properties(html PROPERTIES FOLDER modules)
 source_group(sources\\producer producer/*)
 source_group(sources ./*)
 
-if(MSVC)
-       target_link_libraries(html
-               common
-               core
-
-               optimized release/libcef
-               optimized release/libcef_dll_wrapper
-               debug debug/libcef
-               debug debug/libcef_dll_wrapper
-       )
-else()
-       target_link_libraries(html
-               common
-               core
-
-               cef
-               cef_dll_wrapper
-       )
-endif()
+target_link_libraries(html
+       common
+       core
+       "${CEF_LIBRARIES}"
+)
 
 casparcg_add_include_statement("modules/html/html.h")
 casparcg_add_init_statement("html::init" "html")
index 6656eaeedfc766033aa18159581f6539469c4fc8..9dbc748620862d23b6ded7c928271f635c9c4b9f 100644 (file)
@@ -29,10 +29,10 @@ add_library(image ${SOURCES} ${HEADERS})
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${FREEIMAGE_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${FREEIMAGE_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
 
 set_target_properties(image PROPERTIES FOLDER modules)
 source_group(sources\\consumer consumer/*)
@@ -40,33 +40,23 @@ source_group(sources\\producer producer/*)
 source_group(sources\\util util/*)
 source_group(sources ./*)
 
-target_link_libraries(image common core)
+target_link_libraries(image
+       common
+       core
 
-if(MSVC)
-       target_link_libraries(image
-               common
-               core
-
-               optimized FreeImage.lib
-               debug FreeImaged.lib
-       )
-else()
-       target_link_libraries(image
-               common
-               core
-
-               freeimage
-       )
-endif()
+       "${FREEIMAGE_LIBRARIES}"
+)
 
 casparcg_add_include_statement("modules/image/image.h")
 casparcg_add_init_statement("image::init" "image")
 casparcg_add_uninit_statement("image::uninit")
 casparcg_add_module_project("image")
 
-if(MSVC)
-       casparcg_add_runtime_dependency("${FREEIMAGE_BIN_PATH}/FreeImage.dll")
-       casparcg_add_runtime_dependency("${FREEIMAGE_BIN_PATH}/FreeImaged.dll")
-else()
-       casparcg_add_runtime_dependency("${FREEIMAGE_BIN_PATH}/libfreeimage.so.3")
+if(NOT USE_SYSTEM_FREEIMAGE)
+       if(MSVC)
+               casparcg_add_runtime_dependency("${FREEIMAGE_BIN_DIR}/FreeImage.dll")
+               casparcg_add_runtime_dependency("${FREEIMAGE_BIN_DIR}/FreeImaged.dll")
+       else()
+               casparcg_add_runtime_dependency("${FREEIMAGE_BIN_DIR}/libfreeimage.so.3")
+       endif()
 endif()
index 547d72dc672f4ddcd24a3f5f59e176b521b27e7b..39492c5c2336539c04df3011e94303a10b8f1b9b 100644 (file)
@@ -25,9 +25,9 @@ add_precompiled_header(newtek StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
 
 set_target_properties(newtek PROPERTIES FOLDER modules)
 source_group(sources\\consumer consumer/*)
index a1edc206b83017c7d5ede47ef2222b1c4c5f16ae..614f744bce70cc697ea34feb0d83dd71bede07b4 100644 (file)
@@ -16,36 +16,30 @@ add_library(oal ${SOURCES} ${HEADERS})
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${OPENAL_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${OPENAL_INCLUDE_DIR})
 
 set_target_properties(oal PROPERTIES FOLDER modules)
 source_group(sources\\consumer consumer/*)
 source_group(sources ./*)
 
-if(MSVC)
-       target_link_libraries(oal
-                       common
-                       core
+target_link_libraries(oal
+       common
+       core
 
-                       OpenAL32)
-else()
-       target_link_libraries(oal
-                       common
-                       core
-
-                       openal)
-endif()
+       "${OPENAL_LIBRARY}"
+)
 
 casparcg_add_include_statement("modules/oal/oal.h")
 casparcg_add_init_statement("oal::init" "oal")
 casparcg_add_module_project("oal")
 
-if(MSVC)
-       casparcg_add_runtime_dependency("${OPENAL_BIN_PATH}/OpenAL32.dll")
-else()
-       casparcg_add_runtime_dependency("${OPENAL_BIN_PATH}/libopenal.so.1")
+if(NOT USE_SYSTEM_OPENAL)
+       if(MSVC)
+               casparcg_add_runtime_dependency("${OPENAL_BIN_DIR}/OpenAL32.dll")
+       else()
+               casparcg_add_runtime_dependency("${OPENAL_BIN_DIR}/libopenal.so.1")
+       endif()
 endif()
-
index 744bfe8abc436a7f94c3866beeb3782855498ba8..88b552df68dc7d1498157d181f0fedd7e8b8297f 100644 (file)
@@ -28,9 +28,9 @@ add_library(psd ${SOURCES} ${HEADERS})
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
 
 set_target_properties(psd PROPERTIES FOLDER modules)
 source_group(sources\\util util/*)
index b11d67d59bc7aca77eec5800d2546d78cbd3e3f3..2b60b6574359bb859eacfd32e7196d01461f3291 100644 (file)
@@ -23,10 +23,10 @@ add_precompiled_header(reroute stdafx.h FORCEINCLUDE)
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${FFMPEG_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${FFmpeg_INCLUDE_DIRS})
 
 set_target_properties(reroute PROPERTIES FOLDER modules)
 source_group(sources\\producer producer/*)
index f90c7f6824b5a538a8668f8ab0fa44068f955350..b965de1b9a1948a5969c96773dd116c3cd5ddff2 100644 (file)
@@ -16,12 +16,12 @@ add_library(screen ${SOURCES} ${HEADERS})
 
 include_directories(..)
 include_directories(../..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${GLEW_INCLUDE_PATH})
-include_directories(${SFML_INCLUDE_PATH})
-include_directories(${FFMPEG_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${GLEW_INCLUDE_DIRS})
+include_directories(${SFML_INCLUDE_DIR})
+include_directories(${FFmpeg_INCLUDE_DIRS})
 
 set_target_properties(screen PROPERTIES FOLDER modules)
 source_group(sources\\consumer consumer/*)
index a978b6e60a56e6878d57f1f31bf5325ffa9a3b99..d7b2979cc32543e1e84d8bb7d68b634eed074ad2 100644 (file)
@@ -72,9 +72,9 @@ add_library(protocol ${SOURCES} ${HEADERS})
 add_precompiled_header(protocol StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
 
 source_group(sources\\amcp amcp/*)
 source_group(sources\\cii cii/*)
index db65b656f495a1673da5744dc16599601e77ddde..6bc90c602a7e1d899139f517b15ec0180318f156 100644 (file)
@@ -46,9 +46,9 @@ target_link_libraries(generate_docs
 
 
 include_directories(..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
 
 source_group(sources ./*)
 
@@ -69,7 +69,9 @@ target_link_libraries(casparcg
 
 add_custom_target(casparcg_copy_dependencies ALL)
 
-casparcg_add_runtime_dependency("${LIBERATION_FONTS_BIN_PATH}/LiberationSans-Regular.ttf")
+if(NOT USE_SYSTEM_FONTS)
+       casparcg_add_runtime_dependency("${LIBERATION_FONTS_BIN_DIR}/LiberationSans-Regular.ttf")
+endif()
 casparcg_add_runtime_dependency("${CMAKE_CURRENT_SOURCE_DIR}/casparcg.config")
 
 set(OUTPUT_FOLDER "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
index dc8850455e43bef7f15784583e74871c68265cdb..ad974b92a0ae503b30b24db16e5c254812a926b3 100644 (file)
@@ -22,24 +22,14 @@ target_link_libraries(unit-test
                common
                core
                ffmpeg
+               "${GTEST_LIBRARIES}"
 )
 
-if (MSVC)
-       target_link_libraries(unit-test
-               optimized gtest.lib
-               debug gtestd.lib
-       )
-else ()
-       target_link_libraries(unit-test
-               gtest
-       )
-endif ()
-
 include_directories(..)
-include_directories(${BOOST_INCLUDE_PATH})
-include_directories(${RXCPP_INCLUDE_PATH})
-include_directories(${TBB_INCLUDE_PATH})
-include_directories(${GTEST_INCLUDE_PATH})
+include_directories(${Boost_INCLUDE_DIRS})
+include_directories(${RXCPP_INCLUDE_DIRS})
+include_directories(${TBB_INCLUDE_DIRS})
+include_directories(${GTEST_INCLUDE_DIRS})
 
 source_group(sources ./*)