[cmake-developers] [CMake 0015581]: cmake gets confused on apple because of the caseless files system

Mantis Bug Tracker mantis at public.kitware.com
Fri May 22 11:58:45 EDT 2015


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=15581 
====================================================================== 
Reported By:                herc4mac
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15581
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2015-05-22 17:58 CEST
Last Modified:              2015-05-22 17:58 CEST
====================================================================== 
Summary:                    cmake gets confused on apple because of the caseless
files system
Description: 
MY symptom ...
CMAKE does not honor the setting of CMAKE_iINSTALL_PREFIX and CMAKE_BUILD_TYPE
long to describe in words, easier to follow the steps to reproduce.

I am one of the developers of the Hercules emulator for the IBM s370/s390/zArch
mainframes

my directory structure is 
/Hercules
/Hercules/xxxx.yyyy <== source and CMakeLists.txt
/Hercules/xxxx.release

please observe the capitalisation of the <root> directory

my CMakeLists will determine the install prefix an the build type by parsing the
name of the build directory

the install prefix will be /Hercules/xxxx
the build type will be Release

my best regards
Enrico

PS
even if it might be hard to fix, it should be STRONGLY documented
I said severity major because a SUDO make install might break things 



Steps to Reproduce: 
from a terminal window 
cd /Hercules
cd xxxx.release
rm * <== for a clean build
cmake ../xxxx.yyyy
make 
make install

everything works as a charm!

but if instead of
cd /Hercules CAPITALIZED 
I type 
cd /hercules LOWER CASE

cd xxxx.release
...
...
...

make
make install

cmake will try to install to /usr/local


another side effect is 

start from scratch
cd /Hercules
cd xxxx.release
cmake ../xxxx.yyyy

make

and afterwards I start over but with
cd /hercules <== note the all lower 

cd xxxx.release
cmake ../xxxx.yyyy

cmake should do nothing because nothing has changed ( looks like )

but a subsequent 
make

will rebuild everything

now thatI know I will be more careful in my cdS ...
same behaviour with cmake 3.2.1
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2015-05-22 17:58 herc4mac       New Issue                                    
======================================================================



More information about the cmake-developers mailing list