设置CMAKE生成的文件的输出路径

set output path for cmake generated files

本文关键字:文件 路径 输出 CMAKE 设置      更新时间:2023-10-16

我的问题是:有没有办法告诉cmakefiles在哪里生成它是makefiles,例如cmake_install.cmake,cmakecache.txt等?

更具体地说,是否有一种方法可以在cmakefiles中设置某些命令,以指定输出这些生成的文件的位置?我试图在网络上搜索以找到一些答案,大多数人说没有明确的方法来这样做,而其他人则说我可以使用自定义命令。可悲的是,我在Cmake上不是很强壮,所以我无法弄清楚。

我目前正在使用CLION IDE,您可以在这里专门设置输出路径,但是由于灵活的原因,我希望尽可能多地通过CMakefiles完成,以便从不同的计算机中编译。那个大麻烦。

我也想避免明确添加其他命令行参数等。

我希望有人可以为我有答案,谢谢!

您无法(轻松)执行此操作,而您不应该尝试这样做。

建筑树是Cmake的领土。它允许您在那里进行一些少量的自定义(例如,您可以通过*_OUTPUT_DIRECTORY目标属性指定最终构建工件的位置),但是它不能直接控制中间文件的位置,例如对象文件或内部make。用于簿记的脚本正在放置。

这是A 功能。您不知道Cmake内部支持的所有构建系统是如何在内部使用的。也许您可以将内部文件移至构建过程中的其他位置,该文件基于Unix Makefiles。但这也许也会大会打破我使用Visual Studio的构建过程。最重要的是:您不必关心这一点。Cmake应该照顾好它,并通过将一些自由从您身上夺走,它可以确保它实际上可以做在所有受支持的构建工具链上的工作。

,但这可能仍然是对您的不满意的答案。您是开发人员,您不应该完全控制构建结果吗?当然,这就是为什么Cmake再次授予您完全控制安装树的原因的原因。也就是说,当您调用make install(或等同于在构建工具链中安装)时,安装目录中的任何最终都在您的控件下。

因此,您确实控制着重要的一切:源树,安装树以及最终构建伪像的构建树的一小部分。构建树的其余部分是您的限制性,出于充分的理由。