cmake_minimum_required(VERSION 3.5)
project(traffic_light_api_demo)
set(CMAKE_CXX_STANDARD 14)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_CXX_EXTENSIONS ON)

# 收集源文件
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SRCS)

# 构建目标
add_executable(${PROJECT_NAME}-traffic_light traffic_light.cpp)
add_executable(${PROJECT_NAME}-multi_traffic_light multi_traffic_light.cpp)

target_include_directories(${PROJECT_NAME}-traffic_light
PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/..
    ${CMAKE_CURRENT_SOURCE_DIR}/../mqtt
    ${CMAKE_CURRENT_BINARY_DIR}/../proto
)

target_include_directories(${PROJECT_NAME}-multi_traffic_light
PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/..
    ${CMAKE_CURRENT_SOURCE_DIR}/../mqtt
    ${CMAKE_CURRENT_BINARY_DIR}/../proto
)

target_link_libraries(${PROJECT_NAME}-traffic_light
    pthread
    protobuf
    mosquitto
    traffic_light_api
)
target_link_libraries(${PROJECT_NAME}-multi_traffic_light
    pthread
    protobuf
    mosquitto
    traffic_light_api
)