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
env.h
except.h
executor.h
+ filesystem.h
filesystem_monitor.h
forward.h
future.h
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})
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()