[CMake] How to install external project

joewan cx282694 at gmail.com
Sat Jul 14 22:20:28 EDT 2012


hi,
I think you should modify the target file name "blas_LINUX.a",changing it to your real target file name.

Martin Vymazal <martin.vymazal at vki.ac.be>编写:

>Hello, 
>
>  thanks for your advice. Unfortunately, I must still be doing something 
>wrong. Now I have this:
>
>  make[3]: *** No rule to make target `install'.  Stop.
>
> My CMakeLists.txt is below.
>
>cmake_minimum_required(VERSION 2.8)
>project(OpenBlasTest)
>
>include(ExternalProject)
>ExternalProject_Add(Blas
>   SOURCE_DIR ${CMAKE_SOURCE_DIR}/contrib/blas
>   BUILD_IN_SOURCE 1
>   CONFIGURE_COMMAND ""
>   BUILD_COMMAND make
>   INSTALL_DIR ${CMAKE_BINARY_DIR}/install
>   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install
>)
>
>
>Best regards,
>
>  Martin Vymazal
>
>
>On Friday 13 of July 2012 21:01:43 David Cole wrote:
>
>If it builds with CMake, then just give it these arguments:
>
>
>  INSTALL_DIR ${CMAKE_BINARY_DIR}/install
>  CMAKE_ARGS
>    -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
>
>
>and leave off the INSTALL_COMMAND, accepting the default install command that 
>ExternalProject already uses. That should work everywhere.
>
>
>The thing you're trying to do would work if you did it like this, without the 
>double quotes:
>
>
>  INSTALL_COMMAND cp 
>${CMAKE_SOURCE_DIR}/contrib/blas/blas_LINUX.a ${CMAKE_BINARY_DIR}/
>
>
>
>But obviously, that will only work where there's a "cp" command, and on Linux, 
>since the blas_LINUX.a file probably only works on Linux. (And it generally 
>doesn't work to simply copy library files around as an install step...)
>
>
>
>
>HTH,
>David
>
>
>
>
>On Fri, Jul 13, 2012 at 8:21 PM, Martin Vymazal <martin.vymazal at vki.ac.be> 
>wrote:
>
>Hello,
>
> I would like to add blas as external project to my code (which already uses
>cmake), and I'm playing with ExternalProject_Add
>
>I downloaded blas and extracted its sources to the directory
>${CMAKE_SOURCE_DIR}/contrib/blas
>
>The compilation runs fine and generates blas_LINUX.a, but I cannot install the
>library. For testing purposes, I would like to move it to the build tree. I
>tried:
>
>ExternalProject_Add(BlasTest
> ...
>INSTALL_COMMAND "cp ${CMAKE_SOURCE_DIR}/contrib/blas/blas_LINUX.a
>${CMAKE_BINARY_DIR}/"
>)
>
>Unfortunately, this fails:
>
>/bin/sh: cp /home/martin/BlasExtProject/contrib/blas/blas_LINUX.a
>/home/martin/BlasExtProject/build/: No such file or directory
>
>This happens after running:
>cd /home/martin/BlasExtProject/build
>cmake ..
>make
>
>Could you please help me to get this right?
>I'm not sure that this approach as a whole is a good practice. If it's not,
>please suggest a better one.
>
>Thank you.
>
>Best regards,
>
>  Martin Vymazal
>
>--
>
>Powered by www.kitware.com
>
>Visit other Kitware open-source projects at 
>http://www.kitware.com/opensource/opensource.html
>
>Please keep messages on-topic and check the CMake FAQ at: 
>http://www.cmake.org/Wiki/CMake_FAQ
>
>Follow this link to subscribe/unsubscribe:
>http://www.cmake.org/mailman/listinfo/cmake
>
>
>
>
>
>
>--
>
>Powered by www.kitware.com
>
>Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
>Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
>Follow this link to subscribe/unsubscribe:
>http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list