[CMake] CMake Library Issues
Nick Ogden
nick at nickogden.net
Tue Feb 3 19:48:32 EST 2009
Hi there,
I have a problem with using CMake to compile a library that I'm trying to use
in an application that I'm writing.
I have the following directory structure:
src/
|---- CMakeLists.txt (1)
|---- app/
| |---- CMakeLists.txt (2)
| |---- (app source and headers)
|---- libmba/
| |---- CMakeLists.txt (3)
| |---- mba
| | |---- (libmba headers)
| |---- (libmba source)
The problem occurs when compiling the library. Make states that it cannot find
a header file for the library, which is definitely in the 'mba' directory. The
problem seems to be that the library uses '#include <mba/XXXX>' style
statements in the header files and as such expects the search path to start in
the 'libmba' directory. Since some header files include other header files, make
then seems to look for the directory 'src/libmba/mba/mba' which of course does
not exist. Is there any way of preventing this behavior so that the search
will always start in the 'libmba' directory?
The error as reported by make and the relevant CMakeLists.txt file is as
follows.
Error:
Scanning dependencies of target mba
[ 3%] Building C object libmba/CMakeFiles/mba.dir/allocator.c.o
In file included from /.../src/libmba/allocator.c:29:
/.../src/libmba/mba/suba.h:24:27: error: mba/allocator.h: No such file or
directory
make[2]: *** [libmba/CMakeFiles/mba.dir/allocator.c.o] Error 1
make[1]: *** [libmba/CMakeFiles/mba.dir/all] Error 2
make: *** [all] Error 2
--------------------------------------------------------------------------------------------------------------
CMakeLists.txt (3):
set(mba_SRC allocator.c
bitset.c
cfg.c
csv.c
daemon.c
dbug.c
diff.c
eval.c
hashmap.c
hexdump.c
linkedlist.c
misc.c
msgno.c
path.c
pool.c
shellout.c
stack.c
suba.c
svcond.c
svsem.c
text.c
time.c
varray.c)
include_directories(${SERVER_SOURCE_DIR}/libmba)
add_library(mba STATIC ${mba_SRC})
--------------------------------------------------------------------------------------------------------------
Any help would be greatly appreciated.
Kind Regards
--
Nick Ogden
Email: nick at nickogden.net PGP: 2598FFE4
Web: www.nickogden.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090204/5d51ce9a/attachment.pgp>
More information about the CMake
mailing list