Hi Craig I got a workaround for that, using FILE command to create an empty file inside that folder, then it works. I also tried your script, because of too many dependencies, so it takes such a long time in Configuration phase, I will use that later in small project.
Thank you for your help. On Wed, Dec 14, 2016 at 4:51 AM, Craig Scott <craig.sc...@crascit.com> wrote: > You could try using file(MAKE_DIRECTORY ...) between the two > ExternalProject_Add() calls to actually ensure the directory exists, but > I'm not 100% sure whether this would not interfere with the download step > when it goes to do that at build time. I'm pretty sure it works, but you > should confirm it. > > Another choice is to do the download at configure time rather than build > time. This would mean the source would already be there by the time you > reached the second ExternalProject_Add() call in your example. There are > pros and cons to this, with the main objection being that ideally the > configure step should be quick and making the download part of configure > can increase the time that stage takes. For a general implementation > supporting this functionality, have a look here: > > https://github.com/Crascit/DownloadProject > > > > On Wed, Dec 14, 2016 at 12:29 AM, Bo Zhou <bo.schwarzst...@gmail.com> > wrote: > >> Hi >> >> In my project I have to compile the same external projects by the >> different generators, is that possible to handle this cases >> by ExternalProject_Add ? >> >> I tried this way, firstly, just download the repository >> >> ExternalProject_Add(OPENEXR_DOWNLOAD >> PREFIX ${OPENEXR_PREFIX} >> GIT_REPOSITORY https://github.com/openexr/openexr.git >> GIT_TAG v2.2.0 >> CONFIGURE_COMMAND "" >> BUILD_COMMAND "" >> INSTALL_COMMAND "") >> >> >> ExternalProject_Get_Property(OPENEXR_DOWNLOAD SOURCE_DIR) >> SET(OPENEXR_SOURCE_DIR ${SOURCE_DIR}) >> >> Then I tried to create a specific new target to use specific generator >> >> ExternalProject_Add(OPENEXR_VC11 >> DEPENDS OPENEXR_DOWNLOAD >> SOURCE_DIR ${OPENEXR_SOURCE_DIR}/IlmBase) >> >> >> Seems can't work, it requires an non-empty SOURCE_DIR, but before >> downloading, it's empty :( >> >> So is there any better way to do this ? Thanks very much ! >> >> >> -- >> >> 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 >> > > > > -- > Craig Scott > Melbourne, Australia > https://crascit.com >
-- 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