問題タブ [cmake-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
43 参照

cmake - CMake の CHECK_TYPE_SIZE を条件付きで実行する

CMake のCHECK_TYPE_SIZEコマンドを条件付きで実行する方法はありますか? CHECK_TYPE_SIZEは、構造体のサイズを把握するのに最適ですが、時間が経つにつれて、構造体を使用してヘッダー ファイルを変更して新しいフィールドを追加する可能性があるという問題があります。誰かが構造体を更新したが、CMake キャッシュを吹き飛ばすのを忘れた (または知らなかった) ときに起こるのを待っている事故のようです。はい、構造体の横にメモを置いて、更新された場合にキャッシュを消去することはできますが、複数人のプロジェクトがあり、他の誰かがヘッダー ファイルを更新した場合、それは実際には役に立ちません。

を実行しようとしましたunset(HAS_MYVAR CACHE)が、機能が再実行されていないように見えるため、機能していないようです。何か案は?

コード:

0 投票する
0 に答える
52 参照

cmake - librsvg - cmake モジュールのデバッグ モードはサフィックスを追加します

依存しているネイティブ Windows ビルドを動作させようとしていますlibrsvg-2vcpkgを介して正しくインストールされています。通常は cmake でビルドし、このライブラリを見つけるためのカスタム モジュールを作成しました。これは UNIX の世界ではうまく機能しますが、Windows 内では機能せず、デバッグ ビルドまたはリリース ビルド (Visual Studio から) を対象としています。dこれは、Windows では実際の lib ファイルの末尾に a が付くためです。

これが私たちのFindLibRSVG.cmake

Windows でビルドを機能させるには、次のように cmake コマンドにフラグを指定する必要があります。

dライブラリの最後にある に注意してください。

利用可能なcmake モジュールがあることは知っていSelectLibraryConfigurationsますが、これを適切に使用する方法がよくわかりません。

私が達成したいのは、このフラグを提供しなくてもデバッグ モードでビルドできるようにすることです。

注:LibFindMacros実装はここにあります

0 投票する
0 に答える
52 参照

c++ - CMake 3.15 で clang++/gcc 用のプリコンパイル済みヘッダーを作成して使用する方法

私のプロジェクトには、ほとんどすべてのファイルで使用するヘッダーがいくつかあります。そこで、ビルドの速度を上げるために、プリコンパイル済みヘッダーを使用することにしました。CMake 3.15 と clang++ を使用しています。CMake 3.16 では、target_precompile_headers() を使用できます。しかし、3.15 では利用できません。

ここでサンプルを説明しようと思います。engine.h、wheel.h、door.h などの一般的なヘッダーがあります。これらのファイルは my_proj/includes/ ディレクトリに保存されます。そして、これらのヘッダーはすべてのサブプロジェクトに含まれています。

scatchからcmake 3.15でプリコンパイル済みヘッダーとしてそれらを作成して使用する方法を知りたいです。