CMake、Xcode和Unix生成文件

CMake、Xcode和Unix生成文件,xcode,makefile,cmake,Xcode,Makefile,Cmake,我一直在使用经典的Unix Makefile generator,直到我发现一个网页解释CMake可以使用“CMake-gXcode”生成一个很好的xcode项目文件,所以我在源目录中运行了这个命令,得到了一个很好的xcode项目。这很好,但我面临一些缺点,我想知道是否有解决这些问题的方法: 现在,我无法使用unix makefiles从树中构建(我使用在构建目录中运行cmake../myproj,然后运行make命令),这不再起作用(我认为项目目录中的临时文件是负责的) 我的一些头文件是由c

我一直在使用经典的Unix Makefile generator,直到我发现一个网页解释CMake可以使用“CMake-gXcode”生成一个很好的xcode项目文件,所以我在源目录中运行了这个命令,得到了一个很好的xcode项目。这很好,但我面临一些缺点,我想知道是否有解决这些问题的方法:

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

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


提前感谢您对我如何结合使用xcode project和unix makefile提供的好建议。

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

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


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

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

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