[CMake] Forcing CMake to find static library

Michael Ellery mellery451 at gmail.com
Fri Jun 9 14:07:14 EDT 2017


if you know exactly where the library is (via the ENV), then I guess you want to specify the NO_DEFAULT_PATH option to find_library. Alternatively, see if you can use the standard find module included with cmake:

https://github.com/Kitware/CMake/blob/master/Modules/FindLAPACK.cmake

..and in that case you could set LAPACK_ROOT using your ENV value.

HTH,
Mike

> On Jun 9, 2017, at 10:39 AM, Matthias Redies <m.redies at fz-juelich.de> wrote:
> 
> Hello,
> 
> I am trying to force CMAKE to include a specific static lapack library,
> set through the environment variable $LAPACK_LIB:
> 
> > ls $LAPACK_LIB
> libblas_extra.a  libcblas.a  liblapack.a  liblapacke.a libtmglib.a
> 
> > echo $LAPACK_LIB
> /bgsys/local/lapack/3.7.0/lib
> 
> 
> This is how I am trying to do it in CMake:
> 
> cmake_minimum_required(VERSION 2.5)
> project(TEST)
> 
> file(GLOB_RECURSE sources  src/*.f90)
> 
> add_executable(cmake.x ${sources})
> find_library(MY_LAPACK liblapack.a HINTS $ENV{LAPACK_LIB}
> NO_CMAKE_LIBRARY_PATH)
> 
> MESSAGE(STATUS "Lapack location: ${MY_LAPACK}")
> 
> target_link_libraries(cmake.x ${MY_LAPACK} ${MY_ESSL})
> 
> enable_language(Fortran)
> 
> 
> If I run CMake this results in:
> 
> > cmake .
> -- Lapack location: /usr/lib64/liblapack.so
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /work/jias12/jias1217/lapack_test
> 
> 
> How can I force CMake to find the correct library file and not some
> random one laying around on the system?
> 
> 
> Kind regards
> 
> 
> Matthias
> 
> 
> 
> ------------------------------------------------------------------------------------------------
> ------------------------------------------------------------------------------------------------
> Forschungszentrum Juelich GmbH
> 52425 Juelich
> Sitz der Gesellschaft: Juelich
> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
> Prof. Dr. Sebastian M. Schmidt
> ------------------------------------------------------------------------------------------------
> ------------------------------------------------------------------------------------------------
> 
> -- 
> 
> 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



More information about the CMake mailing list