Code Monkey home page Code Monkey logo

cmake-skeleton's Introduction

cmake-skeleton

CMake Skeleton project. src directory contains some static library and executable. tests contains basics of unit testing with gtest

For most daily puproses will be enough to run:

cmake -G Ninja -DCMAKE_BUILD_TYPE=debug -DFORCE_COLORED_OUTPUT=true -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..

Generate compile commands

To generate compile_commands.json for YCM plugin, run cmake with MAKE_EXPORT_COMPILE_COMMANDS=1

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..

cmake generators

By default, on Linux cmake uses ninja generator.

Unix makefiles

For Unix Makefiles build system, run:

cmake -G 'Unix Makefiles' --config Debug .. 

ninja

For ninja build system, run:

cmake -G Ninja --config Debug ..

VS 2017

For VS 2017, run:

cmake  -G "Visual Studio 15 2017 Win64" --config Debug -A x64 ..

For VS 2019, run:

cmake  -G "Visual Studio 16 2019 Win64" --config Debug -A x64 ..

For VS 2022, run:

cmake  -G "Visual Studio 17 2022 Win64" --config Debug -A x64 ..

Build with cmake with generator

To build project with generator, run from command line:

cmake --build . --config Debug

vim

Reassing debug command

To reassing default debug command (on F9 press), add to .vimrc

nnoremap <F9> :ConqueGdb -cd=build/src --args ./main --n 5<CR>
set path+=src
set path+=tests

Change build system to Make

Add to .vimrc:

nnoremap <F8> :make<CR>
"set makeprg=ninja\ -C\ build

cmake-skeleton's People

Contributors

feniksa avatar

Watchers

 avatar

cmake-skeleton's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.