Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread Cedric Doucet
] 
-- [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 
= 

- Mail original -

 De: David Cole dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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  cedric.dou...@inria.fr  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  cedric.dou...@inria.fr 
 
   À: cmake@cmake.org
 
   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  cedric.dou...@inria.fr 
 
À: David Cole  dlrd...@aol.com 
 
Cc: cmake@cmake.org
 
Envoyé: Samedi 18 Avril 2015 13:00:28
 
Objet: Re: [CMake] Don't download external projects again

Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread David Cole via CMake
 /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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread Cedric Doucet


  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 cedric.dou...@inria.fr
 À: cmake@cmake.org
 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 dlrd...@aol.com
  À: Cedric Doucet cedric.dou...@inria.fr
  Cc: cmake@cmake.org
  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 cedric.dou...@inria.fr
  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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread Cedric Doucet

Eigen is just an example of an external library which is very fast to download 
and install with ExternalProject_Add.
It is convenient here to let you check that you have the same problem as mine 
on your machine.
However, I have other external libraries which have to be compiled.



- Mail original -
 De: Cedric Doucet cedric.dou...@inria.fr
 À: cmake@cmake.org
 Envoyé: Jeudi 23 Avril 2015 14:14:59
 Objet: Re: [CMake] Don't download external projects again after calling make 
 clean
 
 
 
   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 cedric.dou...@inria.fr
  À: cmake@cmake.org
  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 dlrd...@aol.com
   À: Cedric Doucet cedric.dou...@inria.fr
   Cc: cmake@cmake.org
   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 cedric.dou...@inria.fr
   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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread David Cole via CMake
-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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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 cedric.dou...@inria.fr
 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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread Cedric Doucet

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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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 cedric.dou...@inria.fr
 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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-23 Thread Cedric Doucet
% 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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-18 Thread Cedric Doucet

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

  headtitle301 Moved Permanently/title/head

  body bgcolor=white

  centerh1301 Moved Permanently/h1/center

  hrcenternginx/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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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 cedric.dou...@inria.fr
 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 dlrd...@aol.com
  À: Cedric Doucet cedric.dou...@inria.fr
  Cc: cmake@cmake.org
  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 cedric.dou...@inria.fr
  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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-18 Thread Cedric Doucet

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 cedric.dou...@inria.fr
 À: cmake@cmake.org
 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 cedric.dou...@inria.fr
  À: David Cole dlrd...@aol.com
  Cc: cmake@cmake.org
  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
  
headtitle301 Moved Permanently/title/head
  
body bgcolor=white
  
centerh1301 Moved Permanently/h1/center
  
hrcenternginx/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 dlrd...@aol.com
   À: Cedric Doucet cedric.dou...@inria.fr
   Cc: cmake@cmake.org
   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 cedric.dou...@inria.fr
   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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-18 Thread Cedric Doucet

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 cedric.dou...@inria.fr
 À: David Cole dlrd...@aol.com
 Cc: cmake@cmake.org
 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
 
   headtitle301 Moved Permanently/title/head
 
   body bgcolor=white
 
   centerh1301 Moved Permanently/h1/center
 
   hrcenternginx/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 dlrd...@aol.com
  À: Cedric Doucet cedric.dou...@inria.fr
  Cc: cmake@cmake.org
  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 cedric.dou...@inria.fr
  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 dlrd...@aol.com
   À: Cedric Doucet cedric.dou...@inria.fr
   Cc

Re: [CMake] Don't download external projects again after calling make clean

2015-04-18 Thread David Cole via CMake
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 cedric.dou...@inria.fr 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 cedric.dou...@inria.fr javascript:;
  À: cmake@cmake.org javascript:;
  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 cedric.dou...@inria.fr javascript:;
   À: David Cole dlrd...@aol.com javascript:;
   Cc: cmake@cmake.org javascript:;
   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
  
 headtitle301 Moved Permanently/title/head
  
 body bgcolor=white
  
 centerh1301 Moved Permanently/h1/center
  
 hrcenternginx/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 dlrd...@aol.com javascript:;
À: Cedric Doucet cedric.dou...@inria.fr javascript:;
Cc: cmake@cmake.org javascript:;
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 
 cedric.dou...@inria.fr javascript:;
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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-17 Thread David Cole via CMake
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 cedric.dou...@inria.fr 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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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 cedric.dou...@inria.fr
 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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-16 Thread Cedric Doucet

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 dlrd...@aol.com
 À: Cedric Doucet cedric.dou...@inria.fr
 Cc: cmake@cmake.org
 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 cedric.dou...@inria.fr
 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


[CMake] Don't download external projects again after calling make clean

2015-04-13 Thread Cedric Doucet

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

Re: [CMake] Don't download external projects again after calling make clean

2015-04-13 Thread David Cole via CMake
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 cedric.dou...@inria.fr 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