]> git.sesse.net Git - casparcg/blob - modules/decklink/CMakeLists.txt
84ce9d29f7714c417f4217a51a1d4b92e76c3227
[casparcg] / modules / decklink / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2 project (decklink)
3
4 set(SOURCES
5                 consumer/decklink_consumer.cpp
6
7                 producer/decklink_producer.cpp
8
9                 decklink.cpp
10                 StdAfx.c
11                 StdAfx.cpp
12 )
13 set(HEADERS
14                 consumer/decklink_consumer.h
15
16                 producer/decklink_producer.h
17
18                 util/util.h
19
20                 decklink.h
21                 decklink_api.h
22                 StdAfx.h
23 )
24 if (MSVC)
25         set(OS_SPECIFIC_SOURCES
26                         interop/DeckLinkAPI_i.c
27                         interop/DeckLinkAPI.h
28                         interop/DeckLinkAPIVersion.h
29         )
30 elseif (CMAKE_COMPILER_IS_GNUCXX)
31         set(OS_SPECIFIC_SOURCES
32                         linux_interop/DeckLinkAPIConfiguration.h
33                         linux_interop/DeckLinkAPIDeckControl.h
34                         linux_interop/DeckLinkAPIDispatch.cpp
35                         linux_interop/DeckLinkAPIModes.h
36                         linux_interop/DeckLinkAPI_v10_2.h
37                         linux_interop/DeckLinkAPI_v7_3.h
38                         linux_interop/DeckLinkAPI_v7_9.h
39                         linux_interop/DeckLinkAPI_v8_1.h
40                         linux_interop/DeckLinkAPI_v9_9.h
41                         linux_interop/LinuxCOM.h
42                         linux_interop/DeckLinkAPIConfiguration_v10_2.h
43                         linux_interop/DeckLinkAPIDiscovery.h
44                         linux_interop/DeckLinkAPI.h
45                         linux_interop/DeckLinkAPITypes.h
46                         linux_interop/DeckLinkAPI_v7_1.h
47                         linux_interop/DeckLinkAPI_v7_6.h
48                         linux_interop/DeckLinkAPI_v8_0.h
49                         linux_interop/DeckLinkAPI_v9_2.h
50                         linux_interop/DeckLinkAPIVersion.h
51         )
52 endif ()
53
54 add_library(decklink ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES})
55 add_precompiled_header(decklink StdAfx.h FORCEINCLUDE)
56
57 include_directories(..)
58 include_directories(../..)
59 include_directories(${BOOST_INCLUDE_PATH})
60 include_directories(${TBB_INCLUDE_PATH})
61 include_directories(${FFMPEG_INCLUDE_PATH})
62 include_directories(${RXCPP_INCLUDE_PATH})
63 include_directories(${ASMLIB_INCLUDE_PATH})
64
65 set_target_properties(decklink PROPERTIES FOLDER modules)
66 source_group(sources ./*)
67 source_group(sources\\consumer consumer/*)
68 source_group(sources\\interop interop/*)
69 source_group(sources\\producer producer/*)
70 source_group(sources\\util util/*)
71
72 if (MSVC)
73         target_link_libraries(decklink
74                         common
75                         core
76                         ffmpeg
77         )
78 elseif (CMAKE_COMPILER_IS_GNUCXX)
79         target_link_libraries(decklink
80                         common
81                         core
82                         ffmpeg
83
84                         dl
85         )
86 endif ()
87
88 casparcg_add_include_statement("modules/decklink/decklink.h")
89 casparcg_add_init_statement("decklink::init" "decklink")
90 casparcg_add_module_project("decklink")