見切り発車

とりあえずかきとめたい

2023-01-01から1年間の記事一覧

C++ をclang で解析するときに情報をvcxproj から取得する方法

この記事はC++ Advent Calendar 2023 の5 日目です。 前に書いたものを簡単に流用しやすくなるように意識してまとめなおしたものです。 C++ でリフレクションやシリアライズを行うためにコードを解析したくなる場合があると思います。 その時の選択肢としてc…

MSBuild のカスタムタスクでファイルを生成してビルドに含める

vcxproj に含まれる情報を取得してlibclang で処理する方法を調べていますが 今回は生成したファイルをビルドに含める方法について説明します。 前回:MSBuild でvcxproj に独自の処理を追加する - 見切り発車 独自の処理を作成する 前回の記事では、独自の…

MSBuild でvcxproj に独自の処理を追加する

vcxproj からソースファイル名やインクルードパス、プリプロセッサマクロ定義などを取り出してlibclang に渡して処理するという目的のため試行錯誤しているのですが、 断片的な情報でハックするようなやり方ではなかなか思ったような結果にならないため改め…

ClangCL のexe の差し替えの続き

2022-12-01 追記: 後から調べた以下の記事のほうがまっとうな手法です。 uyamae.hatenablog.com Visual Studio のClangCL ツールセットのコンパイラを差し替える - 見切り発車 Visual Studio 標準のClang/LLVM のカスタマイズ方法を試す - 見切り発車 libcla…

MSBuild API を試している途中

MSBuild から呼び出されるコンパイラの実行ファイルを差し替えてコンパイルに必要な情報を横取りしてやろうと思っていましたがインクルードパスが渡されてこないようなのでもう少しMSBuild を掘り下げてみることにしました。 MSBuild はMicrosoft.Build とい…

Visual Studio 標準のClang/LLVM のカスタマイズ方法を試す

概要 Microsoft 公式の「Visual Studio プロジェクトでの Clang/LLVM のサポート」によるclang-cl.exe の差し替えができるか試しました。 リンク先の内容が難なく理解できるのであれば問題ありませんがところどころ明確でない点があったので書きとめます。 …

Visual Studio のClangCL ツールセットのコンパイラを差し替える

動機 そもそもの動機は、libclang でソースコードを解析するときに渡すオプションの類をVisual Studio のvcxproj から引っ張り出せないか、というものです。 vcxproj はxml 形式のテキストファイルで、中を覗くとコンパイルオプションなどが含まれているのが…

GPD WIN 4 を買わない理由をつぶした話

通勤中に電車の中でちょっとプログラムを試したりするためのUMPC をずっと求めていたのですが先日Amazon で値引きされていたのでGPD WIN 4 (16GB/1TB)を購入しました。 高額の買い物になるので、ネットでよく見かける 購入しない理由が金額なら買え、購入す…