Mujoco : Exemple minimal de compilation avec CMake

Exemple minimal de compilation Mujoco avec CMake avec GLFW3

Ceci est un exemple minimal de compilation d’une application Mujoco avec CMake et GLFW3, c’est-à-dire avec interface graphique.

CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(mujocotest)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(PkgConfig REQUIRED)
pkg_search_module(MUJOCO mujoco)
pkg_search_module(GLFW REQUIRED glfw3)

if(NOT MUJOCO_FOUND)
	set(MUJOCO_INCLUDE_DIRS /opt/mujoco/include)
	set(MUJOCO_LIBRARIES /opt/mujoco/lib/libmujoco.so)
endif()

add_executable(mujocotest main.cpp)
target_include_directories(mujocotest PRIVATE ${MUJOCO_INCLUDE_DIRS} ${GLFW_INCLUDE_DIRS})
target_link_libraries(mujocotest PRIVATE ${MUJOCO_LIBRARIES} ${GLFW_LIBRARIES})

Exemple minimal de compilation Mujoco avec CMake sans GLFW3

Ceci est utile si vous souhaitez compiler une application Mujoco sans interface graphique, par exemple pour une exécution sur un serveur.

CMakeLists_no_glfw.txt
cmake_minimum_required(VERSION 3.10)
project(mujocotest)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(PkgConfig REQUIRED)
pkg_search_module(MUJOCO mujoco)
if(NOT MUJOCO_FOUND)
  set(MUJOCO_INCLUDE_DIRS /opt/mujoco/include)
  set(MUJOCO_LIBRARIES /opt/mujoco/lib/libmujoco.so)
endif()

add_executable(mujocotest main.cpp)
target_include_directories(mujocotest PRIVATE ${MUJOCO_INCLUDE_DIRS})
target_link_libraries(mujocotest PRIVATE ${MUJOCO_LIBRARIES})

Check out similar posts by category: Mujoco, CMake