133d722a9Sopenharmony_ci{{#title CMake — Rust ♡ C++}}
233d722a9Sopenharmony_ci# CMake
333d722a9Sopenharmony_ci
433d722a9Sopenharmony_ciThere is not an officially endorsed CMake setup for CXX, but a few developers
533d722a9Sopenharmony_cihave shared one that they got working. You can try one of these as a starting
633d722a9Sopenharmony_cipoint. If you feel that you have arrived at a CMake setup that is superior to
733d722a9Sopenharmony_ciwhat is available in these links, feel free to make a PR adding it to this list.
833d722a9Sopenharmony_ci
933d722a9Sopenharmony_ci<br>
1033d722a9Sopenharmony_ci
1133d722a9Sopenharmony_ci---
1233d722a9Sopenharmony_ci
1333d722a9Sopenharmony_ci- **<https://github.com/XiangpengHao/cxx-cmake-example>**
1433d722a9Sopenharmony_ci
1533d722a9Sopenharmony_ci  - Supports cross-language link time optimization (LTO)
1633d722a9Sopenharmony_ci
1733d722a9Sopenharmony_ci---
1833d722a9Sopenharmony_ci
1933d722a9Sopenharmony_ci- **<https://github.com/david-cattermole/cxx-demo-example>**
2033d722a9Sopenharmony_ci
2133d722a9Sopenharmony_ci  - Includes a cbindgen component
2233d722a9Sopenharmony_ci  - Tested on Windows 10 with MSVC, and on Linux
2333d722a9Sopenharmony_ci
2433d722a9Sopenharmony_ci---
2533d722a9Sopenharmony_ci
2633d722a9Sopenharmony_ci- **<https://github.com/trondhe/rusty_cmake>**
2733d722a9Sopenharmony_ci
2833d722a9Sopenharmony_ci  - Alias target that can be linked into a C++ project
2933d722a9Sopenharmony_ci  - Tested on Windows 10 with GNU target, and on Linux
3033d722a9Sopenharmony_ci
3133d722a9Sopenharmony_ci---
3233d722a9Sopenharmony_ci
3333d722a9Sopenharmony_ci- **<https://github.com/geekbrother/cxx-corrosion-cmake>**
3433d722a9Sopenharmony_ci
3533d722a9Sopenharmony_ci  - Improved rusty_cmake CMake file to use modern C++
3633d722a9Sopenharmony_ci  - Rich examples of using different primitive types and Rust's Result return to C++
3733d722a9Sopenharmony_ci  - MacOS and Linux only
3833d722a9Sopenharmony_ci
3933d722a9Sopenharmony_ci---
4033d722a9Sopenharmony_ci
4133d722a9Sopenharmony_ci- **<https://github.com/paandahl/cpp-with-rust>**
4233d722a9Sopenharmony_ci
4333d722a9Sopenharmony_ci  - Same blobstore example as the official demo, but inverted languages
4433d722a9Sopenharmony_ci  - Minimal CMake configuration
4533d722a9Sopenharmony_ci  - Tested on Linux, macOS, and Windows
4633d722a9Sopenharmony_ci
4733d722a9Sopenharmony_ci---
48