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: [email protected] PGP: 2598FFE4
Web: www.nickogden.net
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
