Skip to content

Commit b35b9fd

Browse files
author
Michael Carroll
authored
Conditionally use cmake_path on cmake < 3.20 (#424)
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
1 parent 50f2f00 commit b35b9fd

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

gz-msgs-extras.cmake.in

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,15 @@ include(${@PROJECT_NAME@_DIR}/gz_msgs_factory.cmake)
2222
include(${@PROJECT_NAME@_DIR}/gz_msgs_generate.cmake)
2323

2424
set(@PROJECT_NAME@_INSTALL_PATH "${@PROJECT_NAME@_DIR}/@PROJECT_CMAKE_EXTRAS_PATH_TO_PREFIX@")
25-
cmake_path(NORMAL_PATH @PROJECT_NAME@_INSTALL_PATH OUTPUT_VARIABLE @PROJECT_NAME@_INSTALL_PATH)
25+
26+
if(CMAKE_VERSION VERSION_LESS "3.20.0")
27+
file(TO_CMAKE_PATH @PROJECT_NAME@_INSTALL_PATH NORMALIZED_PATH) # Converts native path to CMake style with forward slashes.
28+
get_filename_component(ABSOLUTE_PATH "${NORMALIZED_PATH}" ABSOLUTE) # Extracts the absolute path component.
29+
set(@PROJECT_NAME@_INSTALL_PATH "${ABSOLUTE_PATH}") # Stores the normalized absolute path back to the original variable.
30+
else()
31+
cmake_path(NORMAL_PATH @PROJECT_NAME@_INSTALL_PATH OUTPUT_VARIABLE @PROJECT_NAME@_INSTALL_PATH)
32+
endif()
33+
2634
set(PROTOC_NAME "$<TARGET_FILE_NAME:@PROJECT_NAME@_protoc_plugin>")
2735
set(PROTO_SCRIPT_NAME "@PROJECT_NAME@_generate.py")
2836
set(FACTORY_SCRIPT_NAME "@PROJECT_NAME@_generate_factory.py")
@@ -37,7 +45,7 @@ if(NOT DEFINED @PROJECT_NAME@_PROTOC_EXECUTABLE)
3745
endif()
3846
if(NOT DEFINED @PROJECT_NAME@_PYTHON_INTERPRETER)
3947
set(@PROJECT_NAME@_PYTHON_INTERPRETER Python3::Interpreter)
40-
endif()
48+
endif()
4149
set(@PROJECT_NAME@_PROTO_GENERATOR_SCRIPT ${@PROJECT_NAME@_INSTALL_PATH}/bin/${PROTO_SCRIPT_NAME})
4250
set(@PROJECT_NAME@_FACTORY_GENERATOR_SCRIPT ${@PROJECT_NAME@_INSTALL_PATH}/bin/${FACTORY_SCRIPT_NAME})
4351

0 commit comments

Comments
 (0)