https://github.com/roy-fokker/cpp23-project-template
Simple C++23 CMake project template for my use-cases
https://github.com/roy-fokker/cpp23-project-template
cmake cmake-presets cmake-project-example cpp23 cppmodules ninja vcpkg
Last synced: about 1 month ago
JSON representation
Simple C++23 CMake project template for my use-cases
- Host: GitHub
- URL: https://github.com/roy-fokker/cpp23-project-template
- Owner: Roy-Fokker
- Created: 2024-01-13T02:09:53.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T01:36:59.000Z (over 1 year ago)
- Last Synced: 2024-10-31T02:25:26.937Z (over 1 year ago)
- Topics: cmake, cmake-presets, cmake-project-example, cpp23, cppmodules, ninja, vcpkg
- Language: CMake
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# C++23 Project Template
## Uses
- ~~vcpkg for package management~~
- CPM.cmake for package management
- ninja for build engine
- cmake with cmakepresets for configuration and build
- cmake min_ver 4.0
- C++ modules enabled
- Uses C++ Standard Library modules
- MSVC (Windows only)
- Clang (Linux with libc++ only)
## to be figured out
- Intellisense and clangd both cannot handle modules so don't work correctly
## Example project
- uses fmt from github via CPM.cmake
## references
- Building on linux with Clang and libc++ for module support, https://mattbolitho.github.io/posts/vcpkg-with-libcxx/
- CMake 3.30 magic encantations,
- v3.30 https://www.kitware.com/import-std-in-cmake-3-30/
- v4.0+ https://github.com/Kitware/CMake/blob/master/Help/dev/experimental.rst#c-import-std-support
- CMake module compilations, https://www.kitware.com/import-cmake-the-experiment-is-over/