CMake的替代方案

6

我在Visual Studio中使用CMake构建规则,在提交文件给编译器之前对其进行预处理,但我的客户不喜欢这个方法。

是否有任何CMake替代方案或方法可以对我的文件进行预处理,并将它们集成到Visual Studio中?


我不太明白为什么客户不喜欢cmake的想法。它可以为您创建平台相关文件(make/sln/.project),但允许您以平台无关的方式编写代码。因此,我不会过多考虑这个问题,因为答案很可能是与平台相关的(例如,只提供Visual Studio sln文件)。 - Najzero
2
我会向您的客户解释使用CMake相比于仅使用Visual Studio所提供的优势。并且这些优势超过了学习如何使用CMake和为每个目标创建CMakeLists.txt文件的额外步骤的成本。 - drescherjm
为什么不直接将由CMake生成的文件发送给客户呢?这样他们就不必使用CMake,但您可以。 - John Zwinck
2
我不知道这个具体的情况,但是手动维护Visual Studio项目(或Xcode项目)和自动生成的项目之间的可用性差异可能会很大。 - Wilbert
3
@JohnZwinck. 由于CMake生成的文件很可能使用固定的绝对路径来引用第三方库,在客户的开发机器上可能无法正常工作。此外,CMake生成的文件仍然需要CMake才能使用。 - André
我投票关闭这个旧问题,因为我认为它需要更多的细节和清晰度:CMake到底被用来做什么?为什么客户不喜欢它?预处理文件目前是如何集成到Visual Studio中的?除此之外,它所要求的(替代方案)太过开放。要求没有被清楚地陈述。 - starball
1个回答

3
据我理解,您正在使用CMake生成由手动创建的VS项目消耗的文件。由于某种原因,您的VS项目的客户不喜欢CMake。可能是通过在项目上创建自定义构建步骤来连接它,或者作为项目中各个文件的自定义构建步骤(例如脚本的输入)来调用CMake以生成文件。
VS允许您在Build Event或Custom Build Step的一部分运行任何任意命令集。因此,您可以使用适当的脚本或自定义可执行文件替换CMake,这很难具体说明,而不知道您的客户对CMake的哪些方面不感兴趣。
您可以通过Windows Script Host使用JavaScript创建相当复杂的脚本来处理自定义构建步骤。它们可以接受命令行参数,访问文件系统等。由于某种原因,大多数开发人员认为在Windows中默认提供了DOS批处理文件和PowerShell脚本,而WSH JavaScript是一个大秘密。JavaScript已经作为操作系统的一部分发布了10多年,并且您可以在Visual Studio的脚本调试器中调试脚本,这非常好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接