]> git.sesse.net Git - casparcg/blob - CMakeLists.txt
Initial checkin of CMake build system
[casparcg] / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2 project ("CasparCG Server")
3
4 set(DEPENDENCIES_FOLDER "${PROJECT_SOURCE_DIR}/dependencies64")
5
6 set(BOOST_INCLUDE_PATH          "${DEPENDENCIES_FOLDER}/boost")
7 set(RXCPP_INCLUDE_PATH          "${DEPENDENCIES_FOLDER}/RxCpp/include")
8 set(TBB_INCLUDE_PATH            "${DEPENDENCIES_FOLDER}/tbb/include")
9 set(GLEW_INCLUDE_PATH           "${DEPENDENCIES_FOLDER}/glew/include")
10 set(SFML_INCLUDE_PATH           "${DEPENDENCIES_FOLDER}/sfml/include")
11 set(FREETYPE_INCLUDE_PATH       "${DEPENDENCIES_FOLDER}/freetype/include")
12 set(FFMPEG_INCLUDE_PATH         "${DEPENDENCIES_FOLDER}/ffmpeg/include")
13 set(ASMLIB_INCLUDE_PATH         "${DEPENDENCIES_FOLDER}/asmlib")
14 set(FREEIMAGE_INCLUDE_PATH      "${DEPENDENCIES_FOLDER}/freeimage/include")
15 set(OPENAL_INCLUDE_PATH         "${DEPENDENCIES_FOLDER}/openal/include")
16 set(BLUEFISH_INCLUDE_PATH       "${DEPENDENCIES_FOLDER}/bluefish/include")
17
18 link_directories("${DEPENDENCIES_FOLDER}/boost/stage/lib")
19 link_directories("${DEPENDENCIES_FOLDER}/tbb/lib")
20 link_directories("${DEPENDENCIES_FOLDER}/glew/lib")
21 link_directories("${DEPENDENCIES_FOLDER}/sfml/lib")
22 link_directories("${DEPENDENCIES_FOLDER}/sfml/extlibs/lib")
23 link_directories("${DEPENDENCIES_FOLDER}/freetype/objs/win32/vc2010")
24 link_directories("${DEPENDENCIES_FOLDER}/ffmpeg/lib")
25 link_directories("${DEPENDENCIES_FOLDER}/asmlib")
26 link_directories("${DEPENDENCIES_FOLDER}/freeimage/lib")
27 link_directories("${DEPENDENCIES_FOLDER}/openal/lib")
28 link_directories("${DEPENDENCIES_FOLDER}/bluefish/lib")
29 link_directories("${DEPENDENCIES_FOLDER}/zlib/lib")
30
31 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
32
33 add_definitions( -DSFML_STATIC )
34 add_definitions( -DBOOST_THREAD_VERSION=4 )
35 add_definitions( -DTBB_USE_CAPTURED_EXCEPTION=0 )
36 add_definitions( -DUNICODE )
37 add_definitions( -D_UNICODE )
38
39 if (${MSVC})
40         set(CMAKE_CXX_FLAGS                     "${CMAKE_CXX_FLAGS}                     /EHa /Zi /W4 /WX /MP /fp:fast /FIcommon/compiler/vs/disable_silly_warnings.h")
41         set(CMAKE_CXX_FLAGS_DEBUG       "${CMAKE_CXX_FLAGS_DEBUG}       /D TBB_USE_ASSERT=1 /D TBB_USE_DEBUG")
42         set(CMAKE_CXX_FLAGS_RELEASE     "${CMAKE_CXX_FLAGS_RELEASE}     /Oi /Ot /Gy")
43 endif ()
44
45 cmake_policy(SET CMP0045 OLD)
46 include(CMake/PrecompiledHeader.cmake)
47
48 add_subdirectory(accelerator)
49 add_subdirectory(common)
50 add_subdirectory(core)
51 add_subdirectory(modules)
52 add_subdirectory(protocol)
53 add_subdirectory(shell)