-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/39/#review49
-----------------------------------------------------------



indra/cmake/FindTut.cmake
<http://codereview.secondlife.com/r/39/#comment27>

    According to the CMake 2.8.1 man page, NO_SYSTEM_ENVIRONMENT_PATH makes 
find_path not only skip $PATH but also $INCLUDE. I think we should respect the 
latter when looking for headers.


- Boroondas


On 2010-12-18 09:01:35, Aleric Inglewood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://codereview.secondlife.com/r/39/
> -----------------------------------------------------------
> 
> (Updated 2010-12-18 09:01:35)
> 
> 
> Review request for Viewer.
> 
> 
> Summary
> -------
> 
> There is no #include "tut.h" anywhere.
> The only includes are #include "tut/tut.hpp" (which is correct).
> Tut installs in <prefix>/include/tut/* among which the headerfile tut.hpp.
> The changed file, indra/cmake/FindTut.cmake, is only included when configured 
> with --standalone (and thus only on linux).
> find_path searches in /usr/include and /usr/local/include anyway, so there is 
> no way to add that.
> Adding the NO_SYSTEM_ENVIRONMENT_PATH stops it from reading the PATH 
> environment variable and looking
> for tut/tut.hpp, which probably won't harm, but it simply makes no sense: 
> we're looking for a headerfile, not an executable.
> 
> Without this patch (and without creating a fake /usr/local/include/tut.h), I 
> get the error:
> CMake Error at cmake/FindTut.cmake:26 (message):
>   Could not find Tut
> Call Stack (most recent call first):
>   cmake/Tut.cmake:8 (include)
>   llmessage/CMakeLists.txt:13 (include)
> 
> With the patch, it finds /usr/local/include/tut/tut.hpp as expected, setting 
> TUT_INCLUDE_DIR to "/usr/local/include",
> and it also finds (in my case) 
> /usr/src/secondlife/viewers/snowstorm/viewer-development/include/tut/tut.hpp, 
> setting
> TUT_INCLUDE_DIR to 
> "/usr/src/secondlife/viewers/snowstorm/viewer-development/include", since I 
> have a symbolic
> link from 
> /usr/src/secondlife/viewers/snowstorm/viewer-development/include/tut to 
> ../linden/libraries/include/tut
> (which was installed manually with ./scripts/install.py tut) and I have the 
> environment variable CMAKE_INCLUDE_PATH
> set to 
> "/usr/src/secondlife/llqtwebkit/install-imprudence/include:/usr/src/secondlife/viewers/snowstorm/viewer-development/include:/sl/usr/include".
> In other words, this allows developers to install headers whereever they want 
> and use the API of cmake as it is
> intended, to find those headers.
> 
> 
> This addresses bug VWR-24247.
>     http://jira.secondlife.com/browse/VWR-24247
> 
> 
> Diffs
> -----
> 
>   indra/cmake/FindTut.cmake b0689af42a71 
> 
> Diff: http://codereview.secondlife.com/r/39/diff
> 
> 
> Testing
> -------
> 
> Tested to see if it finds the header when installed in /usr/local/include as 
> well in a path specified
> with CMAKE_INCLUDE_PATH.
> 
> Note that you need to configure with --standalone in order to test this.
> Also note that unless tut is installed in /usr/local, and when you configure 
> with -DLL_TESTS:BOOL=ON,
> it still won't compile because of another bug. I will submit a patch for that 
> separately.
> 
> 
> Thanks,
> 
> Aleric
> 
>

_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to