Mav*_*rik 6 cmake visual-studio-2012
我CMakeLists.txt为我的项目定义了一个正常工作的文件.
我使用CMake GUI生成Visual Studio项目,并且我要求在文件夹中构建二进制文件(CMAke缓存和其他东西),该文件夹Build位于同一文件夹中CMakeLists.txt.
我能够指定必须在哪里创建可执行文件和库.有没有办法指定必须在哪里创建Visual Studio解决方案文件?我想将它放在根目录中,但同时我也不想拥有CMake在Build目录中创建的所有其他文件.
CMake创建了我定义的项目,CMakeLists.txt但也创建了另外两个项目:ALL_BUILD和ZERO_CHECK.它们的用途是什么?我能够ZERO_CHECK通过使用命令来避免创建set_property(GLOBAL PROPERTY USE_FOLDERS On).有没有办法避免创造ALL_BUILD?
Com*_*sMS 10
看起来你最近才切换到CMake,因为当我第一次开始使用CMake时,这些问题也突然出现在我脑海中.让我们按照您发布的顺序解决它们:
我使用CMake GUI生成Visual Studio项目,并且我要求在文件夹Build中构建二进制文件(CMAke缓存和其他东西),该文件夹位于CMakeLists.txt所在的文件夹中.
别.始终使用CMake 进行源外构建.我知道,当你第一次这样做时感觉很奇怪,但请相信我:一旦你习惯了它,你永远不会想要回去.
当代码和构建文件被正确分离时,使用源代码控制变得更加方便的一个事实使得这成为CMake的杀手级功能.
有没有办法指定必须在哪里创建Visual Studio解决方案文件?
你真的不应该在乎.
我明白为什么你觉得你需要完全控制如何创建解决方案和项目文件,但实际上并非如此.只需将解决方案的目标指定为源外构建的原点,并忘记生成的所有其他文件.你不必担心,而且你不想担心 - 这正是CMake应该为你照顾的那种东西.
问问自己:如果你可以手工挑选每个项目文件的位置,你会得到什么?没什么,因为机会是,你永远不会碰他们.CMake现在是你唯一的主人......
CMake创建了我在CMakeLists.txt中定义的项目,还创建了另外两个项目:ALL_BUILD和ZERO_CHECK.它们的用途是什么?我能够通过使用命令set_property(GLOBAL PROPERTY USE_FOLDERS On)来避免创建ZERO_CHECK.有没有办法避免创建ALL_BUILD?
再说一次,你真的不应该在乎.CMake定义了几个虚拟项目,这些项目对于您不想担心的某些内部巫术非常有用.起初他们看起来很奇怪,但你会比你想象的更快地习惯他们的视线.只是不要试图抛弃它们,因为它无法正常工作.如果他们的视线真的让你感到烦恼,可以考虑将它们移动到解决方案内的一个文件夹中,这样你就不必一直看着它们.
结论:CMake在几个方面与手工制作的VS解决方案不同.这需要一些人习惯,但最终会比人们担心的痛苦少得多.
| 归档时间: |
|
| 查看次数: |
5000 次 |
| 最近记录: |