X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=shell%2FCMakeLists.txt;h=6a514b931ca4d13975e87db9094e78c15d20786f;hb=738a4dee5e5270c8b9ede8825da35c4b4c7298e2;hp=4919abd2e42fb58294f936f377a73aaa4f399a68;hpb=8873ecaf6816636f925224bcc3d581f24e902676;p=casparcg diff --git a/shell/CMakeLists.txt b/shell/CMakeLists.txt index 4919abd2e..6a514b931 100644 --- a/shell/CMakeLists.txt +++ b/shell/CMakeLists.txt @@ -4,24 +4,31 @@ project (shell) join_list("${CASPARCG_MODULE_INCLUDE_STATEMENTS}" "\n" CASPARCG_MODULE_INCLUDE_STATEMENTS) join_list("${CASPARCG_MODULE_INIT_STATEMENTS}" "\n" CASPARCG_MODULE_INIT_STATEMENTS) join_list("${CASPARCG_MODULE_UNINIT_STATEMENTS}" "\n" CASPARCG_MODULE_UNINIT_STATEMENTS) +join_list("${CASPARCG_MODULE_COMMAND_LINE_ARG_INTERCEPTORS_STATEMENTS}" "\n" CASPARCG_MODULE_COMMAND_LINE_ARG_INTERCEPTORS_STATEMENTS) configure_file("${PROJECT_SOURCE_DIR}/included_modules.tmpl" "${PROJECT_SOURCE_DIR}/included_modules.h") if (MSVC) set(OS_SPECIFIC_SOURCES resource.h shell.rc + windows_specific.cpp ) elseif (CMAKE_COMPILER_IS_GNUCXX) set(OS_SPECIFIC_SOURCES + linux_specific.cpp ) endif () set(SOURCES + casparcg.config + included_modules.tmpl main.cpp server.cpp stdafx.cpp ) set(HEADERS + default_audio_config.h included_modules.h + platform_specific.h server.h stdafx.h ) @@ -29,6 +36,17 @@ set(HEADERS add_executable(casparcg ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES}) add_precompiled_header(casparcg stdafx.h FORCEINCLUDE) +add_executable(generate_docs generate_docs.cpp included_modules.h) +target_link_libraries(generate_docs + protocol + accelerator + + "${CASPARCG_MODULE_PROJECTS}" + + reroute +) + + include_directories(..) include_directories(${BOOST_INCLUDE_PATH}) include_directories(${RXCPP_INCLUDE_PATH}) @@ -36,6 +54,12 @@ include_directories(${TBB_INCLUDE_PATH}) source_group(sources ./*) +if (MSVC) + target_link_libraries(casparcg + zlibstat.lib + ) +endif () + target_link_libraries(casparcg accelerator common @@ -43,62 +67,25 @@ target_link_libraries(casparcg protocol "${CASPARCG_MODULE_PROJECTS}" - reroute - 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 - avformat.lib - avcodec.lib - avutil.lib - avfilter.lib - swscale.lib - swresample.lib - optimized tbb.lib - debug tbb_debug.lib - OpenGL32.lib - glew32.lib - openal32.lib - optimized FreeImage.lib - debug FreeImaged.lib - freetype.lib - zlibstat.lib + reroute ) +add_custom_target(casparcg_copy_dependencies ALL) + +casparcg_add_runtime_dependency("${LIBERATION_FONTS_BIN_PATH}/LiberationSans-Regular.ttf") +casparcg_add_runtime_dependency("${CMAKE_CURRENT_SOURCE_DIR}/casparcg.config") + set(OUTPUT_FOLDER "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") +add_custom_command(TARGET casparcg_copy_dependencies POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory \"${OUTPUT_FOLDER}\") -add_custom_command(TARGET casparcg POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avcodec-55.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avdevice-55.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avfilter-4.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avformat-55.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/avutil-52.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/postproc-52.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/swresample-0.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FFMPEG_BIN_PATH}/swscale-2.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FREEIMAGE_BIN_PATH}/FreeImage.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${FREEIMAGE_BIN_PATH}/FreeImaged.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${GLEW_BIN_PATH}/glew32.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${OPENAL_BIN_PATH}/OpenAL32.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${OPENAL_BIN_PATH}/wrap_oal.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbb.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbb_debug.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc_debug.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc_proxy.dll\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${TBB_BIN_PATH}/tbbmalloc_proxy_debug.dll\" \"${OUTPUT_FOLDER}/\" - - COMMAND ${CMAKE_COMMAND} -E copy \"${LIBERATION_FONTS_BIN_PATH}/LiberationSans-Regular.ttf\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${LIBERATION_FONTS_BIN_PATH}/LiberationSans-Regular.ttf\" \"${CMAKE_CURRENT_BINARY_DIR}/\" - - COMMAND ${CMAKE_COMMAND} -E copy \"${CMAKE_CURRENT_SOURCE_DIR}/casparcg.config\" \"${OUTPUT_FOLDER}/\" - COMMAND ${CMAKE_COMMAND} -E copy \"${CMAKE_CURRENT_SOURCE_DIR}/casparcg.config\" \"${CMAKE_CURRENT_BINARY_DIR}/\" -) +foreach(FILE_TO_COPY ${CASPARCG_RUNTIME_DEPENDENCIES}) + if(IS_DIRECTORY ${FILE_TO_COPY}) + get_filename_component(FOLDER_NAME "${FILE_TO_COPY}" NAME) + add_custom_command(TARGET casparcg_copy_dependencies POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory \"${FILE_TO_COPY}\" \"${OUTPUT_FOLDER}/${FOLDER_NAME}\") + add_custom_command(TARGET casparcg_copy_dependencies POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory \"${FILE_TO_COPY}\" \"${CMAKE_CURRENT_BINARY_DIR}/${FOLDER_NAME}\") + else() + add_custom_command(TARGET casparcg_copy_dependencies POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy \"${FILE_TO_COPY}\" \"${OUTPUT_FOLDER}/\") + add_custom_command(TARGET casparcg_copy_dependencies POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy \"${FILE_TO_COPY}\" \"${CMAKE_CURRENT_BINARY_DIR}/\") + endif() +endforeach(FILE_TO_COPY)