LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 06-21-2011, 12:08 PM   #1
Trip in VA
Member
 
Registered: Dec 2003
Location: Charlotte Co., VA, USA
Distribution: Aptosid
Posts: 34

Rep: Reputation: 15
Help Building One KDE Component with CMake


Hello, all:

Overnight, I upgraded from KDE 4.5.1 to 4.6.3 and had a rude awakening this morning when I found that KDE had managed to, once again, break the Task Manager "force rows" behavior which had been fixed a few major releases ago. I found this lovely patch that had been applied:

https://svn.reviewboard.kde.org/r/5776/

And thus broken the functionality, and I want to recompile that particular plasmoid with the patch removed. However, I am completely unfamiliar with CMake or building anything at all, for that matter. All my programming is done in PHP which means I'm pretty much completely lost.

I'm in the midst of pulling down the kde-workspace tree with git, and already downloaded and modified a separate copy of the file in question to look the way it is supposed to. My only question is, how do I build it? I don't want to rebuild all of KDE, just the one module.

Thanks in advance.

- Trip
 
Old 06-21-2011, 04:20 PM   #2
Trip in VA
Member
 
Registered: Dec 2003
Location: Charlotte Co., VA, USA
Distribution: Aptosid
Posts: 34

Original Poster
Rep: Reputation: 15
Okay, quick update. Someone was kindly able to send me a file to help with the CMake part of the equation. But now I've got errors in compiling, even though I've installed every KDE-related -dev package I could find. Here's the output of "make":

trip@trip-laptop:~/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks$ make
[ 0%] Built target plasma_applet_tasks_automoc
[ 12%] Building CXX object CMakeFiles/plasma_applet_tasks.dir/taskitemlayout.o
[ 25%] Building CXX object CMakeFiles/plasma_applet_tasks.dir/abstracttaskitem.o
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/abstracttaskitem.h: In constructor ‘AbstractTaskItem::AbstractTaskItem(QGraphicsWidget*, Tasks*)’:
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/abstracttaskitem.h:255:9: warning: ‘AbstractTaskItem::m_attentionTicks’ will be initialized after [-Wreorder]
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/abstracttaskitem.h:236:25: warning: ‘QPropertyAnimation* AbstractTaskItem::m_backgroundFadeAnim’ [-Wreorder]
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/abstracttaskitem.cpp:68:1: warning: when initialized here [-Wreorder]
[ 37%] Building CXX object CMakeFiles/plasma_applet_tasks.dir/taskgroupitem.o
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/taskgroupitem.cpp: In member function ‘void TaskGroupItem:opupMenu()’:
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/taskgroupitem.cpp:703:15: warning: variable ‘rect’ set but not used [-Wunused-but-set-variable]
[ 50%] Building CXX object CMakeFiles/plasma_applet_tasks.dir/applauncheritem.o
Linking CXX shared module lib/plasma_applet_tasks.so
CMakeFiles/plasma_applet_tasks.dir/tasks.o: In function `Tasks::createConfigurationInterface(KConfigDialog*)':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/tasks.cpp:390: undefined reference to `TaskManager::GroupManager::showOnlyCurrentActivity() const'
CMakeFiles/plasma_applet_tasks.dir/tasks.o: In function `Tasks::launcherAdded(TaskManager::LauncherItem*)':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/tasks.cpp:238: undefined reference to `TaskManager::LauncherItem::url() const'
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/tasks.cpp:241: undefined reference to `TaskManager::LauncherItem::genericName() const'
CMakeFiles/plasma_applet_tasks.dir/tasks.o: In function `Tasks::configChanged()':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/tasks.cpp:140: undefined reference to `TaskManager::GroupManager::showOnlyCurrentActivity() const'
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/tasks.cpp:141: undefined reference to `TaskManager::GroupManager::setShowOnlyCurrentActivity(bool)'
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/tasks.cpp:222: undefined reference to `TaskManager::GroupManager::addLauncher(KUrl const&, QIcon, QString, QString)'
CMakeFiles/plasma_applet_tasks.dir/taskgroupitem.o: In function `TaskGroupItem::dropEvent(QGraphicsSceneDragDropEvent*)':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/taskgroupitem.cpp:1106: undefined reference to `TaskManager::GroupManager::launcherExists(KUrl const&) const'
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/taskgroupitem.cpp:1122: undefined reference to `TaskManager::GroupManager::addLauncher(KUrl const&, QIcon, QString, QString)'
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/taskgroupitem.cpp:1115: undefined reference to `TaskManager::LauncherItem::url() const'
CMakeFiles/plasma_applet_tasks.dir/applauncheritem.o: In function `AppLauncherItem::keyPressEvent(QKeyEvent*)':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/applauncheritem.cpp:91: undefined reference to `TaskManager::LauncherItem::launch()'
CMakeFiles/plasma_applet_tasks.dir/applauncheritem.o: In function `AppLauncherItem::mouseReleaseEvent(QGraphicsSceneMouseEvent*)':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/applauncheritem.cpp:49: undefined reference to `TaskManager::LauncherItem::launch()'
CMakeFiles/plasma_applet_tasks.dir/applauncheritem.o: In function `AppLauncherItem::updateToolTip()':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/applauncheritem.cpp:83: undefined reference to `TaskManager::LauncherItem::genericName() const'
CMakeFiles/plasma_applet_tasks.dir/applauncheritem.o: In function `AppLauncherItem::contextMenuEvent(QGraphicsSceneContextMenuEvent*)':
/home/trip/kde/kdebase-workspace-4.6.3/plasma/desktop/applets/tasks/applauncheritem.cpp:67: undefined reference to `TaskManager::BasicMenu::BasicMenu(QWidget*, TaskManager::LauncherItem*, TaskManager::GroupManager*, QList<QAction*>)'
collect2: ld returned 1 exit status
make[2]: *** [lib/plasma_applet_tasks.so] Error 1
make[1]: *** [CMakeFiles/plasma_applet_tasks.dir/all] Error 2
make: *** [all] Error 2

Any thoughts on what I could do to make it build successfully?

Thanks.

- Trip
 
Old 06-22-2011, 12:46 AM   #3
Trip in VA
Member
 
Registered: Dec 2003
Location: Charlotte Co., VA, USA
Distribution: Aptosid
Posts: 34

Original Poster
Rep: Reputation: 15
I figured it out. There was a mistake in the CMakeLists.txt file that I randomly guessed was wrong. As soon as I fixed that, it built without issue.

- Trip
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
cmake: Using find_package(Boost) when FindBoost.cmake is not in the default location damien_d Programming 3 10-27-2010 03:40 PM
Building and Installing Cmake borntofish61 Linux - Newbie 4 05-09-2010 09:50 PM
LXer: The Road to KDE 4: CMake, a New Build System for KDE LXer Syndicated Linux News 0 02-22-2007 09:31 AM
[Debian] Uninstalling 1 kde component removes entire kde package? hamtavs Linux - Software 1 05-23-2006 04:11 PM
building Athlon 64 system-- component suggestions ekarni Linux - Hardware 8 06-27-2005 11:29 PM


All times are GMT -5. The time now is 07:01 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration