<br><br>On Sunday, January 8, 2012, Stephen Kelly <<a href="mailto:steveire@gmail.com">steveire@gmail.com</a>> wrote:<br>> On 12/05/2011 03:17 PM, Brad King wrote:<br>>><br>>> On 12/4/2011 12:49 PM, Stephen Kelly wrote:<br>
>>><br>>>> I've pushed the branch to my gitorious clone again.<br>>>><br>>>> <a href="https://gitorious.org/~steveire/cmake/steveires-cmake">https://gitorious.org/~steveire/cmake/steveires-cmake</a><br>
><br>> Hi,<br>><br>> I'm revisiting this now that CMake 2.8.7 is out.<br>><br>> I've force pushed my branch:<br>><br>> <a href="https://gitorious.org/~steveire/cmake/steveires-cmake/commits/target-include-directories">https://gitorious.org/~steveire/cmake/steveires-cmake/commits/target-include-directories</a><br>
><br>> For context, the branch as it was on December 4th is preserved here:<br>><br>> <a href="https://gitorious.org/~steveire/cmake/steveires-cmake/commits/target-include-directories-old">https://gitorious.org/~steveire/cmake/steveires-cmake/commits/target-include-directories-old</a><br>
><br>>><br>>> Thanks.  Why do you maintain a special std::vector<std::string> member<br>>> to hold the INCLUDE_DIRECTORIES target property?<br>><br>> Mostly to simplify the implementation so that I don't need to serialize and de-serialize in multiple places. I also figured it must be faster to serialize and deserialize over const char * all the time in the multiple places that is needed.<br>
><br>><br>>> I think the property<br>>> can be stored just like any other property during configuration.  Then<br>>> the generators can use ExpandListArguments.<br>><br>> Would that mean that every generator would have to ensure that the includes were unique etc?<br>
><br>>> Initialization from the<br>>> directory property value can just be added to cmTarget::SetMakefile:<br>>><br>>>  this->SetPropertyDefault("INCLUDE_DIRECTORIES", 0);<br>>><br>
><br>> I tried this (also removing this->IncludeDirectories = makefileIncludes; from the same function), and it makes the tests fail. This doesn't surprise me, as as far as I knew and read from the code, SetPropertyDefault is for initializing a property with the content of the property with the same name with a "CMAKE_" prefix.<br>
><br>> If I've understood what you meant here, please expand.<br>><br>>> The directory-level IncludeDirectories vector can probably also go<br>>> away in favor of a normal directory property if things are properly<br>
>> refactored.<br>>><br>>>> The top two commits need to be reviewed and have real fixes decided and<br>>>> written for them. Should the memoization be removed?<br>><br>> I have removed the last two commits from the branch and added a separate commit to remove the memoization.<br>
><br>> Once again, the tests all pass for me. However, I have only tested with the "Unix Makefile" generator. The other generators (eg for Windows, Mac?) likely do not work.<br>><br>> How can this feature now be moved forward? Do I need to convince someone to volunteer to port the other generators? Should I just file a bug for porting the other generators and wait (possibly making the feature bitrot)?<br>
><br>> Thanks,<br>><br>> Steve.<br>> --<br>><br>> Powered by <a href="http://www.kitware.com">www.kitware.com</a><br>><br>> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br>
><br>> Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ">http://www.cmake.org/Wiki/CMake_FAQ</a><br>><br>> Follow this link to subscribe/unsubscribe:<br>> <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers">http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers</a><br>
><br><br>I volunteer to make sure this branch works with Xcode and Visual Studio. I'll get to it within the next week...<br><br>Thx,<br>David<br>