Notes |
|
(0024796)
|
David Cole
|
2011-01-17 14:56
|
|
Is OpenMesh a framework on the Mac?
Please provide exact steps to reproduce the issue. |
|
|
(0025499)
|
David Alexander
|
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
|
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
|
2011-03-06 21:27
|
|
I have a case-sensitive file system. Could that be the issue? |
|
|
(0025685)
|
David Cole
|
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
|
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
|
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
|
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
|
2012-08-13 15:41
|
|
|
|
(0032058)
|
Robert Maynard
|
2013-01-09 10:58
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|