diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 874039dd72..9277140bf9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -148,6 +148,7 @@ jobs: cd build && cmake .. -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF -DCMAKE_INSTALL_PREFIX:STRING=${{ matrix.tmpdir }}/mujoco_install -DMUJOCO_BUILD_EXAMPLES:BOOL=OFF ${{ matrix.cmake_args }} @@ -192,6 +193,7 @@ jobs: cd build && cmake .. -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF -Dmujoco_ROOT:STRING=${{ matrix.tmpdir }}/mujoco_install ${{ matrix.cmake_args }} - name: Build samples @@ -204,6 +206,7 @@ jobs: cd build && cmake .. -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF -Dmujoco_ROOT:STRING=${{ matrix.tmpdir }}/mujoco_install ${{ matrix.cmake_args }} - name: Build simulate diff --git a/cmake/MujocoOptions.cmake b/cmake/MujocoOptions.cmake index 3e3f080f01..de146d89ff 100644 --- a/cmake/MujocoOptions.cmake +++ b/cmake/MujocoOptions.cmake @@ -104,6 +104,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang endif() endif() +if(NOT CMAKE_INTERPROCEDURAL_OPTIMIZATION AND (CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) +endif() + include(MujocoHarden) set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} ${MUJOCO_HARDEN_COMPILE_OPTIONS}) set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} ${MUJOCO_HARDEN_LINK_OPTIONS}) diff --git a/sample/cmake/SampleOptions.cmake b/sample/cmake/SampleOptions.cmake index 3e3f080f01..de146d89ff 100644 --- a/sample/cmake/SampleOptions.cmake +++ b/sample/cmake/SampleOptions.cmake @@ -104,6 +104,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang endif() endif() +if(NOT CMAKE_INTERPROCEDURAL_OPTIMIZATION AND (CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) +endif() + include(MujocoHarden) set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} ${MUJOCO_HARDEN_COMPILE_OPTIONS}) set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} ${MUJOCO_HARDEN_LINK_OPTIONS}) diff --git a/simulate/cmake/SimulateOptions.cmake b/simulate/cmake/SimulateOptions.cmake index 3e3f080f01..de146d89ff 100644 --- a/simulate/cmake/SimulateOptions.cmake +++ b/simulate/cmake/SimulateOptions.cmake @@ -104,6 +104,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang endif() endif() +if(NOT CMAKE_INTERPROCEDURAL_OPTIMIZATION AND (CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) +endif() + include(MujocoHarden) set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} ${MUJOCO_HARDEN_COMPILE_OPTIONS}) set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} ${MUJOCO_HARDEN_LINK_OPTIONS})