cost 225 ms
強制自定義命令始終運行而不首先刪除 output

[英]Force custom command to always run without first deleting the output

我有一個設置,我使用自定義命令檢查 git 存儲庫的當前 hash 以便其他命令可以克隆它(如果它已更新) 當然這只會運行一次,因為 CMake 認為沒有理由重新運行它。 我可以通過添加第二個(虛擬)output - CMake 來強制它運行,然后識別出這個 output 不存在,然后重新運行規則 ...

如何在cmake中構建目標的開始和結束時調用函數

[英]How to call a function at start and end of building a target in cmake

我正在尋找一種在 cmake 中開始和完成目標構建時執行 shell 代碼的方法。 最終目標是向數據跟蹤工具發送一條消息,指示構建何時開始和結束。 因此,例如,如果“make”構建目標為 alpha、beta 和 gamma,我想在 alpha 開始構建時調用 foo_begin(),在目標 al ...

在 cmake 中展開包含生成器表達式的變量名

[英]Expand variable name containing a generator expression in cmake

在構建過程中,我設置了收集不同子項目的構建輸出的目錄。 目錄設置為: 現在,我想將一些文件(qt 插件目錄)復制到該目錄,具體取決於它所構建的配置。 我試過了: 因此,我嘗試構建一個等於變量名稱的字符串,然后嘗試按照此處所述進行擴展: CMake 將字符串解釋為變量。 換句話說:我想要一個 ...

CMake 命令的替代方案

[英]Alternatives for CMake commands

我是 CMake 新手,正在閱讀 CMake 文檔和教程。 我能夠理解target_include_directories命令只是編譯器的-I選項(對我來說是 gcc)。 我嘗試使用set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I <Path>")手動添加目錄 ...

如何為每個特定目標運行不同的 add_custom_command?

[英]How to run different add_custom_command for each specific target?

我使用 Visual Studio 並有不同的路徑來處理不同的配置(調試、發布): 然后我想為這些不同的配置運行不同的命令 < <add_custom_command(TARGET...> > 如下: 不幸的是,Visual Studio 會為每個配置運行這兩個自定義命令。 ...

我是否總是需要 CMake 中的目標?

[英]Do I always need a target in CMake?

我有一個 python 腳本,它為我生成一些文件,在我的腳本中,我有一個參數--outputdir來指定 output 文件的位置。 我想運行這個腳本來生成這些文件並在以后安裝它們。 我用了 所以 output 文件是在${CMAKE_CURRENT_BINARY_DIR}下生成的,我可以稍后安裝 ...

如果更新了依賴腳本,如何強制重建目標?

[英]How to force a target to be rebuilt if a dependent script is updated?

我編寫了一些自定義腳本,這些腳本在 CMake 目標的自定義命令中調用。 如果更新了任何腳本(例如touch script.sh ),我希望重建目標。 我已經使用 DEPENDS 參數嘗試了幾種變體,但我嘗試過的都沒有。 這是我所擁有的簡化版本:function(run_my_special_ru ...

如何使用 CMake 構建 fatbin 文件?

[英]How can I build a fatbin file using CMake?

我想使用 CMake 從我的.cu源文件構建一個 fatbin 文件。 我試過這個: 不幸的是 - 這不起作用,因為您可以對OBJECT類型的庫有一個POST_BUILD依賴項。 但是,如果我刪除OBJECT屬性,那么我不能在其上使用CUDA_PTX_COMPILATION ON ... 然后我會 ...

如何獲取生成器表達式文件的基本名稱?

[英]How do I get a generator-expression file's basename?

這是我們在 CMake 文檔中找到的自定義命令: 假設我不想添加.hash ,而是想用.hash替換任何現有的擴展名。 我需要一些方法來從$<TARGET_FILE:myExe>中刪除擴展名......我應該怎么做? 我能比成熟的正則表達式匹配做得更好嗎? ...

如果我必須通過外部工具生成該庫的源和 CMakeLists.txt 文件,我如何在 cmake-base 項目中使用庫

[英]How can I use library in cmake-base project if sources and CMakeLists.txt file for this library I have to generate by external tool

我必須通過外部工具生成源代碼(我從 IDL 文件為 fastDDS 消息生成 c++ 個類),該工具還生成 CMakeLists.txt 文件,允許我將生成的文件編譯為 <msgs_lib>.a 文件。 在我的一個執行目標的大型超級項目中,我不會檢查生成的文件及其構建結果是否存在。 如果 ...

如何從目標中獲取包含目錄以在 add_custom_target 中使用?

[英]How to get include directories from a target for use in add_custom_target?

我正在使用target_link_libraries對依賴項進行建模,就像在這篇博文中所做的那樣。 這很好用,但由於各種原因,我需要使用add_custom_target通過自定義命令對文件進行預處理。 問題是,這個自定義目標依賴於 LibraryA 和 LibraryB 的包含。 我真的希望像t ...

cmake 3.15 有時將 JOB_POOL 添加到 add_custom_command

[英]cmake 3.15 adding JOB_POOL to add_custom_command SOMETIMES

對於使用 cmake 3.15 或更高版本並且還使用 Ninja 作為生成器的用戶,我想將新的 JOB_POOL 參數設置為一些大的add_custom_command()塊。 對於其他用戶,我想保持我的 add_custom_command() 相同(沒有 JOB_POOL)。 在前面的步驟中, ...

如何在 CMake 構建中每次運行 python 腳本?

[英]How do I run a python script every time in a CMake build?

目前我需要每次在 CMake 中運行一個 Python 腳本來生成一個 .qrc 文件。 我不能使用 Qt Designer,我必須使用 CMake。 set(CMAKE_AUTORCC ON) 正在被使用並且在添加資源或更改名稱時失敗,因此是 python 腳本的原因。 腳本本身已經生成輸出, ...

add_custom_command 不起作用

[英]add_custom_command not working

我試圖了解 add_custom_command 的用法,我寫了一個最小的 make 文件(CMakeLists.txt),如下所示 當我使用運行 make 文件時 $cmake。 $make 我沒有看到創建perfecthash.cpp並且構建中斷 $cmake 。 $make ...

cmake:add_custom_command 僅第一次調用

[英]cmake: add_custom_command only invoked first time

對於自定義目標(使用 add_custom_target 創建),我遇到了 add_custom_command 問題。 我的總體想法是將靜態代碼分析工具合並到 cmake 工具鏈中。 我的解決方案基於此處描述的解決方案: https : //github.com/rpavlik/cmake-mo ...

cmake add_custom_command 已經過時了

[英]cmake add_custom_command is aways out of date

我遇到的問題是 add_custom_command 總是過時的,因此在每次構建時都會運行。 自定義命令運行作為同一項目目標的工具來生成另一個目標使用的文件: 在構建輸出(visual studio 2010)中,我總是看到** GeneratorTool **。 我希望它不會在 generat ...

CMake add_custom_command 未運行

[英]CMake add_custom_command not being run

我正在嘗試使用add_custom_command在構建期間生成文件。 該命令似乎從未運行過,所以我制作了這個測試文件。 我試着跑: 並且沒有生成 hello.txt。 我做錯了什么? ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM