1 cmake_minimum_required (VERSION 2.6)
2 project ("CasparCG Server")
9 exec_program("${GIT_EXECUTABLE}" "${PROJECT_SOURCE_DIR}"
10 ARGS rev-parse --verify --short HEAD
11 OUTPUT_VARIABLE GIT_REV)
14 configure_file("${PROJECT_SOURCE_DIR}/version.tmpl" "${PROJECT_SOURCE_DIR}/version.h")
16 set(DEPENDENCIES_FOLDER "${PROJECT_SOURCE_DIR}/dependencies64")
18 set(BOOST_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/boost")
19 set(RXCPP_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/RxCpp/include")
20 set(TBB_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/tbb/include")
21 set(GLEW_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/glew/include")
22 set(SFML_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/sfml/include")
23 set(FREETYPE_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/freetype/include")
24 set(FFMPEG_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/ffmpeg/include")
25 set(ASMLIB_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/asmlib")
26 set(FREEIMAGE_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/freeimage/include")
27 set(OPENAL_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/openal/include")
28 set(BLUEFISH_INCLUDE_PATH "${DEPENDENCIES_FOLDER}/bluefish/include")
30 set(FFMPEG_BIN_PATH "${DEPENDENCIES_FOLDER}/ffmpeg/bin")
31 set(FREEIMAGE_BIN_PATH "${DEPENDENCIES_FOLDER}/freeimage/bin")
32 set(GLEW_BIN_PATH "${DEPENDENCIES_FOLDER}/glew/bin")
33 set(OPENAL_BIN_PATH "${DEPENDENCIES_FOLDER}/openal/bin")
34 set(TBB_BIN_PATH "${DEPENDENCIES_FOLDER}/tbb/bin")
35 set(LIBERATION_FONTS_BIN_PATH "${DEPENDENCIES_FOLDER}/liberation-fonts")
37 link_directories("${DEPENDENCIES_FOLDER}/boost/stage/lib")
38 link_directories("${DEPENDENCIES_FOLDER}/tbb/lib")
39 link_directories("${DEPENDENCIES_FOLDER}/glew/lib")
40 link_directories("${DEPENDENCIES_FOLDER}/sfml/lib")
41 link_directories("${DEPENDENCIES_FOLDER}/sfml/extlibs/lib")
42 link_directories("${DEPENDENCIES_FOLDER}/freetype/objs/win32/vc2010")
43 link_directories("${DEPENDENCIES_FOLDER}/ffmpeg/lib")
44 link_directories("${DEPENDENCIES_FOLDER}/asmlib")
45 link_directories("${DEPENDENCIES_FOLDER}/freeimage/lib")
46 link_directories("${DEPENDENCIES_FOLDER}/openal/lib")
47 link_directories("${DEPENDENCIES_FOLDER}/bluefish/lib")
48 link_directories("${DEPENDENCIES_FOLDER}/zlib/lib")
50 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
52 add_definitions( -DSFML_STATIC )
53 add_definitions( -DBOOST_THREAD_VERSION=4 )
54 add_definitions( -DTBB_USE_CAPTURED_EXCEPTION=0 )
55 add_definitions( -DUNICODE )
56 add_definitions( -D_UNICODE )
59 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHa /Zi /W4 /WX /MP /fp:fast /FIcommon/compiler/vs/disable_silly_warnings.h")
60 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D TBB_USE_ASSERT=1 /D TBB_USE_DEBUG /bigobj")
61 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Oi /Ot /Gy")
63 elseif (CMAKE_COMPILER_IS_GNUCXX)
64 add_compile_options( -std=c++11 )
67 #cmake_policy(SET CMP0045 OLD)
68 include(CMake/PrecompiledHeader.cmake)
70 add_subdirectory(accelerator)
71 add_subdirectory(common)
72 add_subdirectory(core)
73 add_subdirectory(modules)
74 add_subdirectory(protocol)
75 add_subdirectory(shell)