1if (NOT DE_DEFS)
2	message(FATAL_ERROR "Include Defs.cmake")
3endif ()
4
5if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/vk_video_decoder/CMakeLists.txt")
6	set(DEFAULT_NV_VIDEO_SAMPLES_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src)
7else ()
8	message(FATAL_ERROR "nvidia-video-samples source code not found")
9endif ()
10
11set(NV_VIDEO_SAMPLES_SRC_PATH ${DEFAULT_NV_VIDEO_SAMPLES_SRC_PATH} CACHE STRING "Path to nvidia-video-samples source tree")
12
13if (IS_ABSOLUTE ${NV_VIDEO_SAMPLES_SRC_PATH})
14	set(NV_VIDEO_SAMPLES_ABS_PATH ${NV_VIDEO_SAMPLES_SRC_PATH})
15else ()
16	set(NV_VIDEO_SAMPLES_ABS_PATH "${CMAKE_SOURCE_DIR}/${NV_VIDEO_SAMPLES_SRC_PATH}")
17endif ()
18
19if (EXISTS "${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt")
20	message(STATUS "nvidia-video-samples parser found")
21	set(NV_VIDEO_PARSER_SOURCE "${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/libs/NvVideoParser")
22
23	set (PARSER_SOURCES
24		${NV_VIDEO_PARSER_SOURCE}/src/VulkanH264Parser.cpp
25		${NV_VIDEO_PARSER_SOURCE}/src/VulkanH265Parser.cpp
26		${NV_VIDEO_PARSER_SOURCE}/src/VulkanVideoDecoder.cpp
27	)
28
29	set(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS})
30	set(CMAKE_CXX_FLAGS ${DE_3RD_PARTY_CXX_FLAGS})
31
32	set(PARSER_INCLUDE_DIRS
33		"${NV_VIDEO_SAMPLES_ABS_PATH}/common/include" # RefCountBase and friends
34		"${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/include"
35		"${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/include/NvVideoParser"
36		"${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/include/vkvideo_parser"
37		"${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/libs" # ReferenceCountedPool, drop this if possbile, could do without the complexity
38		"${NV_VIDEO_SAMPLES_ABS_PATH}/vk_video_decoder/libs/NvVideoParser/include"
39		)
40
41	set(NV_VIDEO_PARSER_INCLUDE_DIRS ${PARSER_INCLUDE_DIRS} PARENT_SCOPE)
42	set(NV_VIDEO_PARSER_SOURCES ${PARSER_SOURCES} PARENT_SCOPE)
43else ()
44	message(FATAL_ERROR "nvidia-video-samples not found")
45endif ()
46