> > Does the extracted eigen source tree look like it's a proper un-tarred > > eigen source directory?
Yes, everything seems ok. > > Does this simple example work for you? (copied/pasted from another > > recent CMake mailing list discussion...) Yes, it works! > > Silly question, but do you need to build eigen, or are you using it as > > a header only library? Your question is not silly! Indeed, eigen is a header only library. So, you can copy and paste these header files wherever you want to install eigen. However, my goal is to provide a simple way to install a code which depends on external libraries. By 'simple', I mean users/developpers may just have to type the classical combo 'cmake/make/make install' to use the code. They are not expected to download and install anything by themselves. Cédric ----- Mail original ----- > De: "Cedric Doucet" <[email protected]> > À: [email protected] > Envoyé: Jeudi 23 Avril 2015 14:01:54 > Objet: Re: [CMake] Don't download external projects again after calling "make > clean" > > > I don't know why but providing my own STAMP_DIR seems to solve the problem: > > STAMP_DIR ${EXTERNAL_DIR}/eigen/stamp > > Hope it helps! > > Cédric > > ----- Mail original ----- > > De: "David Cole" <[email protected]> > > À: "Cedric Doucet" <[email protected]> > > Cc: [email protected] > > Envoyé: Jeudi 23 Avril 2015 13:56:36 > > Objet: Re: [CMake] Don't download external projects again after calling > > "make clean" > > > > It looks correct. I don't understand what the error is. It looks like > > the download and extract succeeds, but then it simply doesn't move on > > to the next step of trying to configure with CMake... > > > > Does the extracted eigen source tree look like it's a proper un-tarred > > eigen source directory? > > > > Does this simple example work for you? (copied/pasted from another > > recent CMake mailing list discussion...) > > > > # ---------------------------------------------------------------------- > > # CMakeLists.txt > > > > cmake_minimum_required(VERSION 3.2) > > project(repro NONE) > > > > include(ExternalProject) > > > > ExternalProject_Add(name > > GIT_REPOSITORY https://github.com/dlrdave/SmallAndFast.git > > GIT_TAG 68c3cebf842aa8a13d659fec428fd85ca3a24307 > > CMAKE_ARGS "" > > INSTALL_COMMAND "" > > ) > > > > # Possible commits in this repo (most recent first) > > # > > # 68c3cebf842aa8a13d659fec428fd85ca3a24307 > > # a0acdce3a549796ca4424c591c038eeb19e59a72 > > # 5e98e304a464946dd34cb4c53eb3dd1fd348781b > > # 8ea36ce26a6b00ab839064a6066a984f6d6647f6 > > > > # END CMakeLists.txt > > > > > > Silly question, but do you need to build eigen, or are you using it as > > a header only library? > > > > And... if you do need to build it, does v3.2.4 of eigen build with > > CMake or does it require some other configure command? > > > > (I've been assuming you've actually built eigen manually, and you're > > just trying to automate it with ExternalProject... but now I'm > > back-tracking and trying not to assume anything...) > > > > > > HTH, > > David C. > > > > > > > > > > On Thu, Apr 23, 2015 at 7:31 AM, Cedric Doucet <[email protected]> > > wrote: > > > > > > Thank you very much. > > > Your remarks are very helpful to me to understand how it works. > > > > > > I hope the following file is now correct: > > > > > > ================== > > > project (example CXX) > > > > > > set(CMAKE_VERBOSE_MAKEFILE ON) > > > > > > include(ProcessorCount) > > > ProcessorCount(N) > > > if(NOT N EQUAL 0) > > > set(CMAKE_BUILD_FLAGS -j${N}) > > > endif() > > > > > > include(ExternalProject) > > > set(EXTERNAL_DIR ${CMAKE_CURRENT_BINARY_DIR}) > > > ExternalProject_Add(eigen > > > PREFIX ${EXTERNAL_DIR}/eigen > > > DOWNLOAD_DIR /home/cdoucet/Downloads/eigen > > > SOURCE_DIR ${EXTERNAL_DIR}/eigen/src > > > BINARY_DIR ${EXTERNAL_DIR}/eigen/build > > > INSTALL_DIR ${EXTERNAL_DIR}/eigen/install > > > URL http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz > > > URL_MD5 4d0d77e06fef87b4fcd2c9b72cc8dc55 > > > CMAKE_ARGS -D CMAKE_INSTALL_PREFIX=<INSTALL_DIR> > > > ) > > > =================== > > > > > > After deleting /home/cdoucet/Downloads/eigen and all the content of my > > > build directory (from where I call "cmake .."), I typed: > > > cmake .. > > > make > > > > > > and I still obtain the following error message: > > > > > > ===================== > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake > > > -H/home/cdoucet/Documents/exemples/cmake/external_project/eigen > > > -B/home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > > --check-build-system CMakeFiles/Makefile.cmake 0 > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E cmake_progress_start > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles/progress.marks > > > make -f CMakeFiles/Makefile2 all > > > make[1]: entrant dans le répertoire « > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > > make -f CMakeFiles/eigen.dir/build.make CMakeFiles/eigen.dir/depend > > > make[2]: entrant dans le répertoire « > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > > cd /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build && > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E cmake_depends "Unix > > > Makefiles" /home/cdoucet/Documents/exemples/cmake/external_project/eigen > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles/eigen.dir/DependInfo.cmake > > > --color= > > > Scanning dependencies of target eigen > > > make[2]: quittant le répertoire « > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > > make -f CMakeFiles/eigen.dir/build.make CMakeFiles/eigen.dir/build > > > make[2]: entrant dans le répertoire « > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E cmake_progress_report > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles > > > 3 > > > [ 12%] Creating directories for 'eigen' > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/build > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/install > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/tmp > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src/eigen-stamp > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > > /home/cdoucet/Downloads/eigen > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E touch > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src/eigen-stamp/eigen-mkdir > > > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E cmake_progress_report > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles > > > 4 > > > [ 25%] Performing download step (download, verify and extract) for > > > 'eigen' > > > cd > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen > > > && /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -P > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src/eigen-stamp/download-eigen.cmake > > > -- downloading... > > > src='http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz' > > > dst='/home/cdoucet/Downloads/eigen/3.2.4.tar.gz' > > > timeout='none' > > > -- [download 100% complete] > > > -- [download 0% complete] > > > -- [download 1% complete] > > > -- [download 2% complete] > > > -- [download 3% complete] > > > -- [download 4% complete] > > > -- [download 5% complete] > > > -- [download 7% complete] > > > -- [download 8% complete] > > > -- [download 9% complete] > > > -- [download 10% complete] > > > -- [download 11% complete] > > > -- [download 12% complete] > > > -- [download 13% complete] > > > -- [download 14% complete] > > > -- [download 15% complete] > > > -- [download 17% complete] > > > -- [download 18% complete] > > > -- [download 19% complete] > > > -- [download 20% complete] > > > -- [download 21% complete] > > > -- [download 22% complete] > > > -- [download 23% complete] > > > -- [download 24% complete] > > > -- [download 25% complete] > > > -- [download 27% complete] > > > -- [download 28% complete] > > > -- [download 29% complete] > > > -- [download 30% complete] > > > -- [download 31% complete] > > > -- [download 32% complete] > > > -- [download 33% complete] > > > -- [download 34% complete] > > > -- [download 35% complete] > > > -- [download 36% complete] > > > -- [download 38% complete] > > > -- [download 39% complete] > > > -- [download 40% complete] > > > -- [download 41% complete] > > > -- [download 42% complete] > > > -- [download 43% complete] > > > -- [download 44% complete] > > > -- [download 45% complete] > > > -- [download 46% complete] > > > -- [download 48% complete] > > > -- [download 49% complete] > > > -- [download 50% complete] > > > -- [download 51% complete] > > > -- [download 52% complete] > > > -- [download 53% complete] > > > -- [download 54% complete] > > > -- [download 55% complete] > > > -- [download 56% complete] > > > -- [download 57% complete] > > > -- [download 59% complete] > > > -- [download 60% complete] > > > -- [download 61% complete] > > > -- [download 62% complete] > > > -- [download 63% complete] > > > -- [download 64% complete] > > > -- [download 65% complete] > > > -- [download 66% complete] > > > -- [download 67% complete] > > > -- [download 69% complete] > > > -- [download 70% complete] > > > -- [download 71% complete] > > > -- [download 72% complete] > > > -- [download 73% complete] > > > -- [download 74% complete] > > > -- [download 75% complete] > > > -- [download 76% complete] > > > -- [download 77% complete] > > > -- [download 78% complete] > > > -- [download 80% complete] > > > -- [download 81% complete] > > > -- [download 82% complete] > > > -- [download 83% complete] > > > -- [download 84% complete] > > > -- [download 85% complete] > > > -- [download 86% complete] > > > -- [download 87% complete] > > > -- [download 88% complete] > > > -- [download 90% complete] > > > -- [download 91% complete] > > > -- [download 92% complete] > > > -- [download 93% complete] > > > -- [download 94% complete] > > > -- [download 95% complete] > > > -- [download 96% complete] > > > -- [download 97% complete] > > > -- [download 98% complete] > > > -- [download 99% complete] > > > -- [download 100% complete] > > > -- downloading... done > > > cd > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen > > > && /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -P > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src/eigen-stamp/verify-eigen.cmake > > > -- verifying file... > > > file='/home/cdoucet/Downloads/eigen/3.2.4.tar.gz' > > > -- verifying file... done > > > cd > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen > > > && /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -P > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src/eigen-stamp/extract-eigen.cmake > > > -- extracting... > > > src='/home/cdoucet/Downloads/eigen/3.2.4.tar.gz' > > > > > > dst='/home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src' > > > -- extracting... [tar xfz] > > > -- extracting... [analysis] > > > -- extracting... [rename] > > > -- extracting... [clean up] > > > -- extracting... done > > > cd > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen > > > && /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E touch > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/eigen/src/eigen-stamp/eigen-download > > > make[2]: *** [eigen/src/eigen-stamp/eigen-download] Erreur 1 > > > make[2]: quittant le répertoire « > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > > make[1]: *** [CMakeFiles/eigen.dir/all] Erreur 2 > > > make[1]: quittant le répertoire « > > > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > > make: *** [all] Erreur 2 > > > > > > ===================== > > > > > > > > > > > > ----- Mail original ----- > > >> De: "David Cole" <[email protected]> > > >> À: "Cedric Doucet" <[email protected]> > > >> Cc: [email protected] > > >> Envoyé: Jeudi 23 Avril 2015 13:14:35 > > >> Objet: Re: [CMake] Don't download external projects again after calling > > >> "make clean" > > >> > > >> I don't understand what the error is here, but here are some comments: > > >> > > >> (1) > > >> CMAKE_INSTALL_PREFIX=$<INSTALL_DIR> > > >> > > >> The $ is unnecessary and incorrect in this context. The literal string > > >> <INSTALL_DIR> is the thing that ExternalProject will substitute when > > >> it is processed into custom commands... > > >> > > >> (2) > > >> ONLY the DOWNLOAD_DIR parameter should be in an "external" (outside of > > >> your build tree) directory, to avoid re-downloading the exact same > > >> tar.gz file over and over again. The source tree and the build tree of > > >> the project should be in your build tree somewhere. > > >> > > >> (3) > > >> CONFIGURE_COMMAND cd <BINARY_DIR> && cmake should be unnecessary... > > >> The configure command is run in the binary dir by default. Instead, > > >> you should be able to use: > > >> > > >> CMAKE_ARGS -D CMAKE_INSTALL_PREFIX=<INSTALL_DIR> > > >> > > >> The binary dir is the working directory for configure, build and > > >> install commands. And the <SOURCE_DIR> is added automatically when you > > >> use CMAKE_ARGS with the default cmake CONFIGURE_COMMAND rather than > > >> specifying your own. > > >> > > >> > > >> Make those changes and try again with one more fresh build (i.e. -- > > >> blow away the whole /home/cdoucet/Downloads/eigen directory and start > > >> clean...) > > >> > > >> Let us know if you still have an error after making those changes. > > >> > > >> > > >> HTH, > > >> David C. > > >> > > >> > > >> > > >> On Thu, Apr 23, 2015 at 6:57 AM, Cedric Doucet <[email protected]> > > >> wrote: > > >> > Hello David, > > >> > > > >> > I am using CMake 3.2.2. > > >> > I installed CMake from the sources because I use "modules" to manage > > >> > my > > >> > libraries. > > >> > But it's ok now: I modified the installation so that to support https. > > >> > > > >> > Unfortunately, I still have a problem. :( > > >> > Maybe you could help me! > > >> > > > >> > Here is my CMakeLists.txt: > > >> > > > >> > ============= > > >> > > > >> > cmake_minimum_required (VERSION 2.6) > > >> > > > >> > project (example CXX) > > >> > > > >> > set(CMAKE_VERBOSE_MAKEFILE ON) > > >> > > > >> > include(ProcessorCount) > > >> > ProcessorCount(N) > > >> > if(NOT N EQUAL 0) > > >> > set(CMAKE_BUILD_FLAGS -j${N}) > > >> > endif() > > >> > > > >> > include(ExternalProject) > > >> > set(EXTERNAL_DIR /home/cdoucet/Downloads) > > >> > ExternalProject_Add(eigen > > >> > PREFIX ${EXTERNAL_DIR}/eigen > > >> > DOWNLOAD_DIR > > >> > ${EXTERNAL_DIR}/eigen/download > > >> > SOURCE_DIR > > >> > ${EXTERNAL_DIR}/eigen/src > > >> > BINARY_DIR > > >> > ${EXTERNAL_DIR}/eigen/build > > >> > INSTALL_DIR > > >> > ${EXTERNAL_DIR}/eigen/install > > >> > URL > > >> > http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz > > >> > URL_MD5 > > >> > 4d0d77e06fef87b4fcd2c9b72cc8dc55 > > >> > CONFIGURE_COMMAND cd <BINARY_DIR> > > >> > && > > >> > cmake -D CMAKE_INSTALL_PREFIX=$<INSTALL_DIR> <SOURCE_DIR> > > >> > ) > > >> > > > >> > ============= > > >> > > > >> > And here is the error message: > > >> > > > >> > ===================== > > >> > > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake > > >> > -H/home/cdoucet/Documents/exemples/cmake/external_project/eigen > > >> > -B/home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > >> > --check-build-system CMakeFiles/Makefile.cmake 0 > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E cmake_progress_start > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles/progress.marks > > >> > make -f CMakeFiles/Makefile2 all > > >> > make[1]: entrant dans le répertoire « > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > >> > make -f CMakeFiles/eigen.dir/build.make CMakeFiles/eigen.dir/depend > > >> > make[2]: entrant dans le répertoire « > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > >> > cd /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > >> > && > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E cmake_depends "Unix > > >> > Makefiles" > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles/eigen.dir/DependInfo.cmake > > >> > --color= > > >> > make[2]: quittant le répertoire « > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > >> > make -f CMakeFiles/eigen.dir/build.make CMakeFiles/eigen.dir/build > > >> > make[2]: entrant dans le répertoire « > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E > > >> > cmake_progress_report > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles > > >> > 3 > > >> > [ 12%] Creating directories for 'eigen' > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > >> > /home/cdoucet/Downloads/eigen/src > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > >> > /home/cdoucet/Downloads/eigen/build > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > >> > /home/cdoucet/Downloads/eigen/install > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > >> > /home/cdoucet/Downloads/eigen/tmp > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > >> > /home/cdoucet/Downloads/eigen/src/eigen-stamp > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E make_directory > > >> > /home/cdoucet/Downloads/eigen/download > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E touch > > >> > /home/cdoucet/Downloads/eigen/src/eigen-stamp/eigen-mkdir > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E > > >> > cmake_progress_report > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build/CMakeFiles > > >> > 4 > > >> > [ 25%] Performing download step (download, verify and extract) for > > >> > 'eigen' > > >> > cd /home/cdoucet/Downloads/eigen && > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -P > > >> > /home/cdoucet/Downloads/eigen/src/eigen-stamp/download-eigen.cmake > > >> > -- downloading... > > >> > src='http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz' > > >> > dst='/home/cdoucet/Downloads/eigen/download/3.2.4.tar.gz' > > >> > timeout='none' > > >> > -- [download 100% complete] > > >> > -- [download 0% complete] > > >> > -- [download 1% complete] > > >> > -- [download 2% complete] > > >> > -- [download 3% complete] > > >> > -- [download 4% complete] > > >> > -- [download 5% complete] > > >> > -- [download 7% complete] > > >> > -- [download 8% complete] > > >> > -- [download 9% complete] > > >> > -- [download 10% complete] > > >> > -- [download 11% complete] > > >> > -- [download 12% complete] > > >> > -- [download 13% complete] > > >> > -- [download 14% complete] > > >> > -- [download 15% complete] > > >> > -- [download 17% complete] > > >> > -- [download 18% complete] > > >> > -- [download 19% complete] > > >> > -- [download 20% complete] > > >> > -- [download 21% complete] > > >> > -- [download 22% complete] > > >> > -- [download 23% complete] > > >> > -- [download 24% complete] > > >> > -- [download 25% complete] > > >> > -- [download 27% complete] > > >> > -- [download 28% complete] > > >> > -- [download 29% complete] > > >> > -- [download 30% complete] > > >> > -- [download 31% complete] > > >> > -- [download 32% complete] > > >> > -- [download 33% complete] > > >> > -- [download 34% complete] > > >> > -- [download 35% complete] > > >> > -- [download 36% complete] > > >> > -- [download 38% complete] > > >> > -- [download 39% complete] > > >> > -- [download 40% complete] > > >> > -- [download 41% complete] > > >> > -- [download 42% complete] > > >> > -- [download 43% complete] > > >> > -- [download 44% complete] > > >> > -- [download 45% complete] > > >> > -- [download 46% complete] > > >> > -- [download 48% complete] > > >> > -- [download 49% complete] > > >> > -- [download 50% complete] > > >> > -- [download 51% complete] > > >> > -- [download 52% complete] > > >> > -- [download 53% complete] > > >> > -- [download 54% complete] > > >> > -- [download 55% complete] > > >> > -- [download 56% complete] > > >> > -- [download 57% complete] > > >> > -- [download 59% complete] > > >> > -- [download 60% complete] > > >> > -- [download 61% complete] > > >> > -- [download 62% complete] > > >> > -- [download 63% complete] > > >> > -- [download 64% complete] > > >> > -- [download 65% complete] > > >> > -- [download 66% complete] > > >> > -- [download 67% complete] > > >> > -- [download 69% complete] > > >> > -- [download 70% complete] > > >> > -- [download 71% complete] > > >> > -- [download 72% complete] > > >> > -- [download 73% complete] > > >> > -- [download 74% complete] > > >> > -- [download 75% complete] > > >> > -- [download 76% complete] > > >> > -- [download 77% complete] > > >> > -- [download 78% complete] > > >> > -- [download 80% complete] > > >> > -- [download 81% complete] > > >> > -- [download 82% complete] > > >> > -- [download 83% complete] > > >> > -- [download 84% complete] > > >> > -- [download 85% complete] > > >> > -- [download 86% complete] > > >> > -- [download 87% complete] > > >> > -- [download 88% complete] > > >> > -- [download 90% complete] > > >> > -- [download 91% complete] > > >> > -- [download 92% complete] > > >> > -- [download 93% complete] > > >> > -- [download 94% complete] > > >> > -- [download 95% complete] > > >> > -- [download 96% complete] > > >> > -- [download 97% complete] > > >> > -- [download 98% complete] > > >> > -- [download 99% complete] > > >> > -- [download 100% complete] > > >> > -- downloading... done > > >> > cd /home/cdoucet/Downloads/eigen && > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -P > > >> > /home/cdoucet/Downloads/eigen/src/eigen-stamp/verify-eigen.cmake > > >> > -- verifying file... > > >> > file='/home/cdoucet/Downloads/eigen/download/3.2.4.tar.gz' > > >> > -- verifying file... done > > >> > cd /home/cdoucet/Downloads/eigen && > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -P > > >> > /home/cdoucet/Downloads/eigen/src/eigen-stamp/extract-eigen.cmake > > >> > -- extracting... > > >> > src='/home/cdoucet/Downloads/eigen/download/3.2.4.tar.gz' > > >> > dst='/home/cdoucet/Downloads/eigen/src' > > >> > -- extracting... [tar xfz] > > >> > -- extracting... [analysis] > > >> > -- extracting... [rename] > > >> > -- extracting... [clean up] > > >> > -- extracting... done > > >> > cd /home/cdoucet/Downloads/eigen && > > >> > /usr/local/bibliotheques/cmake/3.2.2/bin/cmake -E touch > > >> > /home/cdoucet/Downloads/eigen/src/eigen-stamp/eigen-download > > >> > make[2]: *** > > >> > [/home/cdoucet/Downloads/eigen/src/eigen-stamp/eigen-download] > > >> > Erreur 1 > > >> > make[2]: quittant le répertoire « > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > >> > make[1]: *** [CMakeFiles/eigen.dir/all] Erreur 2 > > >> > make[1]: quittant le répertoire « > > >> > /home/cdoucet/Documents/exemples/cmake/external_project/eigen/build » > > >> > make: *** [all] Erreur 2 > > >> > > > >> > ===================== > > >> > > > >> > > > >> > > > >> > ________________________________ > > >> > > > >> > De: "David Cole" <[email protected]> > > >> > À: "Cedric Doucet" <[email protected]> > > >> > Cc: [email protected] > > >> > Envoyé: Samedi 18 Avril 2015 20:39:57 > > >> > > > >> > Objet: Re: [CMake] Don't download external projects again after > > >> > calling > > >> > "make clean" > > >> > > > >> > What version of CMake are you using? All the modern pre-built CMake > > >> > installations should support https without extra effort on your part. > > >> > Are > > >> > you using a pre-built version from somewhere or are you building CMake > > >> > yourself? > > >> > > > >> > > > >> > On Saturday, April 18, 2015, Cedric Doucet <[email protected]> > > >> > wrote: > > >> >> > > >> >> > > >> >> Ok it seems the answer to my problem is here: > > >> >> http://www.cmake.org/pipermail/cmake/2010-December/041295.html > > >> >> I will try it. > > >> >> > > >> >> ----- Mail original ----- > > >> >> > De: "Cedric Doucet" <[email protected]> > > >> >> > À: [email protected] > > >> >> > Envoyé: Samedi 18 Avril 2015 13:38:31 > > >> >> > Objet: Re: [CMake] Don't download external projects again after > > >> >> > calling > > >> >> > "make clean" > > >> >> > > > >> >> > > > >> >> > I have just tried to install curl to get https support. > > >> >> > To do that, I have followed the steps below: > > >> >> > > > >> >> > 1. Installation of openssl: > > >> >> > 1.a. ./config --prefix=/my/openssl/path > > >> >> > 1.b. make > > >> >> > 1.c. make test > > >> >> > 1.d. make install > > >> >> > 2. Installation of curl > > >> >> > 2.a. ./configure --prefix=/my/curl/path > > >> >> > --with-ssl=/my/openssl/path/lib > > >> >> > 2.b. make > > >> >> > 2.c. make install > > >> >> > > > >> >> > I have also prepend PATH with /my/curl/path/bin. > > >> >> > However, the error remains. > > >> >> > It seems that my version of curl (7.41.0) is not taken into acount > > >> >> > because I > > >> >> > have still this line in the error message: > > >> >> > User-Agent: curl/7.38.0 > > >> >> > I tried to remove all previous of curl and libcurl but it does not > > >> >> > change > > >> >> > anything. > > >> >> > > > >> >> > Could you help me? > > >> >> > > > >> >> > Cédric > > >> >> > > > >> >> > > > >> >> > ----- Mail original ----- > > >> >> > > De: "Cedric Doucet" <[email protected]> > > >> >> > > À: "David Cole" <[email protected]> > > >> >> > > Cc: [email protected] > > >> >> > > Envoyé: Samedi 18 Avril 2015 13:00:28 > > >> >> > > Objet: Re: [CMake] Don't download external projects again after > > >> >> > > calling > > >> >> > > "make clean" > > >> >> > > > > >> >> > > > > >> >> > > Hello David, > > >> >> > > > > >> >> > > thank you very much. > > >> >> > > Unfortunately, I get the following error message if I remove my > > >> >> > > download > > >> >> > > command: > > >> >> > > > > >> >> > > -- downloading... > > >> >> > > src='http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz' > > >> >> > > dst='/home/cdoucet/Downloads/eigen/download/3.2.4.tar.gz' > > >> >> > > timeout='none' > > >> >> > > -- [download 100% complete] > > >> >> > > CMake Error at src/eigen-stamp/download-eigen.cmake:27 (message): > > >> >> > > error: downloading > > >> >> > > 'http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz' > > >> >> > > failed > > >> >> > > > > >> >> > > status_code: 1 > > >> >> > > status_string: "Unsupported protocol" > > >> >> > > log: Hostname was NOT found in DNS cache > > >> >> > > Trying 131.103.20.167... > > >> >> > > > > >> >> > > Connected to bitbucket.org (131.103.20.167) port 80 (#0) > > >> >> > > > > >> >> > > GET /eigen/eigen/get/3.2.4.tar.gz HTTP/1.1 > > >> >> > > > > >> >> > > User-Agent: curl/7.38.0 > > >> >> > > > > >> >> > > Host: bitbucket.org > > >> >> > > > > >> >> > > Accept: */* > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > HTTP/1.1 301 Moved Permanently > > >> >> > > > > >> >> > > Server nginx/1.6.2 is not blacklisted > > >> >> > > > > >> >> > > Server: nginx/1.6.2 > > >> >> > > > > >> >> > > Date: Sat, 18 Apr 2015 10:55:20 GMT > > >> >> > > > > >> >> > > Content-Type: text/html > > >> >> > > > > >> >> > > Content-Length: 184 > > >> >> > > > > >> >> > > Location: https://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > Ignoring the response-body > > >> >> > > > > >> >> > > <html> > > >> >> > > > > >> >> > > <head><title>301 Moved Permanently</title></head> > > >> >> > > > > >> >> > > <body bgcolor="white"> > > >> >> > > > > >> >> > > <center><h1>301 Moved Permanently</h1></center> > > >> >> > > > > >> >> > > <hr><center>nginx/1.6.2</center> > > >> >> > > > > >> >> > > </body> > > >> >> > > > > >> >> > > </html> > > >> >> > > > > >> >> > > Connection #0 to host bitbucket.org left intact > > >> >> > > > > >> >> > > Issue another request to this URL: > > >> >> > > 'https://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz' > > >> >> > > > > >> >> > > Protocol "https" not supported or disabled in libcurl > > >> >> > > > > >> >> > > Closing connection -1 > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > ----- Mail original ----- > > >> >> > > > De: "David Cole" <[email protected]> > > >> >> > > > À: "Cedric Doucet" <[email protected]> > > >> >> > > > Cc: [email protected] > > >> >> > > > Envoyé: Vendredi 17 Avril 2015 13:21:08 > > >> >> > > > Objet: Re: [CMake] Don't download external projects again after > > >> >> > > > calling > > >> >> > > > "make clean" > > >> >> > > > > > >> >> > > > Eliminate your DOWNLOAD_COMMAND. CMake knows how to do it with > > >> >> > > > just > > >> >> > > > the URL_MD5, DOWNLOAD_DIR and SOURCE_DIR information.... > > >> >> > > > > > >> >> > > > HTH, > > >> >> > > > David > > >> >> > > > > > >> >> > > > > > >> >> > > > On Fri, Apr 17, 2015 at 1:32 AM, Cedric Doucet > > >> >> > > > <[email protected]> > > >> >> > > > wrote: > > >> >> > > > > > > >> >> > > > > Hello David, > > >> >> > > > > > > >> >> > > > > thank you very much for your help. > > >> >> > > > > > > >> >> > > > > Unfortunately I may do something wrong because it does not > > >> >> > > > > work. > > >> >> > > > > After cleaning, the library is downloaded again. > > >> >> > > > > > > >> >> > > > > I guess my mistake comes from the fact I do not understand > > >> >> > > > > the > > >> >> > > > > role of > > >> >> > > > > URL_MD5. > > >> >> > > > > Below is a simple example where downloading and installing is > > >> >> > > > > very > > >> >> > > > > fast. > > >> >> > > > > You just have to replace the value of EXTERNAL_DIR by the > > >> >> > > > > path > > >> >> > > > > to > > >> >> > > > > your > > >> >> > > > > own > > >> >> > > > > "Downloads" repository. > > >> >> > > > > I tried to put URL in my DOWNLOAD_COMMAND but the call "wget > > >> >> > > > > <URL>" > > >> >> > > > > does > > >> >> > > > > not seem to be understood by the wget command. > > >> >> > > > > > > >> >> > > > > Thanks again! > > >> >> > > > > > > >> >> > > > > Cédric > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > -------------------------------------------------------------------------- > > >> >> > > > > cmake_minimum_required (VERSION 2.6) > > >> >> > > > > > > >> >> > > > > project (example CXX) > > >> >> > > > > > > >> >> > > > > set(CMAKE_VERBOSE_MAKEFILE ON) > > >> >> > > > > > > >> >> > > > > include(ProcessorCount) > > >> >> > > > > ProcessorCount(N) > > >> >> > > > > if(NOT N EQUAL 0) > > >> >> > > > > set(CMAKE_BUILD_FLAGS -j${N}) > > >> >> > > > > endif() > > >> >> > > > > > > >> >> > > > > include(ExternalProject) > > >> >> > > > > set(EXTERNAL_DIR /home/cdoucet/Downloads) > > >> >> > > > > ExternalProject_Add(eigen > > >> >> > > > > PREFIX ${EXTERNAL_DIR}/eigen > > >> >> > > > > DOWNLOAD_DIR > > >> >> > > > > ${EXTERNAL_DIR}/eigen/download > > >> >> > > > > SOURCE_DIR ${EXTERNAL_DIR}/eigen/src > > >> >> > > > > BINARY_DIR ${EXTERNAL_DIR}/eigen/build > > >> >> > > > > INSTALL_DIR ${EXTERNAL_DIR}/eigen/install > > >> >> > > > > URL > > >> >> > > > > > > >> >> > > > > http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz > > >> >> > > > > URL_MD5 ccb18a771f678b38a3d33c321a8e7daf > > >> >> > > > > DOWNLOAD_COMMAND wget > > >> >> > > > > > > >> >> > > > > http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz > > >> >> > > > > && > > >> >> > > > > tar xvzf 3.2.4.tar.gz -C <SOURCE_DIR> > > >> >> > > > > --strip-components=1 > > >> >> > > > > CONFIGURE_COMMAND cd <BINARY_DIR> && > > >> >> > > > > cmake > > >> >> > > > > -D > > >> >> > > > > CMAKE_INSTALL_PREFIX=$<INSTALL_DIR> > > >> >> > > > > <SOURCE_DIR> > > >> >> > > > > ) > > >> >> > > > > > > >> >> > > > > ------------------------------------------------------------------------------ > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > ----- Mail original ----- > > >> >> > > > >> De: "David Cole" <[email protected]> > > >> >> > > > >> À: "Cedric Doucet" <[email protected]> > > >> >> > > > >> Cc: [email protected] > > >> >> > > > >> Envoyé: Lundi 13 Avril 2015 12:40:34 > > >> >> > > > >> Objet: Re: [CMake] Don't download external projects again > > >> >> > > > >> after > > >> >> > > > >> calling > > >> >> > > > >> "make clean" > > >> >> > > > >> > > >> >> > > > >> Use the URL_MD5 and DOWNLOAD_DIR arguments to > > >> >> > > > >> ExternalProject_Add > > >> >> > > > >> to > > >> >> > > > >> put the downloaded files into a location outside the build > > >> >> > > > >> tree > > >> >> > > > >> (perhaps ~/Downloads on Mac/Linux or > > >> >> > > > >> $ENV{USERPROFILE}/Downloads > > >> >> > > > >> on > > >> >> > > > >> Windows). > > >> >> > > > >> > > >> >> > > > >> With DOWNLOAD_DIR outside the build tree, and the checksums > > >> >> > > > >> of > > >> >> > > > >> the > > >> >> > > > >> downloaded files being the same as you've specified via > > >> >> > > > >> URL_MD5, > > >> >> > > > >> the > > >> >> > > > >> download portion will be avoided once there is a local copy > > >> >> > > > >> of > > >> >> > > > >> a > > >> >> > > > >> file > > >> >> > > > >> available. > > >> >> > > > >> > > >> >> > > > >> > > >> >> > > > >> HTH, > > >> >> > > > >> David C. > > >> >> > > > >> > > >> >> > > > >> > > >> >> > > > >> On Mon, Apr 13, 2015 at 5:04 AM, Cedric Doucet > > >> >> > > > >> <[email protected]> > > >> >> > > > >> wrote: > > >> >> > > > >> > > > >> >> > > > >> > Hello! > > >> >> > > > >> > > > >> >> > > > >> > I use the ExternalProject_Add function to download > > >> >> > > > >> > third-party > > >> >> > > > >> > libraries > > >> >> > > > >> > of > > >> >> > > > >> > a code. > > >> >> > > > >> > > > >> >> > > > >> > Once a library has been downloaded, I can call "make" as > > >> >> > > > >> > many > > >> >> > > > >> > times > > >> >> > > > >> > as > > >> >> > > > >> > I > > >> >> > > > >> > want without downloading this library again. > > >> >> > > > >> > It seems that CMake detects that the library has already > > >> >> > > > >> > been > > >> >> > > > >> > downloaded. > > >> >> > > > >> > > > >> >> > > > >> > However, calling "make clean" seems to destroy this > > >> >> > > > >> > feature. > > >> >> > > > >> > Even if my library is not uninstalled during cleaning, > > >> >> > > > >> > calling > > >> >> > > > >> > "make" > > >> >> > > > >> > after > > >> >> > > > >> > "make clean" will lead CMake to try download the library > > >> >> > > > >> > again. > > >> >> > > > >> > > > >> >> > > > >> > How could I tell CMake not to download the library again? > > >> >> > > > >> > > > >> >> > > > >> > Thank you very much for your help! > > >> >> > > > >> > > > >> >> > > > >> > Cédric > > >> >> > > > >> > > > >> >> > > > >> > -- > > >> >> > > > >> > > > >> >> > > > >> > 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 > > >> >> > > > >> > > >> >> > > > > > >> >> > > -- > > >> >> > > > > >> >> > > 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 > > >> >> > > > > >> >> > -- > > >> >> > > > >> >> > 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 > > >> >> > > > >> >> -- > > >> >> > > >> >> 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 > > >> > > > >> > > > >> > > > >> > -- > > >> > > > >> > 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 > > >> > > > > > -- > > 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 > > -- 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
