假設我想使用特定的Linux/POSIX功能,該功能是根據feature test macros有條件地提供的。例如,類型cpu_set_t
,宏CPU_SET_ZERO
和功能sched_setaffinity
。CMake是否支持glibc功能測試宏
理想情況下,我只是想告訴CMake我需要這些,它應該找出哪些額外的功能測試宏設置或失敗,如果不能在當前系統上提供一個漂亮的錯誤消息。那可能嗎?
我知道我可以在themanpages查找和手動使用add_definitions(-D_GNU_SOURCE)
,但是一旦進行了介紹,並棄用不同版本的POSIX標準的多個功能組合,可以成爲乏味。根據我的經驗,在不同版本的glibc實現中保持可移植性會變得很困難。
有CMake platform checks,但他們似乎只是幫助檢查。所以我在cmake
而不是make
中得到錯誤,但我仍然需要手動計算出正確的功能測試宏。
cmake-compile-features似乎只提供與編譯器直接相關的功能,而不是庫。