CMP0098

在版本 3.17 中新增。

FindFLEX 在執行時於目錄 CMAKE_CURRENT_BINARY_DIR 中執行 flex

此模組提供了一個 FLEX_TARGET 巨集,用於產生 FLEX 輸出。在 CMake 3.16 及更早版本中,此巨集會產生一個自訂命令,在目前的原始碼目錄中執行 flex。CMake 3.17 及更新版本偏好在建置目錄中執行,並使用 CMAKE_CURRENT_BINARY_DIR 作為其 add_custom_command() 呼叫的 WORKING_DIRECTORY。這確保任何隱式產生檔案都會寫入相對於建置樹狀結構,而不是原始碼樹狀結構,除非產生的檔案是絕對路徑。

此政策為尚未更新以預期新行為的專案提供相容性。

此政策的 OLD 行為是讓 FLEX_TARGET 使用目前的原始碼目錄作為 WORKING_DIRECTORY 以及隱式檔案的產生位置。此政策的 NEW 行為是使用目前的二進位目錄作為 WORKING_DIRECTORY,隱式檔案會相對於此目錄產生,除非提供絕對路徑。

此政策是在 CMake 版本 3.17 中引入的。可以透過 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 不會發出警告,並使用 OLD 行為。

注意

政策的 OLD 行為依照定義為已棄用,並可能在 CMake 的未來版本中移除。