Este é um quadro vazio para o projeto em C ++. Deve ajudar a iniciar um novo projeto sem se importar muito com a configuração do ambiente de projeto/construção.
external/CMakeLists.txt e cmake/cleanCppExtension.cmake TODO VEJA como TODO funciona
git clone https://github.com/kracejic/cleanCppProject.git yourNewProject
cd yourNewProject
mv .git .git-cleanCppProject
git init
git add .
git commit -m "first commit"
Mais em como começar a funcionar.
Estamos melhorando esse repositório regularmente, se você quiser obter mais de nós, tente puxar o repositório principal.
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
Duas maneiras, que foram testadas:
MSYS2 baseado
pacman -S cmake g++ gitpacman -S clang mingw-w64-x86_64-clang-tools-extra mingw-w64-x86_64-clang-analyzer doxygenc:Program FilesGraphviz , para que os scripts possam encontrá -lo) e adicione seu subdiretório bin ao caminho , instale o Java (tenha seu diretório bin no caminho ), faça o download do arquivo jar Plantuml e tenha no caminho .Microsoft Visual Studio
brew install llvm doxygen cppcheck graphvizMakefiles padrão:
mkdir build ; cd build
cmake ..
make -j8
Ninja Build Witch Clang, construa tudo+doc e instale -o na pasta dist:
mkdir build ; cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" ..
ninja all doc install
Libere a compilação que se instalará em /usr após sudo make install
mkdir build ; cd build
cmake .. -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_BUILD_TYPE="Release"
make -j8 all
sudo make install
No Windows, você deve preferir o ninja, pois é muito mais rápido do que fazer (mas não tem cor no shell).
Com GCC:
mkdir build ; cd build
cmake -GNinja ..
ninja install
Você pode usar cmake -G "MSYS Makefiles" .. se você quiser usar o Make.
Primeiro, você pode diminuir para alterar o nome do projeto nos principais CMakeLists.txt . Basta ir à pasta com o projeto e criar um novo diretório e criar arquivos de projeto com isso:
mkdir buildmsvc
cd buildmsvc
cmake -G "Visual Studio 14 2015" ..
E agora você pode abrir um arquivo .sln com o Visual Studio. Você precisa clicar com o botão direito do mouse no destino executável e definir como projeto de inicialização . Para realmente ver a janela do console que você deseja começar sem depuração , pois quando é executado apenas no modo de depuração, a viúva do console é fechada muito rápido.
Nota: A disponibilidade de alguns alvos depende da disponibilidade de determinados executáveis (por exemplo, formato de clang para o destino do formato )
build_dir/doc/doc/index.htmldoc/CMakeLists.txt-DCMAKE_INSTALL_PREFIX - Localização para instalação-DVERSION_HOST - Construa o nome da máquina, consulte a versão.h.in-DCMAKE_BUILD_TYPE - Para o tipo de construção-DMEASURE_ALL=ON/OFF - Meça o tempo de todas as compilações, melhor usado com compilação de rosca única. Precisa de comando time (unix).-DUSE_GOLD_LINKER=ON/OFF - Se deve vincular -se ao Linker Gold.Copyright (c) 2019 Kracejic
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.