這是C ++項目的空框架。在不關心項目/構建環境設置的情況下,它應該有助於啟動一個新項目。
external/CMakeLists.txt和cmake/cleanCppExtension.cmake todo看如何工作
git clone https://github.com/kracejic/cleanCppProject.git yourNewProject
cd yourNewProject
mv .git .git-cleanCppProject
git init
git add .
git commit -m "first commit"
有關如何開始工作的更多信息。
我們將定期改進此存儲庫,如果您想從我們那裡獲得更多信息,請嘗試提取主要倉庫。
cd yourNewProject/
git pull --git-dir='.git-cleanCppProject'
Arch Linux: sudo pacman -S cmake g++ graphviz git clang clang-tools-extra cppcheck java-runtime-common cppcheck
Ubuntu 16.04: sudo apt-get install cmake g++ graphviz plantuml git clang clang-tidy clang-format cppcheck
兩種經過測試的方法:
基於MSYS2
pacman -S cmake g++ gitpacman -S clang mingw-w64-x86_64-clang-tools-extra mingw-w64-x86_64-clang-analyzer doxygenc:Program FilesGraphviz ,以便腳本可以找到它)並將其bin子目錄添加到路徑中,請安裝Java(在路徑上有bin目錄),下載Plantuml Jar文件並將其放在路徑上。Microsoft Visual Studio
brew install llvm doxygen cppcheck graphviz標準製造件:
mkdir build ; cd build
cmake ..
make -j8
忍者建立女巫clang,構建All+Doc並將其安裝到Dist文件夾:
mkdir build ; cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" ..
ninja all doc install
釋放構建將在sudo make install後將其安裝到/usr中
mkdir build ; cd build
cmake .. -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_BUILD_TYPE="Release"
make -j8 all
sudo make install
在窗戶上,您應該更喜歡忍者,因為它比製造快得多(但在外殼中沒有顏色)。
與GCC:
mkdir build ; cd build
cmake -GNinja ..
ninja install
您可以使用cmake -G "MSYS Makefiles" ..如果要使用make。
首先,您可以在Main CMakeLists.txt中更改項目名稱。只需使用該項目訪問文件夾,創建新目錄並使用以下方式創建項目文件:
mkdir buildmsvc
cd buildmsvc
cmake -G "Visual Studio 14 2015" ..
現在,您可以使用Visual Studio打開.sln文件。您需要右鍵單擊可執行的目標並將其設置為啟動項目。為了真正看到要啟動的控制台窗口而不調試,因為僅在調試模式下運行時,控制台寡婦關閉了太快。
注意:某些目標的可用性取決於某些可執行文件的可用性(例如格式目標的clang-format)
build_dir/doc/doc/index.html中找到文檔doc/CMakeLists.txt的末尾進行刪節部分-DCMAKE_INSTALL_PREFIX安裝位置-DVERSION_HOST構建計算機名稱,請參閱version.h.in-DCMAKE_BUILD_TYPE用於構建類型-DMEASURE_ALL=ON/OFF測量所有彙編的時間,最好與單線構建一起使用。需要time命令(UNIX)。-DUSE_GOLD_LINKER=ON/OFF是否要與Gold Linker鏈接。版權(C)2019 Kracejic
特此免費授予獲得此軟件副本和相關文檔文件副本(“軟件”)的任何人,以無限制處理該軟件,包括無限制的使用權,複製,複製,修改,合併,合併,發布,分發,分發,分發,訂婚,和/或允許軟件的副本,並允許對以下條件提供以下條件,以下是以下條件。
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。在任何情況下,作者或版權持有人都不應對任何索賠,損害賠償或其他責任責任,無論是在合同,侵權的訴訟中還是其他責任,是由軟件,使用或與軟件中的使用或其他交易有關的。