Make python build work with older cmake versions (at least 3.16.3 as comes with Ubuntu 20.04)

Merge pull request #192 from aftersomemath:lower-cmake-version-required

Closes #192

PiperOrigin-RevId: 435330489
Change-Id: I15e182fef12692a446e70da99176c001ee255be7
This commit is contained in:
Levi Burner
2022-03-17 06:38:00 -07:00
committed by Saran Tunyasuvunakool
parent 286c23169d
commit 4d1ed50388
2 changed files with 30 additions and 18 deletions
+20 -13
View File
@@ -164,7 +164,8 @@ endif()
add_subdirectory(util)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/enum_traits.h)
add_library(enum_traits INTERFACE enum_traits.h)
add_library(enum_traits INTERFACE)
target_sources(enum_traits INTERFACE enum_traits.h)
else()
add_custom_command(
OUTPUT enum_traits.h
@@ -172,7 +173,8 @@ else()
${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_enum_traits.py > enum_traits.h
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_enum_traits.py
)
add_library(enum_traits INTERFACE enum_traits.h)
add_library(enum_traits INTERFACE)
target_sources(enum_traits INTERFACE enum_traits.h)
target_include_directories(
enum_traits INTERFACE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
)
@@ -180,7 +182,8 @@ endif()
target_link_libraries(enum_traits INTERFACE mujoco absl::core_headers)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/function_traits.h)
add_library(function_traits INTERFACE function_traits.h)
add_library(function_traits INTERFACE)
target_sources(function_traits INTERFACE function_traits.h)
else()
add_custom_command(
OUTPUT function_traits.h
@@ -188,28 +191,31 @@ else()
${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_function_traits.py > function_traits.h
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_function_traits.py
)
add_library(function_traits INTERFACE function_traits.h)
add_library(function_traits INTERFACE)
target_sources(function_traits INTERFACE function_traits.h)
target_include_directories(
function_traits INTERFACE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
target_link_libraries(function_traits INTERFACE mujoco absl::core_headers)
add_library(errors_header INTERFACE errors.h)
add_library(errors_header INTERFACE)
target_sources(errors_header INTERFACE errors.h)
set_target_properties(errors_header PROPERTIES PUBLIC_HEADER errors.h)
target_link_libraries(errors_header INTERFACE crossplatform func_wrap mujoco)
add_library(raw INTERFACE raw.h)
add_library(raw INTERFACE)
target_sources(raw INTERFACE raw.h)
set_target_properties(raw PROPERTIES PUBLIC_HEADER raw.h)
target_link_libraries(raw INTERFACE mujoco)
add_library(
add_library(structs_header INTERFACE)
target_sources(
structs_header
INTERFACE
indexer_xmacro.h
indexers.h
mjdata_meta.h
structs.h
INTERFACE indexer_xmacro.h
indexers.h
mjdata_meta.h
structs.h
)
set_target_properties(structs_header PROPERTIES PUBLIC_HEADER structs.h)
target_link_libraries(
@@ -220,7 +226,8 @@ target_link_libraries(
raw
)
add_library(functions_header INTERFACE functions.h)
add_library(functions_header INTERFACE)
target_sources(functions_header INTERFACE functions.h)
set_target_properties(functions_header PROPERTIES PUBLIC_HEADER functions.h)
target_link_libraries(
functions_header
+10 -5
View File
@@ -28,25 +28,30 @@ if(APPLE)
add_link_options(-Wl,-no_weak_imports)
endif()
add_library(crossplatform INTERFACE crossplatform.h)
add_library(crossplatform INTERFACE)
target_sources(crossplatform INTERFACE crossplatform.h)
set_target_properties(crossplatform PROPERTIES PUBLIC_HEADER crossplatform.h)
target_include_directories(crossplatform INTERFACE ${mujoco_SOURCE_DIR}/mujoco)
add_library(array_traits INTERFACE array_traits.h)
add_library(array_traits INTERFACE)
target_sources(array_traits INTERFACE array_traits.h)
set_target_properties(array_traits PROPERTIES PUBLIC_HEADER array_traits.h)
target_include_directories(array_traits INTERFACE ${mujoco_SOURCE_DIR}/mujoco)
target_link_libraries(array_traits INTERFACE crossplatform Eigen3::Eigen)
add_library(func_traits INTERFACE func_traits.h)
add_library(func_traits INTERFACE)
target_sources(func_traits INTERFACE func_traits.h)
set_target_properties(func_traits PROPERTIES PUBLIC_HEADER func_traits.h)
target_include_directories(func_traits INTERFACE ${mujoco_SOURCE_DIR}/mujoco)
add_library(tuple_tools INTERFACE tuple_tools.h)
add_library(tuple_tools INTERFACE)
target_sources(tuple_tools INTERFACE tuple_tools.h)
set_target_properties(tuple_tools PROPERTIES PUBLIC_HEADER tuple_tools.h)
target_include_directories(tuple_tools INTERFACE ${mujoco_SOURCE_DIR}/mujoco)
target_link_libraries(tuple_tools INTERFACE crossplatform)
add_library(func_wrap INTERFACE func_wrap.h)
add_library(func_wrap INTERFACE)
target_sources(func_wrap INTERFACE func_wrap.h)
set_target_properties(func_wrap PROPERTIES PUBLIC_HEADER func_wrap.h)
target_include_directories(func_wrap INTERFACE ${mujoco_SOURCE_DIR}/mujoco)
target_link_libraries(