[Cmake] Subdirs and Dependecies.
Ulrik Mikaelsson
rawler at rsn.bth.se
Sat Jul 24 16:24:02 EDT 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi there,
First of all, nice work. It's great to finally find something that might
liberate me from the GNU Autotools-crap.
However, I've run into a small problem:
I've got 1 directory with two subdirectories such as:
atuin
atuin/base
atuin/share
atuin/CMakeLists.txt contains:
- ------------------------------
PROJECT(slicker)
INCLUDE( ${CMAKE_ROOT}/Modules/FindQt.cmake )
INCLUDE( FindKDE.cmake )
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${KDE_INCLUDE_DIR} )
ADD_DEFINITIONS( ${QT_DEFINITIONS} ${KDE_DEFINITIONS} )
LINK_LIBRARIES( ${QT_LIBRARIES} ${KDE_LIB_KDECORE} ${KDE_LIB_KUTILS} )
INCLUDE_DIRECTORIES( ${slicker_SOURCE_DIR} ${slicker_SOURCE_DIR}/share
${slicker_SOURCE_DIR}/base )
LINK_DIRECTORIES( ${slicker_BINARY_DIR}/base ${slicker_BINARY_DIR}/share )
SUBDIRS( share base )
ADD_EXECUTABLE( slicker slicker.cpp sources_moc)
QT_WRAP_CPP( slicker sources_moc
slicker.h )
TARGET_LINK_LIBRARIES( slicker slicker_base slicker_share )
INSTALL_TARGETS( /bin slicker )
- ------------------------------
atuin/share/CMakeLists.txt contains:
- ------------------------------
ADD_LIBRARY( slicker_share SHARED slicker_share_sources slicker_share_moc)
QT_WRAP_CPP(slicker_share slicker_share_moc
appletdef.h applethostmenu.h edgewidget.h edgewidgethelpers.h
plugin.h pluginprefspage.h)
AUX_SOURCE_DIRECTORY( . slicker_share_sources )
INSTALL_TARGETS( /lib slicker_share )
- ------------------------------
atuin/base/CMakeLists.txt looks pretty much like it's share-equivalent in
share.
When running cmake on this setup, I get the error:
Library slicker_base is defined using ADD_LIBRARY after the library is used
using TARGET_LINK_LIBRARIES for the target slicker. This breaks CMake's
dependency handling. Please fix the CMakeLists.txt file.
Library slicker_share is defined using ADD_LIBRARY after the library is used
using TARGET_LINK_LIBRARIES for the target slicker. This breaks CMake's
dependency handling. Please fix the CMakeLists.txt file.
I've tried to move the SUBDIRS-directive up and down in the top CMakeList, but
without result. What should I do? Have I done something wrong, and if so,
what?
Regards
/ Ulrik
- --
Happiness isn't having what you want, it's wanting what you have.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFBAsVq069SELtZwIkRArAQAJ9/YyFMA1jgZVUd1jqa5782LDHteACfe9hp
9yAxoTXImcKStXGR+RSSNXI=
=yQd+
-----END PGP SIGNATURE-----
More information about the Cmake
mailing list