Vol*_*ire 17 c++ build-process cmake
问题:CMake能否生成不以任何方式使用CMake的构建脚本?如果没有,那么将CMake生成的automake脚本用于不对CMake进行任何检查有多难?
我是CMake的忠实粉丝,我支持我在当前的工作环境中过渡到它的想法.如果我能证明CMake可以生成不需要cmake的automake文件,那么可以简化从当前构建系统到CMake的过渡的一件事情.
很明显,我永远不会想要日常使用它,但是能够轻松创建我们的代码分支,可以从源代码构建而不需要cmake,这将有助于我完成我的案例.
执行此操作的能力取决于您的操作系统,我假设Unix/Makefile或Winderz/MSVC.如果您正在使用MSVC,则应通过在cmake脚本开头声明CMAKE_SUPPRESS_REGENERATION选项来消除cmake依赖项.
SET(CMAKE_SUPPRESS_REGENERATION TRUE)
Run Code Online (Sandbox Code Playgroud)
但是,在基于Unix的系统上,Makefile 明确地绑定到cmake构建文件(CMakeFiles等).我怀疑这种依赖关系可以通过Makefile指令的战略评论来绕过,尽管我不能说它们可能是什么.
不,CMake无法做到这一点.它也没有意义,因为在构建时没有任何CMake支持,当CMakeLists.txt文件发生变化时,将无法自行检查或更新makefile /项目文件.
如果您从Visual Studio迁移到CMake,您可能需要查看vcproj2cmake.