我正在尝试为我的新KDE项目编写正确的CMakeLists.txt文件。但是,我在使用KDE安装目录时遇到了一些麻烦。
cmake文件中的部分安装命令如下所示:
INSTALL(TARGETS photolayoutseditoreffectplugin_blur DESTINATION ${PLUGIN_INSTALL_DIR})
INSTALL(FILES photolayoutseditoreffectplugin_blur.desktop DESTINATION ${SERVICES_INSTALL_DIR})
INSTALL(TARGETS photolayoutseditor ${INSTALL_TARGETS_DEFAULT_ARGS})
INSTALL(PROGRAMS plugin/photolayoutseditor.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
INSTALL(FILES plugin/photolayoutseditorui.rc DESTINATION ${DATA_INSTALL_DIR}/photolayoutseditor)
INSTALL(FILES effects/photolayoutseditoreffectplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
INSTALL(FILES borders/photolayoutseditorborderplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
如您所见,KDE包设置的安装目录很少。下面我用我们的cmake脚本中的值写下这些变量:
${DATA_INSTALL_DIR} = /usr/local/share/apps/
${SERVICES_INSTALL_DIR} = /usr/local/share/kde4/services/
${SERVICETYPES_INSTALL_DIR} = /usr/local/share/kde4/servicetypes/
${PLUGIN_INSTALL_DIR} = /usr/local/lib/kde4/
如您所见,所有这些路径都包含“local”文件夹。安装完成后,我的系统仍然看不到我的项目。我使用kde4-config检查了这些路径,它告诉我:
kde4-config -path data = /usr/share/kde4/apps/
kde4-config -path services = /usr/share/kde4/services/
kde4-config -path servicetypes = /usr/share/kde4/servicetypes/
kde4-config -path lib = /usr/lib/
那么为什么cmake文件中的路径与kde4-config工具中的路径不同? 我确定kde4-config告诉我正确的路径,因为当我将项目文件移动到那些目录时(在url中没有“local”文件夹)我的项目对我的系统变得可见并且它可以工作。如何正确配置我的cmakelists.txt的安装路径
提前感谢您的帮助! 最好的问候!
答案 0 :(得分:2)
运行cmake
时,添加标记
-DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`