Version: (using Devel) OS: Linux Installed from: Compiled sources I decided today to switch from building kdesupport a la carte to building it as a whole, expecting this to give me nice things like decibel (which lives in kdesupport)... but it didn't :-(. Turns out, decibel must be built stand-alone, unlike most of the other stuff in kdesupport. I have a patch that fixes telepathy, fixes tapioca except for figuring out that telepathy is being built at the same time, and gets decibel through the configure step. But I haven't tried to get the dependency resolution working for when the whole enchilada is being built in one tree, so right now one must disable decibel+tapioca, build and install telepathy, enable tapioca and re-cmake and build and install, then rinse and repeat for decibel. Also there are a LOT more uses of absolute paths in decibel, which of course must go away, similar to the changes for telepathy and tapioca.
Created attachment 26993 [details] partial patch; telepathy builds, tapioca "sort-of builds", decibel configures
This hunk fixes tapioca's dependency resolution for an all-in-same-tree build. Is it OK to commit this plus the attached patch, less the parts that touch decibel itself (which I don't have building yet)? Index: tapioca-qt/CMakeLists.txt =================================================================== --- tapioca-qt/CMakeLists.txt (revision 852572) +++ tapioca-qt/CMakeLists.txt (working copy) @@ -12,7 +12,12 @@ set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE) FIND_PACKAGE(Qt4 REQUIRED) -FIND_PACKAGE(TelepathyQt REQUIRED) +if(EXISTS ${CMAKE_SOURCE_DIR}/telepathy-qt/) + set(TELEPATHY_QT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/telepathy-qt/include) + set(TELEPATHY_QT_LIBRARIES QtTelepathyClient) +else(EXISTS ${CMAKE_SOURCE_DIR}/telepathy-qt/) + FIND_PACKAGE(TelepathyQt REQUIRED) +endif(EXISTS ${CMAKE_SOURCE_DIR}/telepathy-qt/) if (NOT QT_QTDBUS_FOUND) message(FATAL_ERROR "Tapioca-Qt requires Qt4 with QtDBus module in order to built.") endif(NOT QT_QTDBUS_FOUND)
I'd encourage you to wait for input from Tobias Hunger before committing any changes to the Decibel/Telepathy/Tapioca buildsystems as he is the person who knows how its supposed to work.
I was planning to wait on someone to green-light anyway, just trying to poke a little harder since I hadn't heard anything yet (and since I now have two of the three modules working; more importantly I know now how to handle the dependencies in a same-tree build, so from this point it should be mainly gruntwork to get decibel working as well).
Hi Matthew! Sorry for the delay. You are right: I actually never tried to get a complete build up. It just did not occur to me that it is indeed needed:-) Your patch looks fine to me, so please commit it. Please feel free to fix more issues as you run into them:-) I currently do not want to enable decibel as part of the normal kdesupport built at this time as I still do not fully trust the cmake setup I hacked together, but getting everything into a state where we can just add a our subdirs to the main cmakelists.txt file is something we absolutely need. Thanks for looking into the issue. Best Regards, Tobias
Thanks, Tobias. Patches for telepathy and tapioca checked in, and will keep decibel on my TODO list. If CCBUG is working the commits should show up here also. Please let me know if I break anything :-).
This fix was mostly completed by dhaumann in SVN commit 881692. There is still one teensy tweak that I will probably commit soon, but for now I'm marking this FIXED.
Said tweaks committed in r882598 (specifically, this reverts the patch in comment #2): ------------------------------------------------------------------------ r882598 | mwoehlke | 2008-11-10 17:56:59 -0600 (Mon, 10 Nov 2008) | 2 lines Copy FindTelepathyQt.cmake from decibel's version (which knows about KDESupport_SOURCE_DIR). This allows reverting the less elegant Find solution from r854204 (my previous build-within-kdesupport changes), which is also done.