cmake_minimum_required(VERSION 3.14)

find_package(Qt5 REQUIRED COMPONENTS Core Gui)

if(NOT TARGET VrCommon)
    add_library(VrCommon INTERFACE)
    target_include_directories(VrCommon INTERFACE
        ${CMAKE_CURRENT_SOURCE_DIR}/../VrCommon/Inc
    )
endif()

if(NOT TARGET VrUtils)
    add_subdirectory(
        "${CMAKE_CURRENT_SOURCE_DIR}/../VrUtils"
        "${CMAKE_CURRENT_BINARY_DIR}/VrUtils"
    )
endif()

add_library(CloudUtils STATIC
    Src/LaserDataLoader.cpp
    Src/PointCloudImageUtils.cpp
    Inc/LaserDataLoader.h
    Inc/PointCloudImageUtils.h
)

set_target_properties(CloudUtils PROPERTIES
    CXX_STANDARD 11
    CXX_STANDARD_REQUIRED ON
)

target_include_directories(CloudUtils PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/Inc
)

target_link_libraries(CloudUtils
    PUBLIC
        VrCommon
        Qt5::Core
        Qt5::Gui
    PRIVATE
        VrUtils
)

if(MSVC)
    target_compile_options(CloudUtils PRIVATE /utf-8)
endif()
