簡體   English   中英

cmake命令行選項

[英]cmake command line option

我是VS開發和Cmake的新手。 我使用CMake-GUI生成可視化工作室解決方案,並能夠成功構建它。

但是,我們的代碼現在已經達到了我們最終可以構建和鏈接到二進制文件的階段。 有多個人檢查代碼,我們想做一個夜間構建,所以我想為此編寫一個批處理文件。

但是,我試圖從命令行調用cmake並遇到問題。

在cmake-gui中,為了配置,我提供了兩個值我的源代碼路徑Path,其中將生成二進制文件

但是,當我嘗試運行相同的over命令行時(使用以下命令)

cmake -G "NMake Makefiles" -D CMAKE_SOURCE_DIR="D:\source_code" -D CMAKE_BINARY_DIR="D:\source_code\build\gen\host"

CMake拋出一個錯誤:源目錄“D:\\”是一個文件而不是一個目錄。

我沒有任何運氣也試過以下變化

cmake -G "NMake Makefiles" -D PROJECT_SOURCE_DIR="D:\source_code" -D PROJECT_BINARY_DIR="D:\source_code\build\gen

有人可以指導我正確的語法。

提前致謝

您不應嘗試在命令行上設置任何這些變量。 它們在第一次讀取CMakeLists.txt時由CMake自動設置。

相反,您應該從二進制目錄中運行 CMake命令,並將路徑傳遞給包含頂級CMakeLists.txt的目錄。 所以類似於:

cd D:\source_code\build\gen\host
cmake -G"NMake Makefiles" D:\source_code

順便說一句,CMake的命令行解析不是很好(例如看到這個答案 )。 我建議避免在-D參數后留空格。

試試這個

刪除-D和參數之間的空格

 cmake -G "NMake Makefiles" -DCMAKE_SOURCE_DIR="D:\source_code" -DCMAKE_BINARY_DIR="D:\source_code\build\gen\host"

在我的項目中,我們使用了CMake-GUI。 但我創建了一個shell腳本文件,以避免重復填寫條目。

樣本要點如下。

cd <DIRECTORY_TO_BUILD> && <CMAKE-INSTALLATION-PATH>/bin/cmake.exe --build= "<BUILDSOURCE-PATH> -DQt5Widgets_DIR:PATH=C:/Qt/5.12.0/msvc2017/lib/cmake/Qt5Widgets

我已經開始使用cd了,腳本將創建運行腳本的構建文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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