|
|
@@ -14,53 +14,68 @@ find_package(LibAJANTV2 REQUIRED)
|
|
|
add_library(aja MODULE)
|
|
|
add_library(OBS::aja ALIAS aja)
|
|
|
|
|
|
+add_library(aja-support OBJECT)
|
|
|
+add_library(OBS::aja-support ALIAS aja-support)
|
|
|
+
|
|
|
target_sources(
|
|
|
- aja
|
|
|
- PRIVATE main.cpp
|
|
|
+ aja-support
|
|
|
+ PRIVATE # cmake-format: sortable
|
|
|
aja-card-manager.cpp
|
|
|
aja-common.cpp
|
|
|
- aja-common.hpp
|
|
|
- aja-output.cpp
|
|
|
- aja-enums.hpp
|
|
|
- aja-output.hpp
|
|
|
aja-presets.cpp
|
|
|
- aja-presets.hpp
|
|
|
aja-props.cpp
|
|
|
- aja-props.hpp
|
|
|
aja-routing.cpp
|
|
|
- aja-routing.hpp
|
|
|
- aja-source.cpp
|
|
|
- aja-source.hpp
|
|
|
aja-vpid-data.cpp
|
|
|
- aja-vpid-data.hpp
|
|
|
aja-widget-io.cpp
|
|
|
- aja-widget-io.hpp
|
|
|
- aja-card-manager.hpp
|
|
|
- aja-ui-props.hpp
|
|
|
+ PUBLIC # cmake-format: sortable
|
|
|
+ aja-card-manager.hpp
|
|
|
+ aja-common.hpp
|
|
|
+ aja-enums.hpp
|
|
|
+ aja-presets.hpp
|
|
|
+ aja-props.hpp
|
|
|
+ aja-routing.hpp
|
|
|
+ aja-ui-props.hpp
|
|
|
+ aja-vpid-data.hpp
|
|
|
+ aja-widget-io.hpp)
|
|
|
+
|
|
|
+target_link_libraries(aja-support PUBLIC OBS::libobs AJA::LibAJANTV2)
|
|
|
+
|
|
|
+set_target_properties(aja-support PROPERTIES FOLDER plugins/aja POSITION_INDEPENDENT_CODE TRUE)
|
|
|
+
|
|
|
+target_sources(
|
|
|
+ aja
|
|
|
+ PRIVATE # cmake-format: sortable
|
|
|
+ aja-output.cpp
|
|
|
+ aja-output.hpp
|
|
|
+ aja-source.cpp
|
|
|
+ aja-source.hpp
|
|
|
audio-repack.c
|
|
|
audio-repack.h
|
|
|
- audio-repack.hpp)
|
|
|
+ audio-repack.hpp
|
|
|
+ main.cpp)
|
|
|
+
|
|
|
+target_compile_options(aja-support PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-deprecated-declarations>)
|
|
|
|
|
|
-target_link_libraries(aja PRIVATE OBS::libobs AJA::LibAJANTV2)
|
|
|
+target_link_libraries(
|
|
|
+ aja
|
|
|
+ PRIVATE OBS::aja-support
|
|
|
+ $<$<PLATFORM_ID:Windows>:netapi32.lib>
|
|
|
+ $<$<PLATFORM_ID:Windows>:setupapi.lib>
|
|
|
+ $<$<PLATFORM_ID:Windows>:shlwapi.lib>
|
|
|
+ $<$<PLATFORM_ID:Windows>:winmm.lib>
|
|
|
+ $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
|
|
+ "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,AppKit.framework>>"
|
|
|
+ "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,CoreFoundation.framework>>"
|
|
|
+ "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,IOKit.framework>>")
|
|
|
+
|
|
|
+target_link_options(aja PRIVATE $<$<PLATFORM_ID:Windows>:/IGNORE:4099>)
|
|
|
|
|
|
if(OS_WINDOWS)
|
|
|
configure_file(cmake/windows/obs-module.rc.in win-aja.rc)
|
|
|
target_sources(aja PRIVATE win-aja.rc)
|
|
|
-
|
|
|
- target_compile_options(aja PRIVATE /wd4996)
|
|
|
-
|
|
|
- target_link_libraries(aja PRIVATE ws2_32.lib setupapi.lib Winmm.lib netapi32.lib Shlwapi.lib)
|
|
|
- target_link_options(aja PRIVATE /IGNORE:4099)
|
|
|
-
|
|
|
-elseif(OS_MACOS)
|
|
|
- find_library(IOKIT IOKit)
|
|
|
- find_library(COREFOUNDATION CoreFoundation)
|
|
|
- find_library(APPKIT AppKit)
|
|
|
-
|
|
|
- target_link_libraries(aja PRIVATE ${IOKIT} ${COREFOUNDATION} ${APPKIT})
|
|
|
- target_compile_options(aja PRIVATE -Wno-deprecated-declarations -Wno-shorten-64-to-32)
|
|
|
-elseif(OS_LINUX OR OS_FREEBSD)
|
|
|
- target_compile_options(aja PRIVATE -Wno-deprecated-declarations)
|
|
|
+ set_property(TARGET aja PROPERTY COMPILE_WARNING_AS_ERROR FALSE)
|
|
|
endif()
|
|
|
|
|
|
-set_target_properties_obs(aja PROPERTIES FOLDER plugins PREFIX "")
|
|
|
+# cmake-format: off
|
|
|
+set_target_properties_obs(aja PROPERTIES FOLDER plugins/aja PREFIX "")
|
|
|
+# cmake-format: on
|