我想强制CMake使用CMakeLists.txt中的"Unix Makefile" 生成器.
这是我现在使用的命令.
cmake -G "Unix Makefiles" .
Run Code Online (Sandbox Code Playgroud)
我希望它是这样的.
cmake .
Run Code Online (Sandbox Code Playgroud)
在安装了VC的窗口和自定义工具链上运行时.
我希望能够在CMakeLists.txt文件中设置生成器.
也许这样的事情.
set(CMAKE_GENERATOR "Unix Makefiles")
Run Code Online (Sandbox Code Playgroud)
Iva*_*van 19
这对我有用 -在项目目录中创建一个名为PreLoad.cmake的文件,其中包含:
set (CMAKE_GENERATOR "Unix Makefiles" CACHE INTERNAL "" FORCE)
在我看来,CMAKE_GENERATOR如果设置在变量中,变量设置得太晚了CMakeLists.txt.如果你使用(即使在开头CMakeLists.txt)
set(CMAKE_GENERATOR "Ninja")
message("generator is set to ${CMAKE_GENERATOR}")
Run Code Online (Sandbox Code Playgroud)
你可以在输出中看到类似的东西
% cmake ../source
-- The C compiler identification is GNU 4.9.2
...
-- Detecting CXX compile features - done
generator is set to Ninja
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/build
Run Code Online (Sandbox Code Playgroud)
因此,变量仅在生成过程的最后设置.如果你使用类似的东西
set(CMAKE_GENERATOR "Ninja" CACHE INTERNAL "" FORCE)
Run Code Online (Sandbox Code Playgroud)
in CMakeLists.txt,然后在第一次运行cmake ../source(没有-G)时使用默认生成器.但是,变量CMAKE_GENERATOR存储在缓存中.因此,如果您cmake ../source之后重新运行,它将使用CMAKE_GENERATOR缓存中变量中指定的生成器.
这当然不是最优雅的解决方案;-)也许使用一个批处理文件,它将实际cmake -G generator为用户执行...
小智 3
这不是我得到的,当我运行相同的命令时,cmake 将寻找 gcc 编译器/make 实用程序。如果 PATH 设置不正确,它将失败,并显示以下内容:
D:\Development\build>cmake -G "Unix Makefiles" ..\source CMake 错误:CMake 无法找到与“Unix Makefiles”对应的构建程序。CMAKE_MAKE_PROGRAM 未设置。 您可能需要选择不同的构建工具。 CMake 错误:错误需要未设置内部 CMake 变量,cmake 可能无法正确构建。 缺少的变量是: CMAKE_C_COMPILER_ENV_VAR CMake 错误:错误需要未设置内部 CMake 变量,cmake 可能无法正确构建。 缺少的变量是: CMAKE_C_COMPILER CMake 错误:找不到 cmake 模块文件:D:/Development/build/CMakeFiles/CMakeCCompiler.cmake CMake 错误:错误需要未设置内部 CMake 变量,cmake 可能无法正确构建。 缺少的变量是: CMAKE_CXX_COMPILER_ENV_VAR CMake 错误:错误需要未设置内部 CMake 变量,cmake 可能无法正确构建。 缺少的变量是: CMAKE_CXX_COMPILER CMake 错误:找不到 cmake 模块文件:D:/Development/build/CMakeFiles/CMakeCXXCompiler.cmake CMake 错误:启用语言后未设置 CMAKE_C_COMPILER CMake 错误:启用语言后未设置 CMAKE_CXX_COMPILER -- 配置不完整,出现错误!
当 gcc / mingw 在路径中时,一切正常。那么您能否提供有关 PATH 变量或 CMAKE 版本的更多信息?
| 归档时间: |
|
| 查看次数: |
30327 次 |
| 最近记录: |