feature test macrosに基づいて条件付きで提供される特定のLinux/POSIX機能を使用したいとします。たとえば、タイプcpu_set_t
、マクロCPU_SET_ZERO
、および機能sched_setaffinity
です。CMakeはglibc機能テストマクロをサポートしています
理想的には私はそれらに必要なことをCMakeに伝えたいと思います。また、現行のシステムでは提供できない場合には、特別な機能テストマクロを設定したり失敗したりするのがいいでしょう。それは可能ですか?
私はthemanpagesで検索し、手動でadd_definitions(-D_GNU_SOURCE)
を使用できることを承知していますが、POSIX標準の異なるバージョンで導入され、廃止され、複数の機能が組み合わされたら、それは退屈になることができます。私の経験では、glibc実装のさまざまなバージョン間で移植性を維持することが難しくなる可能性があります。
CMake platform checksがありますが、確認に役立つように見えます。だから、make
ではなくcmake
の間にエラーが発生しますが、手動で正しい機能テストマクロを見つけなければなりません。
cmake-compile-featuresは、ライブラリではなくコンパイラに直接関連する機能のみを提供するようです。