find package ndi
This commit is contained in:
@@ -1,16 +1,22 @@
|
|||||||
cmake_minimum_required(VERSION 3.1)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
project(NDIlib VERSION 4.5.1)
|
project(NDIlib VERSION 4.5.1)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
|
||||||
|
|
||||||
set(PYBIND11_CPP_STANDARD -std=c++17)
|
set(PYBIND11_CPP_STANDARD -std=c++17)
|
||||||
|
|
||||||
add_subdirectory("lib/pybind11")
|
add_subdirectory("lib/pybind11")
|
||||||
|
|
||||||
|
find_package(NDI REQUIRED)
|
||||||
|
|
||||||
file(GLOB INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp)
|
file(GLOB INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp)
|
||||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
||||||
|
|
||||||
pybind11_add_module(NDIlib SHARED ${INCLUDES} ${SOURCES})
|
pybind11_add_module(NDIlib SHARED ${INCLUDES} ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(NDIlib PRIVATE pybind11::module ndi)
|
target_include_directories(NDIlib PRIVATE ${NDI_INCLUDE_DIR})
|
||||||
|
target_link_directories(NDIlib PRIVATE ${NDI_LIBRARY_DIR})
|
||||||
|
target_link_libraries(NDIlib PRIVATE pybind11::module ${NDI_LIBS})
|
||||||
|
|
||||||
source_group("" FILES ${SOURCES} ${INCLUDES})
|
source_group("" FILES ${SOURCES} ${INCLUDES})
|
||||||
|
|||||||
25
cmake/Modules/FindNDI.cmake
Normal file
25
cmake/Modules/FindNDI.cmake
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
if(WIN32)
|
||||||
|
if(DEFINED ENV{NDI_SDK_DIR})
|
||||||
|
set(NDI_FOUND TRUE)
|
||||||
|
set(NDI_DIR $ENV{NDI_SDK_DIR})
|
||||||
|
string(REPLACE "\\" "/" NDI_DIR "${NDI_DIR}")
|
||||||
|
set(NDI_INCLUDE_DIR "${NDI_DIR}/Include")
|
||||||
|
set(NDI_LIBRARY_DIR "${NDI_DIR}/Lib/x64")
|
||||||
|
set(NDI_LIBS "Processing.NDI.Lib.x64")
|
||||||
|
else()
|
||||||
|
set(NDI_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
elseif(UNIX)
|
||||||
|
if(EXISTS "/usr/include/Processing.NDI.Lib.h")
|
||||||
|
set(NDI_FOUND TRUE)
|
||||||
|
set(NDI_DIR "/usr")
|
||||||
|
set(NDI_INCLUDE_DIR "${NDI_DIR}/include")
|
||||||
|
set(NDI_LIBRARY_DIR "${NDI_DIR}/lib")
|
||||||
|
set(NDI_LIBS "ndi")
|
||||||
|
else()
|
||||||
|
set(NDI_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(NDI DEFAULT_MSG NDI_DIR ${NDI_FOUND})
|
||||||
Reference in New Issue
Block a user