CMake、Xcode 和 Unix Makefile
我一直在使用经典的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我自己找到了答案(我的意思是问好人):
为每种类型的构建文件使用 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.
您可以使用 xcodebuild 仍然拥有正确的 Xcode 项目并从命令行/shell 脚本/Makefile 构建它,例如
You can use xcodebuild to still have a proper Xcode project and build it from the command line/shell script/Makefile, e.g.