]> git.sesse.net Git - casparcg/blobdiff - common/CMakeLists.txt
#430 Fixed bug where it was assumed that all Decklink devices implements the IDeckLin...
[casparcg] / common / CMakeLists.txt
index 6ce1ea96ff0544d649f5e54eefd49f7bfa6cbc75..9c5449fd451a23823958a353c6d7c83ab2d810d1 100644 (file)
@@ -2,29 +2,58 @@ cmake_minimum_required (VERSION 2.6)
 project (common)
 
 set(SOURCES
-               compiler/vs/stack_walker.cpp
                diagnostics/graph.cpp
+
                gl/gl_check.cpp
 
                base64.cpp
                env.cpp
                except.cpp
+               filesystem.cpp
                log.cpp
-               page_locked_allocator.cpp
                polling_filesystem_monitor.cpp
-               prec_timer.cpp
                stdafx.cpp
+               thread_info.cpp
                tweener.cpp
                utf.cpp
 )
+if (MSVC)
+       set(OS_SPECIFIC_SOURCES
+                       compiler/vs/disable_silly_warnings.h
+                       compiler/vs/StackWalker.cpp
+                       compiler/vs/StackWalker.h
+
+                       os/windows/filesystem.cpp
+                       os/windows/page_locked_allocator.cpp
+                       os/windows/prec_timer.cpp
+                       os/windows/threading.cpp
+                       os/windows/stack_trace.cpp
+                       os/windows/system_info.cpp
+                       os/windows/win32_exception.cpp
+                       os/windows/win32_exception.h
+                       os/windows/windows.h
+       )
+elseif (CMAKE_COMPILER_IS_GNUCXX)
+       set(OS_SPECIFIC_SOURCES
+                       os/linux/filesystem.cpp
+                       os/linux/prec_timer.cpp
+                       os/linux/signal_handlers.cpp
+                       os/linux/threading.cpp
+                       os/linux/stack_trace.cpp
+                       os/linux/system_info.cpp
+       )
+endif ()
 set(HEADERS
-               compiler/vs/disable_silly_warnings.h
-               compiler/vs/stack_walker.h
                diagnostics/graph.h
+
                gl/gl_check.h
-               os/windows/windows.h
-               os/windows/system_info.h
-               os/windows/windows.h
+
+               os/filesystem.h
+               os/general_protection_fault.h
+               os/page_locked_allocator.h
+               os/threading.h
+               os/stack_trace.h
+               os/system_info.h
 
                array.h
                assert.h
@@ -37,6 +66,7 @@ set(HEADERS
                env.h
                except.h
                executor.h
+               filesystem.h
                filesystem_monitor.h
                forward.h
                future.h
@@ -45,22 +75,29 @@ set(HEADERS
                lock.h
                log.h
                memory.h
+               memcpy.h
+               memset.h
                memshfl.h
-               page_locked_allocator.h
+               no_init_proxy.h
                param.h
                polling_filesystem_monitor.h
                prec_timer.h
-               reactive.h
+               ptree.h
+               scope_exit.h
                semaphore.h
+               software_version.h
                stdafx.h
+               thread_info.h
+               timer.h
                tweener.h
                utf.h
 )
 
-add_library(common ${SOURCES} ${HEADERS})
+add_library(common ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES})
 add_precompiled_header(common stdafx.h FORCEINCLUDE)
 
 include_directories(..)
+include_directories(${ASMLIB_INCLUDE_PATH})
 include_directories(${BOOST_INCLUDE_PATH})
 include_directories(${RXCPP_INCLUDE_PATH})
 include_directories(${TBB_INCLUDE_PATH})
@@ -70,4 +107,71 @@ source_group(sources ./*)
 source_group(sources\\gl gl/*)
 source_group(sources\\diagnostics diagnostics/*)
 source_group(sources\\compiler\\vs compiler/vs/*)
+source_group(sources\\os\\windows os/windows/*)
+source_group(sources\\os os/*)
+
+if (MSVC)
+       target_link_libraries(common
+               alibcof64.lib
+               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
+               "${DEPENDENCIES_FOLDER}/asmlib/alibelf64.a"
+               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
+               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")
 
+       # 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")
+endif()