# 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})