这是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
特此免费授予获得此软件副本和相关文档文件副本(“软件”)的任何人,以无限制处理该软件,包括无限制的使用权,复制,复制,修改,合并,合并,发布,分发,分发,分发,订婚,和/或允许软件的副本,并允许对以下条件提供以下条件,以下是以下条件。
上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人都不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权的诉讼中还是其他责任,是由软件,使用或与软件中的使用或其他交易有关的。