我不喜欢 cmake。既然这么说了,那么问题来了;
1) 如何使用 cmake 调整配置?使用 make 所需的只是 configure --help 来获取命令以在运行 make 之前正确设置配置,如何使用 cmake 完成此操作,或者是否可能?
2)使用 make,我可以使用 make DESTDIR=/directory/build/install 为我的发行版创建一个安装包,并将文件安装到 /directory/build,然后我可以轻松进入 /build 并制作程序包以便在必要时稍后进行安装和删除,但使用 cmake,我看不到这样做的方法,并且程序是无法删除的。
我想有办法做到这些,只是我还没找到。谢谢
答案1
假设您提取了一些源包project-1.0.0.tar.gz
,这些源包创建了一个具有类似名称的目录。当我使用 cmake 时,我通常会创建一个名为的目录,build
其中.o
将存储文件等,以免污染源目录:
/home/user/project-1.0.0> mkdir build
/home/user/project-1.0.0> cd build
然后,我从该目录执行 ccmake(有两个 c),这是 ncurses 的 cmake 配置接口。由于您必须指定主 CMakeLists.txt 的位置,因此在此示例中,命令将是
/home/user/project-1.0.0/build> ccmake ..
这将启动用户界面,最初它不会显示任何内容。
然后你需要按“c”(配置)让 cmake 开始解决问题。完成后,你应该会看到几个 cmake 变量名及其值出现。你可能不需要更改它们,我通常只填写变量CMAKE_BUILD_TYPE
并将其设置为release
(以获得更优化的编译器设置)
您需要至少再按一次“c”(可能更多,取决于 cmake 脚本执行的操作),直到所有*
变量的值都消失。然后,您可以按“g”来生成 makefile。
创建 makefile 后,一切可能都会按预期进行。您可以执行make
、make install
、make install DESTDIR=/my/new/dest/dir
。
除了 ncurses 用户界面之外,还有基于 Qt 的用户界面。