背景
我有一个很大的项目,它可以完美地运行在windows上。
在应用某些更改时
CMakeLists.txt
项目已生成,VisualStudio项目已正确更新。
Xcode版本:10.0(10A255)或10.1(10B61)(在不同机器上测试)。
问题
当在MacOSforXcode上构建同一个项目时,就会出现问题。
配置CMake后:
cmake .. -G Xcode
生成的项目工作正常,一切正常建立和测试通过。
现在什么时候
CMakeLists.txt文件
修改文件(在开发项目或从存储库获取新更改时)和
ZERO_CHECK
BUILD_ALL
则生成不会导致Xcode项目更新。
调用
cmake .
也检测不到变化。
变通办法
我发现最好的解决方法是删除
一切
两个文件:
cmake_install.cmake
和
CMakeCache.txt
cmake .. -G Xcode
.
在这个场景中,整个检测是从头开始重新进行的,但至少构建不是从零开始的(未更改的文件不会重新编译)。
这是痛苦的,因为大量的手工工作必须做,项目必须重新创建,这消耗时间。
提示
在以前的某个项目中,我也遇到过类似的问题,但只有当maven检测到依赖项的更新时,才会发生这种情况,所以很少发生。事情发生的时候我刚打电话来
touch CMakeLists.txt
再建造一次,这个解决方法很好。此解决方案不适用,因为每个生成都有此问题。
我怀疑protobuf生成过程与它有关,但当我禁用它时,问题仍然存在。
我试图通过创建简单的项目文件来提供完整的最小示例,但是我无法重现这个问题。对于所有其他项目,它只是工作,所以系统配置不是问题。
问题
cmake
找到这个问题的根源?
这是已知的问题吗?
有没有更好的解决方法不会导致
完全重建