VSリリース2008以前の場合...(VS6を除き、msdevを使用します)
cmakeをさらに掘り下げてみると、知識が豊富な人ならこれを使って実行できるようになると思います。
CLコマンドとLINKコマンドは、VS2003から2008のDevenvとVS2010のMSBuildを開始するだけなので、実際には何も実行されないことがわかりました。MSBuildはターゲットファイルを使用するため、CLをNMCLに変更することは重要ではありません。そのため、他の回答ではユーザーファイルを変更する必要があります。そして、なぜここで別のツールを使用する必要があるのか。
/ Buildで呼び出されたDevenvは、プロジェクトファイルを内部的に使用して、ビルドする必要のあるソースファイルを認識します。次に、createprocessを内部的に呼び出して、必要に応じてCLとLINKを生成します。これが、cmakeファイルでCLをNMCLに変更しても意味がない理由です。
幸いなことに、ここで使用できる別のツールがあります。
//プログラムを変更する必要がありますCMAKE_MAKE_PROGRAM:FILEPATH = C:/ Program Files(x86)/ Common Files / Micro Focus / NMShared / CTI / 11.1 / NMdevenv.EXE
およびCMAKE_BUILD_TOOL:INTERNAL = e:/PROGRA~1/MICROS~2.0/Common7/IDE/devenv.com
C:/ Program Files(x86)/ Common Files / Micro Focus / NMShared / CTI / 11.1 / NMdevenv.EXE
ここで、もう少し知識のある人が必要になります。また、インストルメンテーションのタイプを最初のパラメーターとしてnmdevenvに渡す必要があります。
私はそれがこのようなことをすることができると信じています
set(CMAKE_MAKE_PROGRAM "$ {CMAKE_MAKE_PROGRAM}" / nmon ")
ここでのもう1つの問題は、パスにdevenvも含める必要があるため、Pathenv変数も正しく設定する必要があることです。これは、正しいvscvarsbatファイルを実行することで実行できます。
これがお役に立てば幸いです。vs2008以前を使用している場合は、ここで開始した手順に必要な手順を追加してください。長期的には他のユーザーにも役立つと思います。これを調査する時間がもう少しあれば、それを行う方法を見つけるでしょう。
編集
よく私はこれをVS2008で動作させることができました。cmakeがSearchPath機能を破壊していたため、nmdevenvラッパーに変更を加える必要がありました。
これが私がしたことです。上記のようにmakeプログラムを置き換えましたRanVCVars32Ran cmake --buildmytestprojBounsCheckerでプログラムを実行しました
ここで、パフォーマンスプロファイリングのために/ nmtxonを渡すように切り替えました。これにより、エラー検出用にコンパイルし続けるため、少し困惑しました。
そして、それは私が変換されたプロジェクトファイルでこれを見つけたときです
<Tool
Name="VCCLCompilerTool"
AdditionalOptions=" /NMbcon /Zm1000"
これをに変更しました
そして、すべてが順調です。パフォーマンスコンパイルオプションがありました。
そこで、戻ってCMakeCache.txtファイルのこの行を変更して、GUIを開き、構成し、すべてのビルドタイプでコンパイラーが使用する//フラグを生成しました。CMAKE_CXX_FLAGS:STRING = / NMbcon / DWIN32 / D_WINDOWS / W3 / Zm1000 / EHsc / GR
その後、プロジェクトは/NMbconを使用するように切り替えられました。ですから、私たちと一緒にすべてをコンパイルしたいのであれば、それがスイッチを置く正しい場所です。それ以外の場合は、適切なデバッグまたはリリースラインを使用してください。
Cmake出力の一部通知出力のインストルメンテーション
Microsoft (R) Visual Studio Version 9.0.30729.1.
Copyright (C) Microsoft Corp. All rights reserved.
1>------ Build started: Project: Test, Configuration: Debug Win32 ------
1>Compiling...
New Command line nmcl.exe /NMtxon @e:\cust\Test3\Test\Test.dir\Debug\RSP0000011
2568792.rsp /nologo /errorReport:queue
1>Test3.cpp
1>Instrumenting ..\Test3\Test3.cpp
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
要約すれば
Cmakeを使用してCMakeCache.txtとディレクトリを生成しますCmakeCaheを変更しますMAKEプログラムとしてNMDevenvを使用しますフラグに/NMonスイッチを追加しますCmakeGuiを実行して再度生成します
VCVars32を実行しますcmake--buildファイルを実行します
devpartnerの下でプログラムを実行します