All Projects → vimmy-io → cxp

vimmy-io / cxp

Licence: MIT license
Lightweight & minimal project template using "modern" CMake

Programming Languages

CMake
9771 projects
shell
77523 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to cxp

mint-ui
Design System | React UI components for web
Stars: ✭ 17 (-68.52%)
Mutual labels:  modern
wakib-keys
Emacs mode that moves to modern keybindings
Stars: ✭ 31 (-42.59%)
Mutual labels:  modern
bitcoin-market-android
Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals 💰
Stars: ✭ 284 (+425.93%)
Mutual labels:  modern
cli-template
⚗ The most advanced CLI template on earth! Featuring automatic releases, website generation and a custom CI-System out of the box.
Stars: ✭ 43 (-20.37%)
Mutual labels:  modern
MSI-Modern15-Hackintosh
My MSI Modern 15 Hackintosh repo
Stars: ✭ 16 (-70.37%)
Mutual labels:  modern
simplepie-ng
Don't use this yet.
Stars: ✭ 41 (-24.07%)
Mutual labels:  modern
htr-united
Ground Truth Resources for the HTR of patrimonial documents
Stars: ✭ 23 (-57.41%)
Mutual labels:  modern
CustomTkinter
A modern and customizable python UI-library based on Tkinter
Stars: ✭ 1,626 (+2911.11%)
Mutual labels:  modern
redux-react-boilerplate-2018
Redux enabled boilerplate for React, react-bootstrap, babel and webpack ready for 2018
Stars: ✭ 12 (-77.78%)
Mutual labels:  modern
gatsby-portfolio
Portfolio / Personal Website - Built with Gatsby.js and Published at konstantin.digital
Stars: ✭ 23 (-57.41%)
Mutual labels:  modern
cookiecutter-modern-pypackage
Cookiecutter template for a modern Python package.
Stars: ✭ 97 (+79.63%)
Mutual labels:  modern
okiba
Sharp collection of tools for front-end development, created with performance in mind. 🗡
Stars: ✭ 26 (-51.85%)
Mutual labels:  modern
thesis template
A comprehensive LaTeX template with examples for theses, books and more, employing the 'latest and greatest' (UTF8, glossaries, fonts, ...). The PDF artifact is built using CI/CD.
Stars: ✭ 121 (+124.07%)
Mutual labels:  modern
cforum
https://github.com/ckruse/cforum_ex/
Stars: ✭ 22 (-59.26%)
Mutual labels:  modern
tov-template
vite + vue3 + ts 开箱即用现代开发模板
Stars: ✭ 251 (+364.81%)
Mutual labels:  modern
VBA-Better-Array
An array class for VBA providing features found in more modern languages
Stars: ✭ 77 (+42.59%)
Mutual labels:  modern
zinc
ZincSearch. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
Stars: ✭ 9,936 (+18300%)
Mutual labels:  modern
vmutils
cross platform library to manipulate and extract information of memory regions
Stars: ✭ 22 (-59.26%)
Mutual labels:  modern
framework
Typetron is a modern Node.js framework for building backend web apps with Typescript
Stars: ✭ 28 (-48.15%)
Mutual labels:  modern
Unity-8
Theme mimicking Unity 8's design
Stars: ✭ 22 (-59.26%)
Mutual labels:  modern

CXP: C++ Cross Platform

A template project for creating a cross platform C++ CMake project using modern CMake syntax and transitive dependencies.

Checkout the FAQ if you've got questions.

Getting Started

  • Run get_latest_deps.sh to pull down 3rd party dependencies from Github. Use [-s|--ssh] to use ssh.
  • mkdir build && cd build
  • cmake -G "Your Favourite Build Type" ../ Supported options are (OFF by default): -D<OPTION>=ON
    • PROJECT_ENABLE_BENCHMARKING - Creates sample Google Benchmark project
    • PROJECT_ENABLE_TESTING - Creats sample Google Test project
    • PROJECT_USE_LIBCXX - Sets -stdlib=libc++ for Clang only

Customising CXP for Your Project

This section will show you where and what to change to configure CXP to work with your project files, whether you're moving your files to CXP or starting from scratch.

gitignore

Firstly, modify the .gitignore file to your requirements. Currently, it ignores all files, except a few necessary ones but includes directories.

Renaming Params

Next rename some variables to reflect your project name, default configs etc:

Note: Essentially anything with the cxp prefix may require changing to your liking.

Project Structure

libs
  - CMakeLists.txt      // File for controlling libs
  - external            // All external dependencies go here
  - compile-interfaces  // Compile options using INTERFACE libraries
  - engine              // Each lib is modular and can be included
    - include           // as and when required
    - src
  - engine-utils        // INTERFACE header only, depends on engine
    - include
  - engine-ui           // STATIC lib depends on engine-utils
    - include
    - src
src                   // Main folder for executables
  - benchmarks        // Google benchmark executable project
  - tests             // Goolgle test executable project
  - engine-ui-exec    // Depends on engine-ui, everything else
    - include         // included automatically
    - src
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].