4

我正在尝试为我的新 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/

如您所见,所有这些路径都包含“本地”文件夹。在这样的安装之后,我的项目对于我的系统仍然是不可见的。我使用 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 中没有“本地”文件夹)时,我的项目对我的系统变得可见并且它可以工作。如何为我的 cmakelists.txt 正确配置安装路径?

提前感谢您的帮助!此致!

4

1 回答 1

2

运行时cmake,添加标志

-DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`
于 2012-05-14T01:58:01.010 回答