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 )