[CMake] Cmake and mingw can't link to a library in a directory with a parenthesis
Leek, Jim
leek2 at llnl.gov
Mon Sep 9 14:34:21 EDT 2013
I'm not really sure if this issue is with Cmake or Mingw. I have a build that uses BLAS, so I have some code to either find BLAS or build it locally:
find_package(BLAS)
if(BLAS_FOUND)
set (EXTRA_LIBS ${EXTRA_LIBS} "${BLAS_LIBRARIES}")
else()
### Build BLAS ###
endif()
However, on one Windows machine a BLAS library is found at:
C:\Program Files (x86)\psuade_project\ 1.6.0\bin\libblas.dll
However, when I try to build mingw-make can't even read the files cmake generated properly. Here's the error:
C:/MinGW/bin/mingw32-make -f CMakeFiles\psuade-bin.dir\build.make CMakeFiles/psuade-bin.dir/build
mingw32-make[2]: Entering directory `C:/psuade/trunk_clean/build_shared'
mingw32-make[2]: *** No rule to make target `x86)/psuade_project 1.6.0/bin/libblas.dll)', needed by `bin/psuade.exe'. S
top.
You can see that the open paren seems to have screwed up the parsing. The issue is in the build.make file:
bin/psuade.exe: C:/Program Files\ (x86)/psuade_project/\ 1.6.0/bin/libblas.dll
I've tried a variety of escape characters to get this line to work with no luck. I tried:
bin/psuade.exe: "C:/Program Files\ (x86)/psuade_project/\ 1.6.0/bin/libblas.dll"
bin/psuade.exe: C:/Program Files\ \(x86)/psuade_project/\ 1.6.0/bin/libblas.dll
bin/psuade.exe: "C:/Program Files\ \(x86)/psuade_project/\ 1.6.0/bin/libblas.dll"
I get different errors with each one.
Is this a bug, is there something else I should do? For now I'm just going force it to build BLAS locally on windows. But It seems like I should have a more general solution.
Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130909/e883343c/attachment.htm>
More information about the CMake
mailing list