<div dir="ltr"><div><div>Thanks David,<br><br></div>That change appears to have corrected the issue.<br><br></div>Steve<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 21, 2015 at 4:30 PM, David Cole <span dir="ltr"><<a href="mailto:DLRdave@aol.com" target="_blank">DLRdave@aol.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Try putting ${FOO_HEADER_FILES} in the add_library call, too.<br>
<br>
I reproduced this by adding a file, with **ANY** name, to the<br>
PUBLIC_HEADER list of the<br>
[CMake/Tests/Framework/CMakeLists.txt](<a href="https://github.com/Kitware/CMake/blob/master/Tests/Framework/CMakeLists.txt" rel="noreferrer" target="_blank">https://github.com/Kitware/CMake/blob/master/Tests/Framework/CMakeLists.txt</a>)<br>
file... but NOT adding it to the list of sources given to add_library.<br>
<br>
It would appear from this experiment that the header files for a<br>
framework must be listed as sources of the library **and** added to<br>
the PUBLIC_HEADER target property.<br>
<br>
(I am guessing that you have the other header files that are working<br>
already in your FOO_SOURCE_FILES variable. Either that, or I'm missing<br>
something still...)<br>
<br>
<br>
HTH,<br>
David C.<br>
<span class=""><br>
<br>
<br>
On Tue, Jul 21, 2015 at 1:39 PM, Steven Wilson<br>
<<a href="mailto:steven.wesley.wilson@gmail.com">steven.wesley.wilson@gmail.com</a>> wrote:<br>
> I am saying the file does not exist in the either installed framework or in<br>
> the framework in the build directory.   CMake is not moving the header files<br>
> that start with a capital letter into the framework headers directory.   Now<br>
> I did double check and it *is* moving the .hpp header that matches the name<br>
> of the framework (Foo.hpp in the example case), but it is not copying Foo.h.<br>
> In addition I tried adding two more arbitrary headers called AnotherHeader.h<br>
> and AnotherHeader.hpp and neither of those get included in the framework<br>
> either.<br>
><br>
> The example I have posted is just an example.  My actual source files do not<br>
> share names where case sensitivity is a problem.   The file names in the<br>
> real project do not collide in any form.   I am running on a a Mac with the<br>
> HFS+ system without case sensitivity.<br>
><br>
><br>
><br>
</span><span class="">> On Tue, Jul 21, 2015 at 12:51 PM, David Cole <<a href="mailto:DLRdave@aol.com">DLRdave@aol.com</a>> wrote:<br>
>><br>
>> Are you saying the file does not exist in the installed framework, or<br>
>> that you do not see "copying Foo.h" in the install output ...? This<br>
>> seems very unlikely. The header files are supposed to be in the<br>
>> framework in the build tree, and the built framework in its entirety<br>
>> is supposed to be recursively copied at install time ...<br>
>><br>
>> Are you running on a Mac volume with a case sensitive file system or not?<br>
>><br>
>> Are the source header files in question named with the case you've<br>
>> listed in the CMakeLists file?<br>
>><br>
>> Does this reproduce if you add another header file named<br>
>> "AnotherHeader.h" and add it into the mix, say listing it first in the<br>
>> list of header files?<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> On Tue, Jul 21, 2015 at 12:15 PM, Steven Wilson<br>
</span><span class="">>> <<a href="mailto:steven.wesley.wilson@gmail.com">steven.wesley.wilson@gmail.com</a>> wrote:<br>
>> > Not to be picky, but the issue of case sensitivity ignores the original<br>
>> > question.<br>
>> ><br>
>> > If it helps someone think about the issue better, change:<br>
>> ><br>
>> > set(FOO_HEADER_FILES "foo.h;bar.h;bat.h;Foo.h;Foo.hpp")<br>
>> ><br>
>> > to<br>
>> ><br>
>> > set(FOO_HEADER_FILES "bar.h;bat.h;Foo.h;Foo.hpp")<br>
>> ><br>
>> ><br>
>> > Thanks,<br>
>> ><br>
>> > Steve<br>
>> ><br>
>> > On Tue, Jul 21, 2015 at 10:59 AM, Michael Jackson<br>
</span><span class="">>> > <<a href="mailto:mike.jackson@bluequartz.net">mike.jackson@bluequartz.net</a>> wrote:<br>
>> >><br>
>> >> to be very precise,<br>
>> >>     OS X is a "Case Preserving but NOT Case sensitive" be default. OS X<br>
>> >> can be made to be case sensitive but no one actually recommends it.<br>
>> >><br>
>> >> this means that on OS X foo.h and Foo.h resolve to be the same file,<br>
>> >> where<br>
>> >> as on Linux they would be 2 different files. You would have the same<br>
>> >> issues<br>
>> >> on Windows.<br>
>> >><br>
>> >> Mike Jackson<br>
>> >><br>
>> >><br>
</span><span class="">>> >> On Jul 21, 2015, at 10:35 AM, Dan Kegel <<a href="mailto:dank@kegel.com">dank@kegel.com</a>> wrote:<br>
>> >><br>
>> >> It can't installiert both foo.h and Foo.h in the mac, better correct<br>
>> >> your<br>
>> >> example.<br>
>> >><br>
>> >> Am 21.07.2015 5:19 vorm. schrieb "Steven Wilson"<br>
</span><span class="">>> >> <<a href="mailto:steven.wesley.wilson@gmail.com">steven.wesley.wilson@gmail.com</a>>:<br>
>> >>><br>
>> >>> I've noticed that CMake 3.3.0-rc3 will not install a header file in a<br>
>> >>> Mac<br>
>> >>> OS X framework if the header file starts with a capital letter (either<br>
>> >>> that<br>
>> >>> or has the same name as the framework).<br>
>> >>><br>
>> >>> For example if I have the following:<br>
>> >>><br>
>> >>><br>
>> >>> set(FOO_HEADER_FILES "foo.h;bar.h;bat.h;Foo.h;Foo.hpp")<br>
>> >>><br>
>> >>> add_library(Foo SHARED ${FOO_SOURCE_FILES})<br>
>> >>><br>
>> >>> set_target_properties(Foo PROPERTIES<br>
>> >>>     FRAMEWORK ON<br>
>> >>>     OUTPUT_NAME Foo<br>
>> >>>     PUBLIC_HEADER "${FOO_HEADER_FILES}"<br>
>> >>> )<br>
>> >>><br>
>> >>> install(TARGETS Foo<br>
>> >>>   FRAMEWORK DESTINATION "frameworks")<br>
>> >>><br>
>> >>><br>
>> >>> Then when running 'make install' or the install target from Xcode, the<br>
>> >>> installation step silently does not install Foo.h or Foo.hpp.<br>
>> >>><br>
>> >>> This behavior seems arbitrary, wrong, and completely annoying.<br>
>> >>><br>
>> >>> Comments?<br>
>> >>><br>
>> >>> --<br>
>> >>><br>
</span>>> >>> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<span class="">>> >>><br>
>> >>> Please keep messages on-topic and check the CMake FAQ at:<br>
>> >>> <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
>> >>><br>
</span><span class="">>> >>> Kitware offers various services to support the CMake community. For<br>
>> >>> more<br>
>> >>> information on each offering, please visit:<br>
>> >>><br>
>> >>> CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
</span>>> >>> CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
<span class="">>> >>> CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
>> >>><br>
</span><span class="">>> >>> Visit other Kitware open-source projects at<br>
>> >>> <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
>> >>><br>
</span><span class="">>> >>> Follow this link to subscribe/unsubscribe:<br>
>> >>> <a href="http://public.kitware.com/mailman/listinfo/cmake" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br>
>> >><br>
</span>>> >> --<br>
>> >><br>
>> >> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<span class="">>> >><br>
>> >> Please keep messages on-topic and check the CMake FAQ at:<br>
>> >> <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
>> >><br>
</span><span class="">>> >> Kitware offers various services to support the CMake community. For<br>
>> >> more<br>
>> >> information on each offering, please visit:<br>
>> >><br>
>> >> CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
</span>>> >> CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
<span class="">>> >> CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
>> >><br>
</span><span class="">>> >> Visit other Kitware open-source projects at<br>
>> >> <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
>> >><br>
</span><span class="">>> >> Follow this link to subscribe/unsubscribe:<br>
>> >> <a href="http://public.kitware.com/mailman/listinfo/cmake" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br>
>> >><br>
>> >><br>
>> ><br>
>> ><br>
</span>>> > --<br>
>> ><br>
>> > Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<span class="">>> ><br>
>> > Please keep messages on-topic and check the CMake FAQ at:<br>
>> > <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
>> ><br>
</span><span class="">>> > Kitware offers various services to support the CMake community. For more<br>
>> > information on each offering, please visit:<br>
>> ><br>
>> > CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
</span>>> > CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
<span class="im HOEnZb">>> > CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
>> ><br>
</span><span class="im HOEnZb">>> > Visit other Kitware open-source projects at<br>
>> > <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
>> ><br>
</span><div class="HOEnZb"><div class="h5">>> > Follow this link to subscribe/unsubscribe:<br>
>> > <a href="http://public.kitware.com/mailman/listinfo/cmake" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br>
><br>
><br>
</div></div></blockquote></div><br></div>