【发布时间】:2013-09-23 17:21:15
【问题描述】:
我想用 cmake 和 cpack 为 windows 上的一些程序创建一个安装程序。 我希望能够选择要安装的程序以及所选程序应 在开始菜单中显示为快捷方式。这是一个简单的尝试。为每个程序完成了一个组件 但无法弄清楚如何生成开始菜单变量。现在所有程序都在菜单中,即使它们没有被选择安装。首先是一个要安装的简单程序。
#include <iostream>
#include <conio.h>
int main()
{
std::cout << "prog1" << std::endl;
_getch();
return 0;
}
这里是 CMakeLists.txt 文件
cmake_minimum_required( VERSION 2.8 )
project ( CompoTest )
add_executable(prog1 prog1.cpp)
add_executable(prog2 prog2.cpp)
add_executable(prog3 prog3.cpp)
install(TARGETS prog1
RUNTIME DESTINATION bin
COMPONENT compo1)
install(TARGETS prog2
RUNTIME DESTINATION bin
COMPONENT compo2)
install(TARGETS prog3
RUNTIME DESTINATION bin
COMPONENT compo3)
set ( CPACK_PACKAGE_VERSION "1.0.0" )
set(CPACK_PACKAGE_EXECUTABLES
prog1 "prog 1"
prog2 "prog 2"
prog3 "prog 3"
)
set ( CPACK_COMPONENTS_ALL compo1 compo2 compo3 )
include (CPack)
问题是根据安装时选择的程序生成开始菜单快捷方式 我认为这应该很容易,但似乎并非如此。可以这样做吗?
更新:我发现http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack 中的任何示例都没有生成开始菜单快捷方式,还是我做错了什么?
【问题讨论】: