Files
lzwc-terminal-unitreeGo2/CMakeLists.txt

55 lines
1.0 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(unitree_go2_custom VERSION 1.0.0)
# Set C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Find required packages
find_package(PkgConfig REQUIRED)
find_package(Threads REQUIRED)
# Find installed unitree_sdk2
find_package(unitree_sdk2 REQUIRED)
# MQTT library is no longer required
# Find JSON library
find_package(nlohmann_json REQUIRED)
# Include directories
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/nlohmann
)
# Source files
set(SOURCES
src/main.cpp
src/controller.cpp
src/custom_robot.cpp
src/config.cpp
src/logger.cpp
# src/mqtt.cpp # Disabled MQTT for now
)
# Create executable with simple name
add_executable(main ${SOURCES})
# Link libraries
target_link_libraries(main
unitree_sdk2
Threads::Threads
)
# Set output directory
set_target_properties(main PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
)
# Install target
install(TARGETS main
RUNTIME DESTINATION bin
)