]> git.sesse.net Git - casparcg/blobdiff - CMakeLists.txt
* Downgraded CEF in Windows as well
[casparcg] / CMakeLists.txt
index 596ab5ce1453366e838fbd86554e812a1ef36501..93671144f7332cf1149587def279e594ef860dfa 100644 (file)
@@ -32,6 +32,7 @@ set(ASMLIB_INCLUDE_PATH                       "${DEPENDENCIES_FOLDER}/asmlib")
 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")
 
 if (MSVC)
        set(PLATFORM_FOLDER_NAME        "win32")
@@ -45,6 +46,8 @@ set(GLEW_BIN_PATH                             "${DEPENDENCIES_FOLDER}/glew/bin")
 set(OPENAL_BIN_PATH                            "${DEPENDENCIES_FOLDER}/openal/bin")
 set(TBB_BIN_PATH                               "${DEPENDENCIES_FOLDER}/tbb/bin/${PLATFORM_FOLDER_NAME}")
 set(LIBERATION_FONTS_BIN_PATH  "${DEPENDENCIES_FOLDER}/liberation-fonts")
+set(CEF_PATH                                   "${DEPENDENCIES_FOLDER}/cef")
+set(CEF_BIN_PATH                               "${DEPENDENCIES_FOLDER}/cef/bin/${PLATFORM_FOLDER_NAME}")
 
 link_directories("${DEPENDENCIES_FOLDER}/boost/stage/lib/${PLATFORM_FOLDER_NAME}")
 link_directories("${DEPENDENCIES_FOLDER}/tbb/lib/${PLATFORM_FOLDER_NAME}")
@@ -58,6 +61,7 @@ link_directories("${DEPENDENCIES_FOLDER}/freeimage/lib/${PLATFORM_FOLDER_NAME}")
 link_directories("${DEPENDENCIES_FOLDER}/openal/lib")
 link_directories("${DEPENDENCIES_FOLDER}/bluefish/lib")
 link_directories("${DEPENDENCIES_FOLDER}/zlib/lib")
+link_directories("${DEPENDENCIES_FOLDER}/cef/lib/${PLATFORM_FOLDER_NAME}")
 
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 
@@ -72,20 +76,28 @@ if (MSVC)
        set(CMAKE_CXX_FLAGS_DEBUG       "${CMAKE_CXX_FLAGS_DEBUG}       /D TBB_USE_ASSERT=1 /D TBB_USE_DEBUG /bigobj")
        set(CMAKE_CXX_FLAGS_RELEASE     "${CMAKE_CXX_FLAGS_RELEASE}     /Oi /Ot /Gy")
 elseif (CMAKE_COMPILER_IS_GNUCXX)
+       set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g")
        add_compile_options( -std=c++11 )
        add_compile_options( -msse3 )
        add_compile_options( -mssse3 )
        add_compile_options( -msse4.1 )
        add_compile_options( -pthread )
+       add_compile_options( -fPIC )
+       add_compile_options( -fnon-call-exceptions ) # Allow signal handler to throw exception
+endif ()
+
+if (POLICY CMP0045)
+       cmake_policy(SET CMP0045 OLD)
 endif ()
 
-cmake_policy(SET CMP0045 OLD)
 include(CMake/PrecompiledHeader.cmake)
 
-set(CASPARCG_MODULE_INCLUDE_STATEMENTS "" CACHE INTERNAL "")
-set(CASPARCG_MODULE_INIT_STATEMENTS            "" CACHE INTERNAL "")
-set(CASPARCG_MODULE_UNINIT_STATEMENTS  "" CACHE INTERNAL "")
-set(CASPARCG_MODULE_PROJECTS                   "" CACHE INTERNAL "")
+set(CASPARCG_MODULE_INCLUDE_STATEMENTS                                                 "" CACHE INTERNAL "")
+set(CASPARCG_MODULE_INIT_STATEMENTS                                                            "" CACHE INTERNAL "")
+set(CASPARCG_MODULE_UNINIT_STATEMENTS                                                  "" CACHE INTERNAL "")
+set(CASPARCG_MODULE_COMMAND_LINE_ARG_INTERCEPTORS_STATEMENTS   "" CACHE INTERNAL "")
+set(CASPARCG_MODULE_PROJECTS                                                                   "" CACHE INTERNAL "")
+set(CASPARCG_RUNTIME_DEPENDENCIES                                                              "" CACHE INTERNAL "")
 
 function(casparcg_add_include_statement HEADER_FILE_TO_INCLUDE)
        set(CASPARCG_MODULE_INCLUDE_STATEMENTS "${CASPARCG_MODULE_INCLUDE_STATEMENTS}"
@@ -102,8 +114,17 @@ function(casparcg_add_init_statement INIT_FUNCTION_NAME NAME_TO_LOG)
 endfunction()
 
 function(casparcg_add_uninit_statement UNINIT_FUNCTION_NAME)
-       set(CASPARCG_MODULE_UNINIT_STATEMENTS "${CASPARCG_MODULE_UNINIT_STATEMENTS}"
+       set(CASPARCG_MODULE_UNINIT_STATEMENTS
                        "       ${UNINIT_FUNCTION_NAME}()\;"
+                       "${CASPARCG_MODULE_UNINIT_STATEMENTS}"
+                       CACHE INTERNAL "")
+endfunction()
+
+function(casparcg_add_command_line_arg_interceptor INTERCEPTOR_FUNCTION_NAME)
+       set(CASPARCG_MODULE_COMMAND_LINE_ARG_INTERCEPTORS_STATEMENTS "${CASPARCG_MODULE_COMMAND_LINE_ARG_INTERCEPTORS_STATEMENTS}"
+                       "       if (${INTERCEPTOR_FUNCTION_NAME}(argc, argv))"
+                       "               return true\;"
+                       ""
                        CACHE INTERNAL "")
 endfunction()
 
@@ -118,6 +139,10 @@ function(join_list VALUES GLUE OUTPUT)
        set (${OUTPUT} "${_TMP_STR}" PARENT_SCOPE)
 endfunction()
 
+function(casparcg_add_runtime_dependency FILE_TO_COPY)
+       set(CASPARCG_RUNTIME_DEPENDENCIES "${CASPARCG_RUNTIME_DEPENDENCIES}" "${FILE_TO_COPY}" CACHE INTERNAL "")
+endfunction()
+
 add_subdirectory(accelerator)
 add_subdirectory(common)
 add_subdirectory(core)