Pau Garcia i Quiles wrote:
> On Thu, Jan 28, 2016 at 8:21 PM, Stephen Kelly
> <[email protected]> wrote:
>
>
> Pau Garcia i Quiles wrote:
>>
>> > CMake should wrap every variable defined under the directory added with
>> > add_subdirectory(QtZeroConf NAMESPACE QTZEROCONF)
>>
>> So, CMake needs to first determine what variables are used in the
>> QtZeroConf
>> directory (presumably without executing the cmake code there) and then
>> wrap the variables, then execute the cmake code?
>>
> I must be missing something. I don't think that's possible.
>>
>>
> I think it's just a matter of adding an "internal note" saying "OK, I'm
> going to namespace variables from now on" in cmAddSubdirectoryCommand when
> add_subdirectory contains NAMESPACE, and then modifying the literal of the
> variable in cmSetCommand.cxx (first argument to AddDefinition here in line
> 165):
>
> this->Makefile->AddDefinition(variable, value.c_str());
>
> https://github.com/Kitware/CMake/blob/master/Source/cmSetCommand.cxx#L165
I'm happy to provide guidance if you start writing a patch and find that it
is a realistic approach, but I still don't think this is possible.
What do you do when third party code contains
set(SOMETHING foo bar)
foreach(thing ${SOMETHING})
...
endforeach()
?
Are you going to change every read of a variable to prefix it with a
namespace?
Thanks,
Steve.
--
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-developers