<div dir="ltr">That is a good point. I found that a side effect of the superbuild is that my project can be built independently and I can distribute it without the superbuild parent project. Thanks Nicholas!</div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jan 22, 2017 at 10:33 PM Nicholas Braden <<a href="mailto:nicholas11braden@gmail.com">nicholas11braden@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Yes, that is what I do in my superbuilds. Generally I make is such that my project could be built without the superbuild, and the superbuild is just a convenience.</div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"></div></div><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg">On Sat, Jan 21, 2017 at 12:17 PM, Saad Khattak <span dir="ltr" class="gmail_msg"><<a href="mailto:saadrustam@gmail.com" class="gmail_msg" target="_blank">saadrustam@gmail.com</a>></span> wrote:<br class="gmail_msg"></div></div><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div dir="ltr" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">>> <span style="color:rgb(33,33,33)" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">One possibility is the often mentioned superbuild</span><div class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"><span style="color:rgb(33,33,33)" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"></span></div></div><div dir="ltr" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"><div class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"><span style="color:rgb(33,33,33)" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">That is a tempting and I started to go down that route - however, I ran into a problem where my project (which is now also built using ExternalProject_Add) does not have access to the CMake variables. Is the only solution to pass them through the CMAKE_ARGS variable in ExternalProject_Add?</span></div></div><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"><div class="gmail_quote m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"><div dir="ltr" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">On Mon, Jan 9, 2017 at 12:07 AM Hendrik Sattler <<a href="mailto:post@hendrik-sattler.de" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg" target="_blank">post@hendrik-sattler.de</a>> wrote:<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">One possibility is the often mentioned superbuild, another is not using find_library() but setting the variables with the library file paths manually (that's static info anyway).<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
Am 8. Januar 2017 22:49:52 MEZ schrieb Saad Khattak <<a href="mailto:saadrustam@gmail.com" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg" target="_blank">saadrustam@gmail.com</a>>:<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>Hello,<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>I have an external project glfw that I added to my project like this:<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>==========<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>include(ExternalProject)<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>ExternalProject_Add(glfw<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  GIT_REPOSITORY "<a href="https://github.com/glfw/glfw.git" rel="noreferrer" class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg" target="_blank">https://github.com/glfw/glfw.git</a>"<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  GIT_TAG "master"<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  SOURCE_DIR "${CMAKE_SOURCE_DIR}/dep/glfw"<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  CMAKE_ARGS -DGLFW_BUILD_DOCS=OFF -DGLFW_BUILD_TESTS=OFF<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>-DGLFW_BUILD_EXAMPLES=OFF<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>-DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/install/glfw/<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>-DCMAKE_DEBUG_POSTFIX=_d<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  TEST_COMMAND ""<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  )<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>set(GLFW_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/install/glfw/include/")<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>set(GLFW_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/install/glfw/lib/")<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>==========<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>Then I include it in my project like so:<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>==========<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>find_library(GLFW_LIB_D  glfw3_d ${GLFW_LIBRARY_DIR})<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>find_library(GLFW_LIB    glfw3   ${GLFW_LIBRARY_DIR})<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>include_directories(${GLFW_INCLUDE_DIR})<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>add_executable(vk_test<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  src/vulkan_test.cpp<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>  )<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>target_link_libraries(vk_test debug ${GLFW_LIB_D} optimized<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>${GLFW_LIB})<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>add_dependencies(vk_test glfw)<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>==========<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>As you can see, I depend on the libraries compiled by the external<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>project<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>glfw. Unfortunately, when I first configure the project, CMake<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>complains<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>that it cannot find the libraries specified by ${GLFW_LIB_D} and<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>${GLFW_LIB} variables.<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>Of course, this is because CMake did not begin cloning, configuring and<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>building the glfw project. That only happens AFTER my project has been<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>configured and starts building. This becomes a chicken and the egg<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>problem.<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>Currently, my solution is to add dummy .lib files so that I can at<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>least<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>configure and generate my project. My question is, am I approaching<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>this<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>problem in the wrong way? If yes, what is the correct way to add a<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>dependency to an external project and have it clone/configure/build<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>BEFORE<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
>the "find_library" call?<span class="m_-9204536205247845671HOEnZb gmail_msg"><font color="#888888" class="gmail_msg"><br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
--<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.<br class="m_-9204536205247845671m_1527853596758039462gmail_msg gmail_msg">
</font></span></blockquote></div></div>
<br class="gmail_msg"></blockquote></div></div><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">--<br class="gmail_msg">
<br class="gmail_msg">
Powered by <a href="http://www.kitware.com" rel="noreferrer" class="gmail_msg" target="_blank">www.kitware.com</a><br class="gmail_msg">
<br class="gmail_msg">
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" class="gmail_msg" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br class="gmail_msg">
<br class="gmail_msg">
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br class="gmail_msg">
<br class="gmail_msg">
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" class="gmail_msg" target="_blank">http://cmake.org/cmake/help/support.html</a><br class="gmail_msg">
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" class="gmail_msg" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br class="gmail_msg">
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" class="gmail_msg" target="_blank">http://cmake.org/cmake/help/training.html</a><br class="gmail_msg">
<br class="gmail_msg">
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" class="gmail_msg" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br class="gmail_msg">
<br class="gmail_msg">
Follow this link to subscribe/unsubscribe:<br class="gmail_msg">
<a href="http://public.kitware.com/mailman/listinfo/cmake" rel="noreferrer" class="gmail_msg" target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br class="gmail_msg"></blockquote></div></div></blockquote></div>