cmake_minimum_required(VERSION 3.5) project(t3hs_frame_exporter) set(CMAKE_CXX_STANDARD 17) set(THIRD_PARTY_BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party") set(OpenCV_DIR "${THIRD_PARTY_BASE_DIR}/opencv/lib/cmake/opencv4") find_package(OpenCV REQUIRED) set(ZBAR_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/zbar/usr") set(ZBAR_INCLUDE_DIRS "${ZBAR_ROOT_DIR}/include") set(ZBAR_LIBRARIES "${ZBAR_ROOT_DIR}/lib/libzbar.so") set(V4L2_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/v4l2/usr") set(V4L2_INCLUDE_DIRS "${V4L2_ROOT_DIR}/include") set(V4L2_LIBRARIES "${V4L2_ROOT_DIR}/lib/libv4l2.so" "${V4L2_ROOT_DIR}/lib/libv4lconvert.so" ) set(JPEG_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/jpeg/usr") set(JPEG_INCLUDE_DIRS "${JPEG_ROOT_DIR}/include") set(JPEG_LIBRARIES "${JPEG_ROOT_DIR}/lib/libjpeg.so") set(INTL_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/intl/usr") set(INTL_INCLUDE_DIRS "${INTL_ROOT_DIR}/include") set(INTL_LIBRARIES "${INTL_ROOT_DIR}/lib/libintl.so") set(ICONV_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/iconv/usr") set(ICONV_INCLUDE_DIRS "${ICONV_ROOT_DIR}/include") set(ICONV_LIBRARIES "${ICONV_ROOT_DIR}/lib/libiconv.so") set(MOSQUITTO_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/mosquitto") set(MOSQUITTO_INCLUDE_DIRS "${MOSQUITTO_ROOT_DIR}/include") set(MOSQUITTO_LIBRARIES "${MOSQUITTO_ROOT_DIR}/lib/libmosquitto.so" "${MOSQUITTO_ROOT_DIR}/lib/libmosquittopp.so" ) set(SSL_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/openssl/usr") set(SSL_INCLUDE_DIRS "${SSL_ROOT_DIR}/include") set(SSL_LIBRARIES "${SSL_ROOT_DIR}/lib/libssl.so" "${SSL_ROOT_DIR}/lib/libcrypto.so" ) set(LIBCONFIG_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/libconfig/usr") set(LIBCONFIG_INCLUDE_DIRS "${LIBCONFIG_ROOT_DIR}/include") set(LIBCONFIG_LIBRARIES "${LIBCONFIG_ROOT_DIR}/lib/libconfig.so" "${LIBCONFIG_ROOT_DIR}/lib/libconfig++.so" ) set(NLOHMANN_ROOT_DIR "${THIRD_PARTY_BASE_DIR}/nlohmann/usr") set(NLOHMANN_INCLUDE_DIRS "${NLOHMANN_ROOT_DIR}/include") set(SOURCES src/main.cpp src/utils.cpp src/settings.cpp src/mqtt_client.cpp src/t3hs_proto.cpp ) add_executable(t3hs_frame_exporter ${SOURCES}) include_directories(${OpenCV_INCLUDE_DIRS}) include_directories(${ZBAR_INCLUDE_DIRS}) include_directories(${V4L2_INCLUDE_DIRS}) include_directories(${JPEG_INCLUDE_DIRS}) include_directories(${INTL_INCLUDE_DIRS}) include_directories(${ICONV_INCLUDE_DIRS}) include_directories(${MOSQUITTO_INCLUDE_DIRS}) include_directories(${SSL_INCLUDE_DIRS}) include_directories(${LIBCONFIG_INCLUDE_DIRS}) include_directories(${NLOHMANN_INCLUDE_DIRS}) target_link_libraries(t3hs_frame_exporter ${OpenCV_LIBS}) target_link_libraries(t3hs_frame_exporter ${ZBAR_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${V4L2_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${JPEG_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${INTL_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${ICONV_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${MOSQUITTO_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${SSL_LIBRARIES}) target_link_libraries(t3hs_frame_exporter ${LIBCONFIG_LIBRARIES})