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 |