如何将生成types更改为cmake中的发布模式?

我正在尝试在发布模式下构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。

Solutions Collecting From Web of "如何将生成types更改为cmake中的发布模式?"

使用它,但是在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” – 指定源文件夹的路径