KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
w3h1_cmake
★ 10
Open GitHub ↗
Learn CMake and C/C++
Download README (.md)
Explore Similar Repositories
customauth-android-sdk
:
No description available.
odd-hash
:
your digesting friend
kb-wireguard
:
Experiment for establishing VPN connections over Keybase
padogrid
:
A comprehensive addon tool for managing data grid environments by distributed workspaces and online use case bundles
2048_demo
:
2048 game
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
w3h1_cmake
?
Download (.md)
# C++ Application with 'CMake' ## Prerequisite ### OS Environment - MacOS 10.11.6+ - Ubuntu 20.04+ ### Language Environment - [Clang 8.0.0+](https://clang.llvm.org/) - [Python 3.7+](https://www.python.org/) - [Ruby 2.7.1+](https://www.ruby-lang.org/en/) - [Rust 1.42.0+](https://www.rust-lang.org/) ### VS Code - [VS Code](https://code.visualstudio.com/) OR [Eclipse Theia](https://theia-ide.org/) ### VS Code Extension - [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) - [CMake Tool](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) - [CMake](https://marketplace.visualstudio.com/items?itemName=twxs.cmake) - [reStructuredText](https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext) - [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) - [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) - [PlantUML](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml) - [cmake-format](https://marketplace.visualstudio.com/items?itemName=cheshirekow.cmake-format) ### Tool and Library - [CMake](https://cmake.org/) - [Ninja](https://ninja-build.org/) - [clang-format](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) - [cmake_format](https://github.com/cheshirekow/cmake_format) - [Doxygen](http://www.doxygen.nl/) - [Graphviz](http://graphviz.org/) - [Sphinx](https://www.sphinx-doc.org/) - [Sphinx bootstrap theme](https://github.com/ryan-roemer/sphinx-bootstrap-theme) - [Library libpng 1.6.37+](http://www.libpng.org/pub/png/libpng.html) - [Library boost 1.72.0+](https://www.boost.org/) - [Library gettext 0.20.1](https://www.gnu.org/software/gettext/) - [Library SQLite 3.31.1+](https://www.sqlite.org/index.html) - [Library SQLite 3.8.10.2+](https://www.sqlite.org/index.html) For "basic_126" ### Library on Ubuntu - Library language-pack-de - Library language-pack-zh-hans - Library language-pack-zh-hant, optional ## Liste - **Hello, CMake!** Hello Application with 'CMake' "basic_101" [Youtube Video](https://youtu.be/I2-fIgkGfy8) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_101) - **Hello, Ninja!** Hello Application with 'CMake' and 'Ninja' "basic_102" [Youtube Video](https://youtu.be/wPpknWBG3v4) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_102) - **Hello, 'ccmake'!** 'CMake' Tool 'ccmake' "basic_103" [Youtube Video](https://youtu.be/yV7kopPr2Dk) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_103) - **Hello, 'cmake'!** Where are The 'CMake' Commands from? "basic_104" [Youtube Video](https://youtu.be/Dkfdqyeh4OM) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_104) - **Hello, VS Code!** Develop The 'CMake' Project with VS Code "basic_105" [Youtube Video](https://youtu.be/GgImAx-TTfY) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_105) - **Hello, CMake Script!** CMake's Scripting Language for Building Systems "basic_106" [Youtube Video](https://youtu.be/frS4Zc4zhMU) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_106) - **Hello, 'cmake_format'!** How to Format the 'CMake's File "basic_107" [Youtube Video](https://youtu.be/mhM12sqDKpE) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_107) - **Hello, C++ Style!** Formatting the 'C/C++'s Codes "basic_108" [Youtube Video](https://youtu.be/uN6OollV1xo) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_108) - **Hello, C++ Header!** Using a Include File from Other Folder "basic_109" [Youtube Video](https://youtu.be/dHt_i7-sBNM) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_109) - **Hello, Common Header!** Linking a Comman Include file in C++ "basic_110" [Youtube Video](https://youtu.be/XHcIdPFaTw0) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_110) - **Hello, C++ Library!** Build a Single Header File with CMake "basic_111" [Youtube Video](https://youtu.be/a0FdU06UGtQ) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_111) - **Hello, Default Include Paths!** Query the Default Include Directories "basic_112" [Youtube Video](https://youtu.be/-1hA3QqJKEw) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_112) - **Hello, Static Library!** Creating, Building and Using Static Library "basic_113" [Youtube Video](https://youtu.be/ztmYpK7lFCI) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_113) - **Hello, Different Folders!** Storing Header and Implementation File in Different Folders "basic_114" [Youtube Video](https://youtu.be/nTc_m7ELkzE) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_114) - **Hello, PRIVATE/PUBLIC!** Difference between PRIVATE/PUBLIC with target_include_directories "basic_115" [Youtube Video](https://youtu.be/pmRWYYEXLoc) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_115) - **Hello, Configure File!** Generating a C++ Configure File with CMake "basic_116" [Youtube Video](https://youtu.be/thJFmINbG0U) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_116) - **Hello, Package!** Finding an Executable Package For C++ Code "basic_117" [Youtube Video](https://youtu.be/D5sny0H8jUM) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_117) - **Hello, Doxygen!** Generating Documentation From annotated 'C/C++'s Sources "basic_118" "basic_118" [Youtube Video](https://youtu.be/T1CBiV09v8w) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_118) - **Hello, Module!** Using Your Custom CMake-Find Module "basic_119" [Youtube Video](https://youtu.be/7SkNPLFLrEc) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_119) - **Hello, Breathe!** Generating functional Documentation For 'C/C++'s Sources "basic_120" [Youtube Video](https://youtu.be/RE6rbuy11Z0) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_120) - **Hello, Third Party Library!** Using Third Party Library For C++ Sources "basic_121" [Youtube Video](https://youtu.be/fPAShAPvlio) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_121) - **Hello, Library's Components!** Using Library's Components For C++ Sources "basic_122" [Youtube Video](https://youtu.be/AMn65HQ5WAE) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_122) - **Hello, Module's Variables!** Using Find-Module's Variables with CMake Sources "basic_123" [Youtube Video](https://youtu.be/UuMJGiRZmlA) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_123) - **Hello, Targets!** Building multiple Targets using CMake on Ubuntu 20.04 "basic_124" [Youtube Video](https://youtu.be/-T4BMEI2agc) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_124) - **Hello, MULTOS!** Building C++ Project on Multiple Operating System using CMake "basic_125" [Youtube Video](https://youtu.be/fBkFHSka2NA) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_125) - **Hello, Multiple Versions!** Building Multiple Versions of a Shared Library Using CMake "basic_126" [Youtube Video](https://youtu.be/GmXbz3yfhWc) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_126) - **Hello, $PATH!** Creating a Symbolic Link for a Library "basic_127" [Youtube Video](https://youtu.be/DFdMZvpCoCg) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_127) - **Hello, GitHub!** Formatting Library from Repositories Using CMake "basic_128" [Youtube Video](https://youtu.be/27zsR2It2K8) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_128) - **Hello, Hunter!** CMake-based Cross-Platform Package Manager for C++ Projects "basic_129" [Youtube Video](https://youtu.be/QWBu7vykWpc) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_129) - **Hello, Multiple Projects!** Creating a Solution with C++ Multiple Projects "basic_130" [Youtube Video](https://youtu.be/Vt5TEcFm0Hg) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_130) - **Hello, Output!** Changing the output default directory in a dedicated directory "basic_131" [Youtube Video](https://youtu.be/HnXP8jgryC4) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_131) - **Hello, Custom Target!** Adding and Using A Custom Target in CMake "basic_132" [Youtube Video](https://youtu.be/xcJbhFgVI04) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_132) - **Hello, Ninja Multi-Config!** Creating a Solution with C++ Multiple Configuration "basic_133" [Youtube Video](https://youtu.be/TLpscEDcI1U) | [Demo Video](https://www.youtube.com/watch?v=TLpscEDcI1U&t=231s) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_133) - **Hello, COMPILE_DEFINITIONS!** How to specify preprocessor definitions through CMake "basic_134" [Youtube Video](https://youtu.be/4GPcMCwWgVM) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_134) - **Hello, Generator Expression!** How to Learn Generator Expression in CMake "basic_135" [Youtube Video](https://youtu.be/xZkakSO3_II) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_135) - **Hello, Targets 2.0!** How to Use Generator Expression in C++ Project "basic_136" [Youtube Video](https://youtu.be/hEWES7JgrfU) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_136) - **Hello, Object Library!** How to Create and Use The Object File in CMake "basic_137"<br/> [Youtube Video](https://youtu.be/xj1fx2Xsl-U) | [Short Video](https://youtu.be/edcA9puzDgU) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_137) - **Hello, Object File!** How to Obtain and Apply The Object File of Library in CMake "basic_138"<br/> [Youtube Video](https://youtu.be/1LMmQ_3kjFA) | [Short Video](https://youtu.be/9Y-alzDxJpg) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_138) - **Hello, install:exe!** How to install executable from the project to local "basic_139"<br/> [Youtube Video](https://youtu.be/nJj1efRi6oI) | [Short Video](https://youtu.be/edcA9puzDgU) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_139) - **Hello, install:multi!** How to install executable on local with "Ninja Multi-Config" "basic_140" <br/> [Youtube Video](https://youtu.be/tCN-eFZN8xE) | [Demo Video](https://www.youtube.com/watch?v=tCN-eFZN8xE&t=187s) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_140) - **Hello, install:DESTDIR!** How to use CMake Environment Variable `DESTDIR` "basic_141" <br/> [Youtube Video](https://youtu.be/NtYyjwSjt9Q) | [Demo Video](https://www.youtube.com/watch?v=NtYyjwSjt9Q&t=168s) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_141) - **Hello, package:AppImage!** How to package a Linux console application for `AppImage` "basic_142" <br/> [Youtube Video](https://youtu.be/QkpnCki13Mc) | [Demo Video](https://www.youtube.com/watch?v=QkpnCki13Mc&t=116s) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_142) - **Hello, publish:Assets!** How to upload a Multiple Artifacts to Github Assets "basic_143" <br/> [Youtube Video](https://youtu.be/h5tpJtrDQeI) | [Demo Video](https://www.youtube.com/watch?v=h5tpJtrDQeI&t=71s) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_143) - **Hello, CircleCI!** How to Build C++ Project with CMake and CircleCI "basic 144" <br/> [Youtube Video](https://youtu.be/7lxEofq8jhM) | [Demo Video](https://www.shorturl.at/fwGQX) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_144) - **Hello, CI:AppImage!** How to publish Artifacts to Github Assets with CircleCI "basic_145" <br/> [Youtube Video](https://youtu.be/rmoPxvgQm38) | [Demo Video](https://www.youtube.com/watch?v=rmoPxvgQm38&t=122s) | [Code](https://github.com/cnruby/w3h1_cmake/tree/basic_144) ## References - [Learning CMake: A beginner's guide](https://tuannguyen68.gitbooks.io/learning-cmake-a-beginner-s-guide/content/index.html) - [Modern CMake](https://cliutils.gitlab.io/modern-cmake/) - [CMake Community Wiki](https://gitlab.kitware.com/cmake/community/-/wikis/home) - [CMake BASIS](https://cmake-basis.github.io/quickstart.html) - [CMake Cookbook Github](https://github.com/dev-cafe/cmake-cookbook) - [CMake Cookbook 中文](https://chenxiaowei.gitbook.io/cmake-cookbook/) - [CMake questions forum](https://discourse.cmake.org) - [Getting started with cmake](https://riptutorial.com/cmake) ## @cnruby - [@Gitter](https://gitter.im/cnruby) - [@Blog](https://www.blogger.com/blogger.g?tab=mj1&blogID=19758264#allposts/postNum=0) - [@Twitter](https://twitter.com/cnruby)