[CMake] OS X framework headers with capital letters

David Cole DLRdave at aol.com
Tue Jul 21 12:51:22 EDT 2015


Are you saying the file does not exist in the installed framework, or
that you do not see "copying Foo.h" in the install output ...? This
seems very unlikely. The header files are supposed to be in the
framework in the build tree, and the built framework in its entirety
is supposed to be recursively copied at install time ...

Are you running on a Mac volume with a case sensitive file system or not?

Are the source header files in question named with the case you've
listed in the CMakeLists file?

Does this reproduce if you add another header file named
"AnotherHeader.h" and add it into the mix, say listing it first in the
list of header files?





On Tue, Jul 21, 2015 at 12:15 PM, Steven Wilson
<steven.wesley.wilson at gmail.com> wrote:
> Not to be picky, but the issue of case sensitivity ignores the original
> question.
>
> If it helps someone think about the issue better, change:
>
> set(FOO_HEADER_FILES "foo.h;bar.h;bat.h;Foo.h;Foo.hpp")
>
> to
>
> set(FOO_HEADER_FILES "bar.h;bat.h;Foo.h;Foo.hpp")
>
>
> Thanks,
>
> Steve
>
> On Tue, Jul 21, 2015 at 10:59 AM, Michael Jackson
> <mike.jackson at bluequartz.net> wrote:
>>
>> to be very precise,
>>     OS X is a "Case Preserving but NOT Case sensitive" be default. OS X
>> can be made to be case sensitive but no one actually recommends it.
>>
>> this means that on OS X foo.h and Foo.h resolve to be the same file, where
>> as on Linux they would be 2 different files. You would have the same issues
>> on Windows.
>>
>> Mike Jackson
>>
>>
>> On Jul 21, 2015, at 10:35 AM, Dan Kegel <dank at kegel.com> wrote:
>>
>> It can't installiert both foo.h and Foo.h in the mac, better correct your
>> example.
>>
>> Am 21.07.2015 5:19 vorm. schrieb "Steven Wilson"
>> <steven.wesley.wilson at gmail.com>:
>>>
>>> I've noticed that CMake 3.3.0-rc3 will not install a header file in a Mac
>>> OS X framework if the header file starts with a capital letter (either that
>>> or has the same name as the framework).
>>>
>>> For example if I have the following:
>>>
>>>
>>> set(FOO_HEADER_FILES "foo.h;bar.h;bat.h;Foo.h;Foo.hpp")
>>>
>>> add_library(Foo SHARED ${FOO_SOURCE_FILES})
>>>
>>> set_target_properties(Foo PROPERTIES
>>>     FRAMEWORK ON
>>>     OUTPUT_NAME Foo
>>>     PUBLIC_HEADER "${FOO_HEADER_FILES}"
>>> )
>>>
>>> install(TARGETS Foo
>>>   FRAMEWORK DESTINATION "frameworks")
>>>
>>>
>>> Then when running 'make install' or the install target from Xcode, the
>>> installation step silently does not install Foo.h or Foo.hpp.
>>>
>>> This behavior seems arbitrary, wrong, and completely annoying.
>>>
>>> Comments?
>>>
>>> --
>>>
>>> Powered by www.kitware.com
>>>
>>> Please keep messages on-topic and check the CMake FAQ at:
>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>> Kitware offers various services to support the CMake community. For more
>>> information on each offering, please visit:
>>>
>>> CMake Support: http://cmake.org/cmake/help/support.html
>>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/cmake
>>
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>>
>>
>
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake


More information about the CMake mailing list