I think <a href="http://www.cmake.org/cmake/help/v3.3/variable/CMAKE_CURRENT_LIST_FILE.html">http://www.cmake.org/cmake/help/v3.3/variable/CMAKE_CURRENT_LIST_FILE.html</a> is exactly what you're asking for, and will work in most contexts you're thinking of. (Configuring from a top level or sub-directory CMakeLists file, in an included file, running a CMake -P script file...)<div><br></div><div>The only thing I'd say you should watch out for is using it inside a function you define. I think it evaluates to the location where the function is being called from, so in that case, it would NOT be the file it's defined in (necessarily)... I could be wrong on this point, though, so you should double check experimentally. Or by analyzing the CMake source.</div><div><br></div><div><br></div><div>HTH,</div><div>David C.</div><div><br><br>On Saturday, July 25, 2015, J Decker <<a href="mailto:d3ck0r@gmail.com">d3ck0r@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 24, 2015 at 9:30 PM, Daniel Dilts <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','diltsman@gmail.com');" target="_blank">diltsman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yes, ${CMAKE_CURRENT_SOURCE_DIR} has the path to the CMakeLists.txt file that has the include() command.  Is there a variable with the path of the file referenced by the include() command?</div></blockquote><div>Could define such a variable before the include... then the included file could reference that variable? </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 24, 2015 at 7:40 PM, J Decker <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','d3ck0r@gmail.com');" target="_blank">d3ck0r@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">${CMAKE_SOURCE_DIR}  - path of the root cmake file called<div>${CMAKE_CURRENT_SOURCE_DIR} - path of the current cmakelists</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Fri, Jul 24, 2015 at 3:02 PM, Daniel Dilts <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','diltsman@gmail.com');" target="_blank">diltsman@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div><div><div dir="ltr"><div>I have a set of CMake commands that I want to place in a single file and have other projects use it.  The commands in the file must affect the scope that references it, so the declared functions, include_directories, etc. must affect things in the scope that includes it.</div><div><br></div><div>I attempted to place these things in a file and use include(filename.cmake) to add the file.  This appears to work until the file with the include() is in a different location.</div><div><br></div><div>I need the include_directories to be relative to the location of filename.cmake, not the CMakeLists.txt that included it.</div><div><br></div><div>Is there any way to accomplish this?</div></div>
<br></div></div>--<br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more 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>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
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>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
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></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>
</blockquote></div>