Refactor cmake_minimum_required handling in dependencies
Removed PATCH_COMMAND for cmake_minimum_required updates and added checks for CMAKE_POLICY_VERSION_MINIMUM.
This commit is contained in:
committed by
GitHub
parent
0ddb840395
commit
ea856a4c31
@@ -78,8 +78,6 @@ mark_as_advanced(MUJOCO_DEP_VERSION_TriangleMeshDistance)
|
|||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
include(FindOrFetch)
|
include(FindOrFetch)
|
||||||
|
|
||||||
set(PATCH_SCRIPT ${PROJECT_SOURCE_DIR}/cmake/UpdateCMakeMinimumRequired.cmake)
|
|
||||||
|
|
||||||
# Override the BUILD_SHARED_LIBS setting, just for building third party libs (since we always want
|
# Override the BUILD_SHARED_LIBS setting, just for building third party libs (since we always want
|
||||||
# static libraries). The ccd CMakeLists.txt doesn't expose an option to build a static ccd library,
|
# static libraries). The ccd CMakeLists.txt doesn't expose an option to build a static ccd library,
|
||||||
# unless BUILD_SHARED_LIBS is set.
|
# unless BUILD_SHARED_LIBS is set.
|
||||||
@@ -170,6 +168,11 @@ findorfetch(
|
|||||||
target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
|
target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
|
||||||
target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
|
target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
|
||||||
|
|
||||||
|
# update cmake_minimum_required version for compatibility with newer version of cmake
|
||||||
|
if(NOT DEFINED CMAKE_POLICY_VERSION_MINIMUM)
|
||||||
|
set(CMAKE_POLICY_VERSION_MINIMUM ${MUJOCO_CMAKE_MIN_REQ})
|
||||||
|
set(CMAKE_POLICY_VERSION_MINIMUM_LOCALLY_DEFINED ON)
|
||||||
|
endif()
|
||||||
findorfetch(
|
findorfetch(
|
||||||
USE_SYSTEM_PACKAGE
|
USE_SYSTEM_PACKAGE
|
||||||
OFF
|
OFF
|
||||||
@@ -181,13 +184,14 @@ findorfetch(
|
|||||||
https://github.com/tinyobjloader/tinyobjloader.git
|
https://github.com/tinyobjloader/tinyobjloader.git
|
||||||
GIT_TAG
|
GIT_TAG
|
||||||
${MUJOCO_DEP_VERSION_tinyobjloader}
|
${MUJOCO_DEP_VERSION_tinyobjloader}
|
||||||
# update cmake_minimum_required version for compatibility with newer version of cmake
|
|
||||||
PATCH_COMMAND
|
|
||||||
${CMAKE_COMMAND} -DDESIRED_VERSION=${MUJOCO_CMAKE_MIN_REQ} -DTARGET_FILE=<SOURCE_DIR>/CMakeLists.txt -P ${PATCH_SCRIPT}
|
|
||||||
TARGETS
|
TARGETS
|
||||||
tinyobjloader
|
tinyobjloader
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
)
|
)
|
||||||
|
if(CMAKE_POLICY_VERSION_MINIMUM_LOCALLY_DEFINED)
|
||||||
|
unset(CMAKE_POLICY_VERSION_MINIMUM)
|
||||||
|
unset(CMAKE_POLICY_VERSION_MINIMUM_LOCALLY_DEFINED)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT TARGET trianglemeshdistance)
|
if(NOT TARGET trianglemeshdistance)
|
||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
@@ -205,6 +209,11 @@ endif()
|
|||||||
|
|
||||||
set(ENABLE_DOUBLE_PRECISION ON)
|
set(ENABLE_DOUBLE_PRECISION ON)
|
||||||
set(CCD_HIDE_ALL_SYMBOLS ON)
|
set(CCD_HIDE_ALL_SYMBOLS ON)
|
||||||
|
# update cmake_minimum_required version for compatibility with newer version of cmake
|
||||||
|
if(NOT DEFINED CMAKE_POLICY_VERSION_MINIMUM)
|
||||||
|
set(CMAKE_POLICY_VERSION_MINIMUM ${MUJOCO_CMAKE_MIN_REQ})
|
||||||
|
set(CMAKE_POLICY_VERSION_MINIMUM_LOCALLY_DEFINED ON)
|
||||||
|
endif()
|
||||||
findorfetch(
|
findorfetch(
|
||||||
USE_SYSTEM_PACKAGE
|
USE_SYSTEM_PACKAGE
|
||||||
OFF
|
OFF
|
||||||
@@ -216,13 +225,14 @@ findorfetch(
|
|||||||
https://github.com/danfis/libccd.git
|
https://github.com/danfis/libccd.git
|
||||||
GIT_TAG
|
GIT_TAG
|
||||||
${MUJOCO_DEP_VERSION_ccd}
|
${MUJOCO_DEP_VERSION_ccd}
|
||||||
# update cmake_minimum_required version for compatibility with newer version of cmake
|
|
||||||
PATCH_COMMAND
|
|
||||||
${CMAKE_COMMAND} -DDESIRED_VERSION=${MUJOCO_CMAKE_MIN_REQ} -DTARGET_FILE=<SOURCE_DIR>/CMakeLists.txt -P ${PATCH_SCRIPT}
|
|
||||||
TARGETS
|
TARGETS
|
||||||
ccd
|
ccd
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
)
|
)
|
||||||
|
if(CMAKE_POLICY_VERSION_MINIMUM_LOCALLY_DEFINED)
|
||||||
|
unset(CMAKE_POLICY_VERSION_MINIMUM)
|
||||||
|
unset(CMAKE_POLICY_VERSION_MINIMUM_LOCALLY_DEFINED)
|
||||||
|
endif()
|
||||||
target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
|
target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
|
||||||
target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
|
target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user