MantisBT - CMake |
| View Issue Details |
|
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0013742 | CMake | CMake | public | 2012-11-26 15:33 | 2013-04-17 08:54 |
|
| Reporter | Nick Hutchinson | |
| Assigned To | Brad King | |
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | |
| Platform | Linux | OS | Ubuntu | OS Version | 12.10 |
| Product Version | CMake 2.8.10.1 | |
| Target Version | CMake 2.8.11 | Fixed in Version | CMake 2.8.11 | |
|
| Summary | 0013742: support multiarch include paths for Debian/Ubuntu |
| Description | On my Ubuntu 12.10 box, headers for libffi are located at /usr/include/i386-linux-gnu/. This means that a simple find_path(FFI_INCLUDE_DIR NAMES ffi.h) won't find the header, as /usr/include/i386-linux-gnu/ is not searched by default. It ought to be; when compiling with either GCC or Clang, this directory is in the default #include search list. |
| Steps To Reproduce | 1. On a multiarch system, e.g. Ubuntu, attempt to use find_path() to find an architecture-specific header.
Expected behaviour:
It "just works": CMake searches the appropriate include directory, without requiring the user to add any supplementary search paths, suffixes, and so on. This seems to be the behaviour with find_library(), for example.
Actual behaviour:
CMake fails to find the header. |
| Additional Information | I'm not sure how robust this is, but I'm currently working around this issue by using the following:
find_file(FFI_INCLUDE_DIR NAMES ffi.h PATH_SUFFIXES ${CMAKE_LIBRARY_ARCHITECTURE}) |
| Tags | No tags attached. |
| Relationships | | related to | 0012037 | closed | Brad King | support multiarch lib paths for Debian/Ubuntu |
|
| Attached Files | 0001-Teach-find_-path-file-about-Linux-multiarch-13742.patch (2,431) 2012-11-26 17:07 https://public.kitware.com/Bug/file/4576/0001-Teach-find_-path-file-about-Linux-multiarch-13742.patch |
|
| Issue History |
| Date Modified | Username | Field | Change |
| 2012-11-26 15:33 | Nick Hutchinson | New Issue | |
| 2012-11-26 16:18 | Brad King | Note Added: 0031717 | |
| 2012-11-26 16:18 | Brad King | Relationship added | related to 0012037 |
| 2012-11-26 16:19 | Brad King | Target Version | => CMake 2.8.11 |
| 2012-11-26 16:19 | Brad King | Summary | find_path() ought to pick up architecture-specific headers on multiarch systems => support multiarch include paths for Debian/Ubuntu |
| 2012-11-26 17:07 | Brad King | Assigned To | => Brad King |
| 2012-11-26 17:07 | Brad King | Status | new => assigned |
| 2012-11-26 17:07 | Brad King | File Added: 0001-Teach-find_-path-file-about-Linux-multiarch-13742.patch | |
| 2012-11-26 17:07 | Brad King | Note Added: 0031720 | |
| 2012-11-27 08:48 | Brad King | Note Added: 0031724 | |
| 2012-11-27 08:48 | Brad King | Status | assigned => resolved |
| 2012-11-27 08:48 | Brad King | Resolution | open => fixed |
| 2012-11-27 08:48 | Brad King | Fixed in Version | => CMake 2.8.11 |
| 2013-04-17 08:54 | Robert Maynard | Note Added: 0032883 | |
| 2013-04-17 08:54 | Robert Maynard | Status | resolved => closed |