56 lines
1.9 KiB
CMake
56 lines
1.9 KiB
CMake
# Camera SDK Paths
|
|
set(CAMPORT3_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/third_party/percipio)
|
|
set(CAMPORT3_LIB_DIR ${CAMPORT3_ROOT}/lib/win/x64)
|
|
|
|
# Import tycam library (MinGW)
|
|
add_library(tycam SHARED IMPORTED)
|
|
|
|
if(EXISTS ${CAMPORT3_LIB_DIR}/libtycam.dll.a)
|
|
set_target_properties(tycam PROPERTIES
|
|
IMPORTED_LOCATION ${CAMPORT3_LIB_DIR}/tycam.dll
|
|
IMPORTED_IMPLIB ${CAMPORT3_LIB_DIR}/libtycam.dll.a
|
|
)
|
|
message(STATUS "Using libtycam.dll.a (MinGW compatible)")
|
|
elseif(EXISTS ${CAMPORT3_LIB_DIR}/tycam.lib)
|
|
set_target_properties(tycam PROPERTIES
|
|
IMPORTED_LOCATION ${CAMPORT3_LIB_DIR}/tycam.dll
|
|
IMPORTED_IMPLIB ${CAMPORT3_LIB_DIR}/tycam.lib
|
|
)
|
|
message(STATUS "Using tycam.lib (may require conversion to .dll.a if linking fails)")
|
|
else()
|
|
message(FATAL_ERROR "Neither libtycam.dll.a nor tycam.lib found in ${CAMPORT3_LIB_DIR}")
|
|
endif()
|
|
|
|
# Static API Library Sources
|
|
set(CPP_API_SOURCES
|
|
${CAMPORT3_ROOT}/sample_v2/cpp/Device.cpp
|
|
${CAMPORT3_ROOT}/sample_v2/cpp/Frame.cpp
|
|
${CAMPORT3_ROOT}/common/MatViewer.cpp
|
|
${CAMPORT3_ROOT}/common/TYThread.cpp
|
|
${CAMPORT3_ROOT}/common/crc32.cpp
|
|
${CAMPORT3_ROOT}/common/json11.cpp
|
|
${CAMPORT3_ROOT}/common/ParametersParse.cpp
|
|
${CAMPORT3_ROOT}/common/huffman.cpp
|
|
${CAMPORT3_ROOT}/common/ImageSpeckleFilter.cpp
|
|
${CAMPORT3_ROOT}/common/DepthInpainter.cpp
|
|
)
|
|
|
|
add_library(cpp_api_lib STATIC ${CPP_API_SOURCES})
|
|
|
|
target_include_directories(cpp_api_lib PUBLIC
|
|
${CAMPORT3_ROOT}/include
|
|
${CAMPORT3_ROOT}/sample_v2/hpp
|
|
${CAMPORT3_ROOT}/common
|
|
${OpenCV_INCLUDE_DIRS}
|
|
)
|
|
|
|
# Fix for MinGW: Ensure standard C++ headers are found
|
|
if(MINGW)
|
|
target_include_directories(cpp_api_lib SYSTEM PUBLIC
|
|
${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}
|
|
)
|
|
endif()
|
|
|
|
target_link_libraries(cpp_api_lib PUBLIC ${OpenCV_LIBS})
|
|
target_link_directories(cpp_api_lib PUBLIC ${OpenCV_LIB_DIRS})
|