[keep the mail on cmake ml, pls] On Tue, Oct 21, 2008 at 10:26 AM, Martin Köhler <[EMAIL PROTECTED]> wrote: >>Von: "Mathieu Malaterre" <[EMAIL PROTECTED]> >>Gesendet: 21.10.08 10:10:44 >>An: "Martin Köhler" <[EMAIL PROTECTED]> >>CC: [email protected] >>Betreff: Re: [CMake] Add external static libraries / ar-archives to a build. >> >>On Tue, Oct 21, 2008 at 10:06 AM, Martin Köhler <[EMAIL PROTECTED]> wrote: >>> Hi, >>> I'm working on a library to solve sparse linear systems. All basic vector >>> operations are realized by using the BLAS. The FindBLAS works fine but most >>> of the blas implementations are provided as an ar-archive somewhere in the >>> filesystem ( we use a standard blas, ATLAS, GotoBlas or malefactor specific >>> variants). Is it possible to pass the wanted libblas.a as a parameter to >>> cmake and add it to a target? >>> For example when I want to use the GotoBLAS I want to call cmake this way: >>> cmake -DBLAS=/path/to/lib/libgoto.a PATH_TO_SOURCE >>> >>> If I link the lib manually I enter >>> gcc -o output myfile.c /path/to/lib/libgoto.a >> >>FIND_PACKAGE(BLAS REQUIRED) >> >>ADD_EXECUTABLE(output myfile.c) >>TARGET_LINK_LIBRARIES(output ${BLAS_LIBRARIES}) >> > > This way already works fine(I already noticed) but it is not that flexible I > need for the project. I need to specify the ar-archive that contain the blas > routines myself. The Find_package macro mostly finds the wrong blas that I > don't want to use.
I do not understand what you mean. there is no 'wrong' library, cmake just pick the first one based on your environment. If you have multiple installation of blas, I do not see how cmake could guess which one you want. > In my opinion the best way is to pass the right file as parameter. The cause > is that the choose of the blas implementation is very important to solve the > problems as fast as possible and so I want an easy way to switch which blas > is used. Either run it via ccmake and changed whatever option is "wrong". reading the code of FindBLAS.cmake there is apparently a subtle mechanism which rely on the setting of "BLA_VENDOR", change this value until you are happy with cmake system inspection (neither did I wrote this module, nor did I ever used it...) 2cts -- Mathieu _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
