我正在尝试在发布模式下构build项目。 默认情况下它是以debugging模式构build的。 我将variablesCMAKE_BUILD_TYPE
设置为CMakeLists.txt
“Release”。 但它仍然在debugging模式下构build项目。 当我在CMake命令中通过“Release”作为构buildtypes时,它仍然不起作用。
我正在使用的CMake命令是:
cmake -G"Visual Studio 10" -DCMAKE_BUILD_TYPE=Release -H"source_path" -B"Build path"
请提供解决scheme。
使用它,但是在root cmake文件中,在project关键字之前添加以下内容
SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "" FORCE) PROJECT(MY_PROJECT)#It's here just to show where you should add it.
要在Windows上更改构建类型,必须在构建时完成:
cmake --build {DIR} --config Release
默认情况下,它是调试。 我仍然在寻找一种改变这种默认的方法。 CMAKE_BUILD_TYPE当然不起作用,调整CMAKE_CONFIGURATION_TYPES也不起作用,明显是出于同样的原因,它们只适用于Unix makefile,而不适用于Visual项目。
您不能从命令行设置Visual Studio的默认生成类型。
CMake的Visual Studio生成器将生成四个标准配置文件(Debug,RelWithDebInfo,MinSizeRel和Release),并且你必须从VS中选择你想要创建的配置文件。 这是因为有关活动配置的信息不是由CMake生成的项目文件的一部分,而是由VS生成的.suo
文件的一部分。
如果你想自动构建一个特定的配置,使用MSBuild而不是VS,它允许你在命令行上指定一个配置。
我用Visual Studio 2015和cmake 3.3进行了检查。
简短的回答
链接
cmake --build {BUILD_DIR_PATH} --target ALL_BUILD --config {BUILD_TYPE}
例
cmake --build . --target ALL_BUILD --config Release
长答案
cmake -G{GENERATOR_NAME} -B{BUILD_DIR_PATH} -H{SOURCE_DIR_PATH} cmake --build {BUILD_DIR_PATH} --target ALL_BUILD --config {BUILD_TYPE}
例
cmake -GVisual Studio 14 -Bbuild/win32/x86 -H. cmake --build build/win32/x86 --target ALL_BUILD --config Release
附加信息
“-G” – 指定生成器名称
“-B” – 指定生成文件夹的路径
“-H” – 指定源文件夹的路径