View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0010366 | CMake | CMake | public | 2010-03-04 04:24 | 2013-01-09 10:58 | ||||
Reporter | Jan M | ||||||||
Assigned To | Brad King | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | CMake-2-8 | ||||||||
Target Version | CMake 2.8.9 | Fixed in Version | CMake 2.8.9 | ||||||
Summary | 0010366: install(DIRECTORY ... ) FILES_MATCHING does not work on MacOS | ||||||||
Description | Hi, i use the following function call: install(DIRECTORY . DESTINATION include/OpenMesh/Core FILES_MATCHING PATTERN "*.hh" PATTERN "CVS" EXCLUDE PATTERN ".svn" EXCLUDE) On Windows and Linux this gets all files ending with .hh and installs them with their path. On MacOS nothing gets installed. When i remove the FILES_MATCHING option all files get installed. Also if i change pattern to "*" all files get installed. I also tried it using REGEX with the same result. Best Regards, Jan | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0024796) David Cole (manager) 2011-01-17 14:56 |
Is OpenMesh a framework on the Mac? Please provide exact steps to reproduce the issue. |
(0025499) David Alexander (reporter) 2011-02-18 19:09 |
I see this same thing. Here's a simple way to reproduce for me... 1) create new directory called regexproblem 2) cd to regexproblem 3) create CMakeList.txt with the following cmake_minimum_required(VERSION 2.8.3) project(HELLO) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/testinclude DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h" ) 4) mkdir testinclude 5) touch testinclude/header1.h 6) touch testinclude/header2.h 7) mkdir testinstall 8) cmake -DCMake_INSTALL_PREFIX="./testinclude" . 9) make install This fails to install the two mock headers unless the "FILES_MATCHING..." line is commented out. I am working on $uname -a Darwin qarmac.txcorp.com 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 $ cmake --version cmake version 2.8.4 But I get the same with 2.8.3 too. I did a trace with $cmake --trace -P cmake_install.cmake and I see that the line ... FILE(INSTALL DESTINATION /Users/alexanda/projects/cmakeplay/testinstall TYPE DIRECTORY FILES /Users/alexanda/projects/cmakeplay/testinclude FILES_MATCHING REGEX /[^/]*\\.h$ ) Several colleagues with similar OS X 10.6 machines do not see this behavior, so it may be in a library or function that cmake is calling??? |
(0025622) David Alexander (reporter) 2011-03-02 10:38 |
Any chance a fix for this issue would make it into the 2.8.5 release in April? |
(0025681) David Alexander (reporter) 2011-03-06 21:27 |
I have a case-sensitive file system. Could that be the issue? |
(0025685) David Cole (manager) 2011-03-07 13:22 |
A case-sensitive file system could certainly be a contributing factor here, but one would think that using ".h" in the file names, and then ".h" in the regex, too, would yield matches on case-sensitive and case-insensitive file systems... This warrants investigation, at the very least, but case-sensitive file systems on Macs are not the default, are they? How did you get one? You made it that way yourself on purpose? |
(0025697) David Alexander (reporter) 2011-03-08 19:56 |
Ok. I changed the format of my file system to the default (case-insensitive) type and the problem went away. So, this was the issue. Maybe cmake is writing a temp file and then checking it later with some loss of the case? Anyway, it is working for me know. Just to be clear, before when I saw the issue, I was using ".h" in the regex and had ".h" (both lower case) files that were missed in the match; so this remains indeed a bug, if one uses a case-sensitive file system on OS X 10.6. |
(0027070) Fabien Benureau (reporter) 2011-07-26 04:36 |
I am confirming the bug on a case-sensitive system, on Mac OS X 10.6 and 10.7, and its absence when the system is not. It causes headers to be skipped by the installation. The peculiar thing is, exclude patterns work : INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/testinclude DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*" PATTERN "*.h" EXCLUDE ) will install everything except the .h files. I think a warning should be at least displayed, if the bug is too hard to fix. |
(0030617) David Cole (manager) 2012-08-13 15:36 |
Sending old, not-recently-updated issues to the backlog. (The age of the bug alone means that nobody is actively working on it...) If an issue you care about is sent to the backlog when you feel it should have been addressed in a different manner, please bring it up on the CMake mailing list for discussion. Sign up for the mailing list here, if you're not already on it: http://www.cmake.org/mailman/listinfo/cmake [^] It's easy to re-activate a bug here if you can find a CMake developer who has the bandwidth to take it on, and ferry a fix through to our 'next' branch for dashboard testing. |
(0030627) Brad King (manager) 2012-08-13 15:41 |
This was separately reported and resolved in issue 0013177. The fix: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a41557a2 [^] was in 2.8.9. |
(0032058) Robert Maynard (manager) 2013-01-09 10:58 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2010-03-04 04:24 | Jan M | New Issue | |
2011-01-17 14:55 | David Cole | Assigned To | => David Cole |
2011-01-17 14:55 | David Cole | Status | new => assigned |
2011-01-17 14:56 | David Cole | Note Added: 0024796 | |
2011-02-18 19:09 | David Alexander | Note Added: 0025499 | |
2011-03-02 10:38 | David Alexander | Note Added: 0025622 | |
2011-03-06 21:27 | David Alexander | Note Added: 0025681 | |
2011-03-07 13:22 | David Cole | Note Added: 0025685 | |
2011-03-08 19:56 | David Alexander | Note Added: 0025697 | |
2011-07-26 04:36 | Fabien Benureau | Note Added: 0027070 | |
2012-08-13 15:36 | David Cole | Status | assigned => backlog |
2012-08-13 15:36 | David Cole | Note Added: 0030617 | |
2012-08-13 15:37 | David Cole | Assigned To | David Cole => |
2012-08-13 15:40 | Brad King | Relationship added | duplicate of 0013177 |
2012-08-13 15:41 | Brad King | Note Added: 0030627 | |
2012-08-13 15:41 | Brad King | Assigned To | => Brad King |
2012-08-13 15:41 | Brad King | Status | backlog => resolved |
2012-08-13 15:41 | Brad King | Resolution | open => fixed |
2012-08-13 15:41 | Brad King | Fixed in Version | => CMake 2.8.9 |
2012-08-13 15:41 | Brad King | Target Version | => CMake 2.8.9 |
2013-01-09 10:58 | Robert Maynard | Note Added: 0032058 | |
2013-01-09 10:58 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |