From bd68f0c6cc375f201a3157df09e8033a0d2884af Mon Sep 17 00:00:00 2001 From: Matija Kecman Date: Fri, 10 Oct 2025 03:53:50 -0700 Subject: [PATCH] Update CMake to use C++20 PiperOrigin-RevId: 817573868 Change-Id: I22c98515763623d7411fd12910cf88cdaa336e6e --- cmake/MujocoOptions.cmake | 2 +- doc/changelog.rst | 2 ++ sample/cmake/SampleOptions.cmake | 2 +- simulate/cmake/SimulateOptions.cmake | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cmake/MujocoOptions.cmake b/cmake/MujocoOptions.cmake index de146d89..a606220c 100644 --- a/cmake/MujocoOptions.cmake +++ b/cmake/MujocoOptions.cmake @@ -15,7 +15,7 @@ # Global compilation settings set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_C_EXTENSIONS OFF) diff --git a/doc/changelog.rst b/doc/changelog.rst index 63a8d6da..93625f24 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -26,6 +26,8 @@ General no :ref:`material` is set and :ref:`rgba` is default. - Added :ref:`mju_getXMLDependencies` for computing a list of unique asset dependencies from an MJCF file. - Added the code sample ``dependencies`` which provides command line utility for printing the result of :ref:`mju_getXMLDependencies`. +- The minimum C++ standard required to compile MuJoCo is now C++20, this has been the case within Google since 2023 but + the CMake update was forgotten. .. admonition:: Breaking ABI changes :class: attention diff --git a/sample/cmake/SampleOptions.cmake b/sample/cmake/SampleOptions.cmake index de146d89..a606220c 100644 --- a/sample/cmake/SampleOptions.cmake +++ b/sample/cmake/SampleOptions.cmake @@ -15,7 +15,7 @@ # Global compilation settings set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_C_EXTENSIONS OFF) diff --git a/simulate/cmake/SimulateOptions.cmake b/simulate/cmake/SimulateOptions.cmake index de146d89..a606220c 100644 --- a/simulate/cmake/SimulateOptions.cmake +++ b/simulate/cmake/SimulateOptions.cmake @@ -15,7 +15,7 @@ # Global compilation settings set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_C_EXTENSIONS OFF)