]> git.sesse.net Git - casparcg/blobdiff - modules/decklink/CMakeLists.txt
Merged reference signal detection in decklink consumer from 2.0
[casparcg] / modules / decklink / CMakeLists.txt
index 1b9cf2ac463139b124983de355b0c52aa8fc4714..a379f27428d6f37825c817293e2dc9308178e453 100644 (file)
@@ -4,8 +4,6 @@ project (decklink)
 set(SOURCES
                consumer/decklink_consumer.cpp
 
-               interop/DeckLinkAPI_i.c
-
                producer/decklink_producer.cpp
 
                decklink.cpp
@@ -15,18 +13,45 @@ set(SOURCES
 set(HEADERS
                consumer/decklink_consumer.h
 
-               interop/DeckLinkAPI_h.h
-               interop/DeckLinkAPIVersion.h
-
                producer/decklink_producer.h
 
                util/util.h
 
                decklink.h
+               decklink_api.h
                StdAfx.h
 )
+if (MSVC)
+       set(OS_SPECIFIC_SOURCES
+                       interop/DeckLinkAPI_i.c
+                       interop/DeckLinkAPI.h
+                       interop/DeckLinkAPIVersion.h
+       )
+elseif (CMAKE_COMPILER_IS_GNUCXX)
+       set(OS_SPECIFIC_SOURCES
+                       linux_interop/DeckLinkAPIConfiguration.h
+                       linux_interop/DeckLinkAPIDeckControl.h
+                       linux_interop/DeckLinkAPIDispatch.cpp
+                       linux_interop/DeckLinkAPIModes.h
+                       linux_interop/DeckLinkAPI_v10_2.h
+                       linux_interop/DeckLinkAPI_v7_3.h
+                       linux_interop/DeckLinkAPI_v7_9.h
+                       linux_interop/DeckLinkAPI_v8_1.h
+                       linux_interop/DeckLinkAPI_v9_9.h
+                       linux_interop/LinuxCOM.h
+                       linux_interop/DeckLinkAPIConfiguration_v10_2.h
+                       linux_interop/DeckLinkAPIDiscovery.h
+                       linux_interop/DeckLinkAPI.h
+                       linux_interop/DeckLinkAPITypes.h
+                       linux_interop/DeckLinkAPI_v7_1.h
+                       linux_interop/DeckLinkAPI_v7_6.h
+                       linux_interop/DeckLinkAPI_v8_0.h
+                       linux_interop/DeckLinkAPI_v9_2.h
+                       linux_interop/DeckLinkAPIVersion.h
+       )
+endif ()
 
-add_library(decklink ${SOURCES} ${HEADERS})
+add_library(decklink ${SOURCES} ${HEADERS} ${OS_SPECIFIC_SOURCES})
 add_precompiled_header(decklink StdAfx.h FORCEINCLUDE)
 
 include_directories(..)
@@ -41,8 +66,23 @@ source_group(sources ./*)
 source_group(sources\\consumer consumer/*)
 source_group(sources\\interop interop/*)
 source_group(sources\\producer producer/*)
+source_group(sources\\util util/*)
+
+if (MSVC)
+       target_link_libraries(decklink
+                       common
+                       core
+                       ffmpeg
+       )
+elseif (CMAKE_COMPILER_IS_GNUCXX)
+       target_link_libraries(decklink
+                       common
+                       core
+                       ffmpeg
 
-target_link_libraries(decklink common core ffmpeg)
+                       dl
+       )
+endif ()
 
 casparcg_add_include_statement("modules/decklink/decklink.h")
 casparcg_add_init_statement("decklink::init" "decklink")