<div dir="ltr">Hello,<div><br></div><div>I have an external project glfw that I added to my project like this:</div><div><br></div><div>==========</div><div><div>include(ExternalProject)</div><div>ExternalProject_Add(glfw</div><div>  GIT_REPOSITORY "<a href="https://github.com/glfw/glfw.git">https://github.com/glfw/glfw.git</a>"</div><div>  GIT_TAG "master"</div><div><br></div><div>  SOURCE_DIR "${CMAKE_SOURCE_DIR}/dep/glfw"</div><div>  CMAKE_ARGS -DGLFW_BUILD_DOCS=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/install/glfw/ -DCMAKE_DEBUG_POSTFIX=_d</div><div><br></div><div>  TEST_COMMAND ""</div><div>  )</div></div><div><div>set(GLFW_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/install/glfw/include/")</div><div>set(GLFW_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/install/glfw/lib/")</div></div><div>========== </div><div> <br></div><div>Then I include it in my project like so:</div><div><br></div><div>==========  <br></div><div><div>find_library(GLFW_LIB_D  glfw3_d ${GLFW_LIBRARY_DIR})</div><div>find_library(GLFW_LIB    glfw3   ${GLFW_LIBRARY_DIR})</div></div><div><br></div><div><div>include_directories(${GLFW_INCLUDE_DIR})</div></div><div><br></div><div><div>add_executable(vk_test</div><div>  src/vulkan_test.cpp</div><div>  )</div><div>target_link_libraries(vk_test debug ${GLFW_LIB_D} optimized ${GLFW_LIB})</div><div>add_dependencies(vk_test glfw)<br></div><div>========== </div><div><br></div><div>As you can see, I depend on the libraries compiled by the external project glfw. Unfortunately, when I first configure the project, CMake complains that it cannot find the libraries specified by ${GLFW_LIB_D} and ${GLFW_LIB} variables. </div><div><br></div><div>Of course, this is because CMake did not begin cloning, configuring and building the glfw project. That only happens AFTER my project has been configured and starts building. This becomes a chicken and the egg problem.<br></div></div><div><br></div><div>Currently, my solution is to add dummy .lib files so that I can at least configure and generate my project. My question is, am I approaching this problem in the wrong way? If yes, what is the correct way to add a dependency to an external project and have it clone/configure/build BEFORE the "find_library" call?</div><div><br></div></div>