CMake、Xcode 和 Unix Makefile

发布于 2024-07-17 07:02:05 字数 439 浏览 5 评论 0原文

我一直在使用经典的 Unix Makefile 生成器,直到我发现一个网页解释 CMake 可以使用“cmake -G Xcode”生成一个漂亮的 xcode 项目文件,所以我在源目录中运行该命令,并得到了一个漂亮的 xcode 项目。 这很棒,但我面临着一些缺点,想知道是否有解决方案:

  • 现在我无法使用 unix makefiles 构建树(我用来在构建目录中运行 cmake ../myproj 并然后 make 命令)这不再起作用(我想项目目录中的临时文件是负责的)

  • 我的一些头文件是由 cmake 生成的(myproj.h.in 变成了 myproj.h 并包含在例如一些测试),但我无法在我得到的 xcode 项目中找到这些文件。

预先感谢您提供有关如何结合 xcode 项目和 unix makefile 以便能够使用两者的任何好建议。

I was using classic Unix Makefile generator until I found a webpage explaining CMake could produce a nice xcode project file using "cmake -G Xcode" so I ran that command in my source directory and I get a nice xcode project. This is great but I'm facing some drawback and was wondering if there are solutions to these :

  • now I can't build out of tree using unix makefiles (I use to run cmake ../myproj in a build dir and then make command) this doesn't work anymore (I suppose temp files in the project dir are responsible)

  • some of my headers are generated by cmake (myproj.h.in became myproj.h and is include in some tests for example) but I can't find those files in the xcode project I get.

Thanks in advance for any good advice on how I can combine xcode project and unix makefile to be able to use both.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

献世佛 2024-07-24 07:02:05

我自己找到了答案(我的意思是问好人):

为每种类型的构建文件使用 2 个单独的构建目录。 这将确保每个构建目录都有正确的构建文件和生成的文件供其使用。

在 add_executable() 命令中,除了源文件之外,还包括标头和生成的标头,以便在 Xcode 中显示。

I found the answer by myself (I mean asking the good person) :

Use 2 separate build directories for each type of build files. This will ensure each build directory has the correct build files and generated files for its use.

In the add_executable() command, in addition to the source files also include the headers and generated headers for those to show up in Xcode.

望笑 2024-07-24 07:02:05

您可以使用 xcodebuild 仍然拥有正确的 Xcode 项目并从命令行/shell 脚本/Makefile 构建它,例如

xcodebuild -project MyProject.xcodeproj -target MyTarget -configuration Release

You can use xcodebuild to still have a proper Xcode project and build it from the command line/shell script/Makefile, e.g.

xcodebuild -project MyProject.xcodeproj -target MyTarget -configuration Release
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文