ament / ament/ament_cmake

Policy CMP0009 warning when symlink-installing a directory that contains a symlink

Đang mở
#546 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
CMake
Star
125
Fork
147
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

I have some packages that print a cmake policy warning when I try to install directories:

```
CMake Warning (dev) at ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:62 (file):
Policy CMP0009 is not set: FILE GLOB_RECURSE calls should not follow
symlinks by default. Run "cmake --help-policy CMP0009" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:314 (ament_cmake_symlink_install_directory)
cmake_install.cmake:46 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
```

As far as I know there is no way to fix this warning from my side, the policy should probably be set inside `ament_cmake_core` (I would say it should be set to NEW in order not to follow the links).

A minimal example package setup to show this warning looks as follows:

- CMakeLists.txt
- package.xml
- config
- some_dir
- foo.yaml
- alias_dir --> some_dir

CMakeLists.txt like this:

```cmake
cmake_minimum_required(VERSION 3.8)
project(test_pkg)
find_package(ament_cmake REQUIRED)
install(
DIRECTORY config
DESTINATION share/${PROJECT_NAME}
)
ament_package()
```
Then build with `--symlink-install`.

(version: ROS 2 Jazzy)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.