cmake_minimum_required(VERSION 3.28.3)
project(LW_DS_Sample)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++")


execute_process(
        COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
        OUTPUT_VARIABLE COMPILER_TARGET
        OUTPUT_STRIP_TRAILING_WHITESPACE
)

# 检查编译器目标是否为 ARM
set(TARGET_PLATFORM "None Target")
set(CameraLib "")

if(COMPILER_TARGET MATCHES "arm|aarch64")
    set(TARGET_PLATFORM "ArmLinux")
    set(CameraLib "${CMAKE_CURRENT_SOURCE_DIR}/Arm64/libds_c_sdk.so")
else()
    set(TARGET_PLATFORM "Linux")
    set(CameraLib "${CMAKE_CURRENT_SOURCE_DIR}/Linux64/libds_c_sdk.so")
endif()
message(${TARGET_PLATFORM})


# 设置源文件编码为 UTF-8
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -finput-charset=UTF-8 -fexec-charset=UTF-8")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -finput-charset=UTF-8 -fexec-charset=UTF-8")

# MSVC 特殊处理
if (MSVC)
    add_compile_options(/utf-8)
endif()


add_executable(LW_DS_Sample
        LWDSType.h
        LWDSApi.h
        main.cpp
)


if (MSVC)
    target_link_libraries(${PROJECT_NAME} PRIVATE Ws2_32)
endif ()

target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads)

#链接到库
target_link_libraries(${PROJECT_NAME} PUBLIC
        ${CameraLib}
)
