web-dev-qa-db-ja.com

cmakeでビルドタイプをリリースモードに変更する方法は?

リリースモードでプロジェクトをビルドしようとしています。デフォルトでは、デバッグモードで構築されます。 CMAKE_BUILD_TYPEで変数CMakeLists.txtを "Release"に設定しています。ただし、デバッグモードでプロジェクトをビルドしています。 CMakeコマンドのビルドタイプとして「リリース」を渡すと、まだ機能しません。

私が使用しているCMakeコマンドは次のとおりです。

cmake -G"Visual Studio 10" -DCMAKE_BUILD_TYPE=Release
  -H"source_path" -B"Build path"

解決策があれば提供してください。

41
123r789

Windowsでビルドタイプを変更するには、ビルド時に行う必要があります。

cmake --build {DIR} --config Release

デフォルトでは、デバッグです。私はまだこのデフォルトを変更する方法を探しています。もちろん、CMAKE_BUILD_TYPEは機能せず、CMAKE_CONFIGURATION_TYPESの調整も機能しません。明らかに同じ理由で、VisualプロジェクトではなくUnixのmakefileにのみ適用されます。

110
Rok

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」-ソースフォルダーへのパスを指定します

27
Maks

コマンドラインからVisual Studioの既定のビルドタイプを設定することはできません。

CMakeのVisual Studio Generatorsは4つの標準プロファイル(Debug、RelWithDebInfo、MinSizeRel、Release)を生成し、VS内からビルドするプロファイルを選択する必要があります。これは、アクティブな構成に関する情報がCMakeによって生成されるプロジェクトファイルの一部ではなく、.suo VSによって生成されたファイル。

特定の構成の自動ビルドが必要な場合は、VSではなくMSBuildを使用します。これにより、コマンドラインで構成を指定できます。

20
ComicSansMS