diff --git a/docs/必学工具/CMake.en.md b/docs/必学工具/CMake.en.md new file mode 100644 index 00000000..945c7c7b --- /dev/null +++ b/docs/必学工具/CMake.en.md @@ -0,0 +1,9 @@ +# CMake + +## Why CMake + +Similar to GNU make, CMake is a cross-platform tool designed to build, test and package software. It uses CMakeLists.txt to define build configuration, and have more functionalities compared to GNU make. It is highly recommanded to learn GNU Make and get familiar with Makefile first before strat learning CMake. + +## How to learn CMake + +Compare to `Makefile`, `CMakeLists.txt` is more abstract and difficult to understand and use. Nowadays many IDEs (e.g., Visual Studio, CLion) offer functionalities to generate `CMakeLists.txt` automaticly, but it's still nacessary to manage basic usage of `CMakeLists.txt`. Besides [Official CMake Tutorial](https://cmake.org/cmake/help/latest/guide/tutorial/index.html), [this one hour video tutorial (in Chinese)](https://www.bilibili.com/video/BV14h41187FZ) by IPADS group from SJTU for their freshmen is also a good learning resorce.