]> git.sesse.net Git - casparcg/blob - shell/CMakeLists.txt
* Extracted module startup from server.cpp to a generated included_modules.h.
[casparcg] / shell / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2 project (shell)
3
4 join_list("${CASPARCG_MODULE_INCLUDE_STATEMENTS}" "\n" CASPARCG_MODULE_INCLUDE_STATEMENTS)
5 join_list("${CASPARCG_MODULE_INIT_STATEMENTS}" "\n" CASPARCG_MODULE_INIT_STATEMENTS)
6 join_list("${CASPARCG_MODULE_UNINIT_STATEMENTS}" "\n" CASPARCG_MODULE_UNINIT_STATEMENTS)
7 configure_file("${PROJECT_SOURCE_DIR}/included_modules.tmpl" "${PROJECT_SOURCE_DIR}/included_modules.h")
8
9 if (MSVC)
10         set(OS_SPECIFIC_SOURCES
11                         resource.h
12                         shell.rc
13         )
14 elseif (CMAKE_COMPILER_IS_GNUCXX)
15         set(OS_SPECIFIC_SOURCES
16         )
17 endif ()
18 set(SOURCES
19                 main.cpp
20                 server.cpp
21                 stdafx.cpp
22 )
23 set(HEADERS
24                 included_modules.h
25                 server.h
26                 stdafx.h
27 )
28
29 add_executable(casparcg ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES})
30 add_precompiled_header(casparcg stdafx.h FORCEINCLUDE)
31
32 include_directories(..)
33 include_directories(${BOOST_INCLUDE_PATH})
34 include_directories(${RXCPP_INCLUDE_PATH})
35 include_directories(${TBB_INCLUDE_PATH})
36
37 source_group(sources ./*)
38
39 target_link_libraries(casparcg
40                 accelerator
41                 common
42                 core
43                 protocol
44
45                 "${CASPARCG_MODULE_PROJECTS}"
46                 reroute
47
48                 alibcof64.lib
49                 jpeg.lib
50                 sndfile.lib
51                 optimized sfml-system-2.lib
52                 optimized sfml-window-2.lib
53                 optimized sfml-graphics-2.lib
54                 debug sfml-system-d-2.lib
55                 debug sfml-window-d-2.lib
56                 debug sfml-graphics-d-2.lib
57                 Winmm.lib
58                 Ws2_32.lib
59                 avformat.lib
60                 avcodec.lib
61                 avutil.lib
62                 avfilter.lib
63                 swscale.lib
64                 swresample.lib
65                 optimized tbb.lib
66                 debug tbb_debug.lib
67                 OpenGL32.lib
68                 glew32.lib
69                 openal32.lib
70                 optimized FreeImage.lib
71                 debug FreeImaged.lib
72                 freetype.lib
73                 zlibstat.lib
74 )
75
76 set(OUTPUT_FOLDER "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
77
78 add_custom_command(TARGET casparcg POST_BUILD
79                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avcodec-55.dll\" \"${OUTPUT_FOLDER}/\"
80                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avdevice-55.dll\" \"${OUTPUT_FOLDER}/\"
81                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avfilter-4.dll\" \"${OUTPUT_FOLDER}/\"
82                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avformat-55.dll\" \"${OUTPUT_FOLDER}/\"
83                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avutil-52.dll\" \"${OUTPUT_FOLDER}/\"
84                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/postproc-52.dll\" \"${OUTPUT_FOLDER}/\"
85                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/swresample-0.dll\" \"${OUTPUT_FOLDER}/\"
86                 COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/swscale-2.dll\" \"${OUTPUT_FOLDER}/\"
87                 COMMAND ${CMAKE_COMMAND} -E copy \"${FREEIMAGE_BIN_PATH}/FreeImage.dll\" \"${OUTPUT_FOLDER}/\"
88                 COMMAND ${CMAKE_COMMAND} -E copy \"${FREEIMAGE_BIN_PATH}/FreeImaged.dll\" \"${OUTPUT_FOLDER}/\"
89                 COMMAND ${CMAKE_COMMAND} -E copy \"${GLEW_BIN_PATH}/glew32.dll\" \"${OUTPUT_FOLDER}/\"
90                 COMMAND ${CMAKE_COMMAND} -E copy \"${OPENAL_BIN_PATH}/OpenAL32.dll\" \"${OUTPUT_FOLDER}/\"
91                 COMMAND ${CMAKE_COMMAND} -E copy \"${OPENAL_BIN_PATH}/wrap_oal.dll\" \"${OUTPUT_FOLDER}/\"
92                 COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbb.dll\" \"${OUTPUT_FOLDER}/\"
93                 COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbb_debug.dll\" \"${OUTPUT_FOLDER}/\"
94                 COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc.dll\" \"${OUTPUT_FOLDER}/\"
95                 COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc_debug.dll\" \"${OUTPUT_FOLDER}/\"
96                 COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc_proxy.dll\" \"${OUTPUT_FOLDER}/\"
97                 COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc_proxy_debug.dll\" \"${OUTPUT_FOLDER}/\"
98
99                 COMMAND ${CMAKE_COMMAND} -E copy \"${LIBERATION_FONTS_BIN_PATH}/LiberationSans-Regular.ttf\" \"${OUTPUT_FOLDER}/\"
100                 COMMAND ${CMAKE_COMMAND} -E copy \"${LIBERATION_FONTS_BIN_PATH}/LiberationSans-Regular.ttf\" \"${CMAKE_CURRENT_BINARY_DIR}/\"
101
102                 COMMAND ${CMAKE_COMMAND} -E copy \"${CMAKE_CURRENT_SOURCE_DIR}/casparcg.config\" \"${OUTPUT_FOLDER}/\"
103                 COMMAND ${CMAKE_COMMAND} -E copy \"${CMAKE_CURRENT_SOURCE_DIR}/casparcg.config\" \"${CMAKE_CURRENT_BINARY_DIR}/\"
104 )