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)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
|
||||
|
||||
set(PYBIND11_CPP_STANDARD -std=c++17)
|
||||
|
||||
add_subdirectory("lib/pybind11")
|
||||
|
||||
find_package(NDI REQUIRED)
|
||||
|
||||
file(GLOB INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp)
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
||||
|
||||
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})
|
||||
|
||||
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