我在将我的默认构建配置设置为Release时遇到问题,在我的CMakeLists.txt文件中,我在文件顶部设置了CMAKE_BUILD_TYPE
#enable Release ALWAYS, configure vars
set(CMAKE_BUILD_TYPE Release)
set(EXECUTABLE_NAME "ParticleSimulator")
set(VERSION_MAJOR 0)
set(VERSION_MINOR 2)
Run Code Online (Sandbox Code Playgroud)
但是在构建我的项目并打开解决方案时,我总是会看到调试模式,这与我在CMakeLists文件中指定的相反.我究竟做错了什么?我在那里看了一些其他的问题,但没有看到任何特定于这个问题的东西.
我正在尝试让cmake构建到一个目录'build',就像project/buildCMakeLists.txt所在的那样project/.
我知道我能做到:
mkdir build
cd build
cmake ../
Run Code Online (Sandbox Code Playgroud)
但这很麻烦.我可以把它放在一个脚本中并调用它,但是为cmake提供不同的参数(比如-G"MSYS Makefiles")是不愉快的,或者我需要在每个平台上编辑这个文件.
我最好在主CMakeLists.txt中执行类似SET(CMAKE_OUTPUT_DIR构建)的操作.请告诉我这是可能的,如果是的话,怎么样?或者其他一些源代码构建方法可以很容易地指定不同的参数?
我有一个源目录,其中包含一个名为"phantom-dir /"的文件夹,其中我放置了我不需要的所有生成的文件.我想将CMake中的所有生成的文件放在这个幻像目录中(与其他生成的和"丑陋的"文件一起).
一个小例子:
$ mkdir cmake-test
$ cd cmake-test
$ echo 'message("Hello World!")' > CMakeLists.txt
$ cmake . | grep "Hello"
Hello World!
$ tree
.
??? CMakeCache.txt
??? CMakeFiles
? ??? CMakeCCompiler.cmake
? ??? cmake.check_cache
? ??? CMakeCXXCompiler.cmake
? ??? CMakeDetermineCompilerABI_C.bin
? ??? CMakeDetermineCompilerABI_CXX.bin
? ??? CMakeDirectoryInformation.cmake
? ??? CMakeOutput.log
? ??? CMakeSystem.cmake
? ??? CMakeTmp
? ??? CompilerIdC
? ? ??? a.out
? ? ??? CMakeCCompilerId.c
? ??? CompilerIdCXX
? ? ??? a.out
? ? ??? CMakeCXXCompilerId.cpp
? …Run Code Online (Sandbox Code Playgroud) 我正在学习CMake,阅读"掌握CMake"一书和其他在线资料.我想知道是否有一些命令行选项的详细文档,例如生成的文件使用的-H和-B.或者"-E echo"还有其他着色选项.我还没有找到一些这方面的文档.