cmake – KDE安装dirs

我正在尝试为我的新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正确配置安装路径?

在此先感谢您的帮助!
最好的祝福!

最佳答案 当你运行cmake时,添加标志

-DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`
点赞