88 lines
3.0 KiB
CMake
88 lines
3.0 KiB
CMake
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})
|