2016-07-27 4 views
3

プロジェクトでは、2つの異なるビルドターゲット、DebugとReleaseでCMakeを使用します。ビルドターゲットを削除する:RelWithDebInfo、MinSizeRel

Clionは、RelWithDebInfoとMinSizeRelの2つの追加ビルドターゲットを提供しています。さて、ClionがCMakeキャッシュを作成すると(4つはすべて2つしか使用できません)、デバッグやリリース以外の他のビルドターゲットを使用できないため、失敗します。

あなたの最初の問題を回避するには、メインCMakeList.txtでこれを使用することです:

if(NOT ${CMAKE_BUILD_TYPE} MATCHES "Debug|Release") 
    return() 
endif() 

しかしそれは、デフォルトでClionからこれら二つの設定を無効にすることは可能でしょうか?

+0

私は、Visual Studioで 'CMAKE_CONFIGURATION_TYPES'を変更すると、Clionでも動作すると仮定します。例えば、 ["Visual StudioのCmakeジェネレータはCMAKE_CONFIGURATION_TYPESを設定しません"](http://stackoverflow.com/questions/31661264/cmake-generators-for-visual-studio-do-not-set-cmake-configuration-types) – Florian

答えて

1

CMakeListsを変更せずにクリアCLionソリューションをお探しの場合は、File->Settings->Build,Execution,Deployment->CMakeに行き、対処したくない設定を削除してください。 enter image description here

4

デフォルトでは、CLionはこれらの4つの設定を生成します。したがって、デバッグとリリースのみを生成するように強制するには、CMakeでset(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)を使用します。 Documentation

+0

RelWithDebInfoだけをビルドするように設定しました。しかし、私は、cmake製品のRelWithDebInfoの横に '__default__'も作成されていることに気付きました。 1つの構成だけが実行されるように統合する方法はありますか? –

+0

デフォルトは、CLionに必要な特定の設定です。しかし今のところ(2016.3)、CLionは一度に1つの設定だけを構築します。チェック - https://blog.jetbrains.com/clion/2016/10/clion-2016-3-eap-cmake-overload-resolution/#cmake – nastasiak2512

関連する問題