Cài đặt CMake trên Ubuntu 20.04 LTS

CMake là công cụ để từ các file mã nguồn, nó tạo ra bộ project tương ứng, kiêm luôn công cụ biên tập code, macro. Từ đó bạn có thể build tiếp project đó. Nó là 1 ứng dụng nổi tiếng và quen thuộc với người yêu thích mã nguồn mở. Ứng dụng này có mục đích làm giảm dung lượng các file chia sẻ trên mạng bằng cách tạo ra các file config cần thiết cho project, khi đó người chia sẻ source và người sử dụng chỉ cần chia sẻ những file code mà thôi. Cmake hỗ trợ rất nhiều project của nhiều ngôn ngữ khác nhau, nhiều phiên bản của các IDE nổi tiếng và nhiều option để người dùng lựa chọn.

Ví dụ 1: Một project C++ chạy bằng Visual studio: project cần các file như *.sln, *.vcxproj, vcxproj.filters,… chứa thông tin về project, như là project đó cần compile những file nào, solution có bao nhiêu project, project build trên platform nào,… thì Cmake sẽ tạo ra các file đó giùm bạn. Còn nếu không có Cmake thì sao? Người chia sẻ file sẽ phải tạo ra các file config với mỗi phiên bản IDE, chỉ riêng Visual Studio đã có nhiều phiên bản: VS2008, VS2010, VS2012, VS2013, VS2015. Cộng thêm các ngôn ngữ khác nữa thì số lượng file phải tạo ra quá nhiều. Làm cho dung lượng file chia sẻ tăng lên đáng kể.

Ví dụ 2: Bạn đang có một project C++ và muốn build trên cả Windows, macOS và Linux. Nhưng đời không như mơ khi mà Windows có Visual Studio solution, macOS có XCode projects và Linux (*nix) có Makefile.

Codebase của bạn đang có 1,696 files và bạn không thể viết mà maintain riêng cả 3 projects cho 3 nền tảng, hoặc bạn đang viết giữa chừng nhưng có nhu cầu port qua nền tảng khác.Ý tưởng của CMake là bạn viết một script có tên CMakeLists.txt và chạy nó trên platform mà bạn muốn sinh project files, bạn chạy trên Linux, CMake sẽ sinh Makefile ra để bạn build project, chạy trên Windows, CMake sẽ sinh solution cho VS, và vân vân. 

CMake không phải là trình biên dịch, tác dụng của CMake chỉ là generate build files để trình biên dịch của bạn thực hiện công việc build sau đó.

Cập nhật hệ điều hành

Cập nhật hệ điều hành Ubuntu để đảm bảo rằng tất cả các gói hiện có đều được cập nhật:
sudo apt update && sudo apt upgrade -y

Cài đặt CMake với APT Repository

Phương pháp đầu tiên được đề xuất cho hầu hết người dùng là cài đặt CMake từ kho lưu trữ của Ubuntu 20.04.
Sau khi cài đặt, xác nhận cài đặt bằng cách kiểm tra phiên bản của CMake: cmake --version

Cài đặt CMake bằng biên dịch source

Tùy chọn thứ hai cho người dùng yêu cầu phiên bản mới nhất của CMake nên dùng method tải source xuống và biên dịch nó. Trước khi tiếp tục, hãy cài đặt các dependencies bắt buộc sau vào hệ thống bằng lệnh sau:

sudo apt install build-essential checkinstall zlib1g-dev libssl-dev -y

Đầu tiên, hãy truy cập trang phát hành Github và lấy liên kết phiên bản mới nhất, đừng quên làm điều này vì liên kết ví dụ bên dưới sẽ lỗi thời.

wget https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2.tar.gz

Trích xuất nội dung lưu trữ bằng lệnh sau: tar -zxvf cmake-{version number}.tar.gz
Bây giờ CD vào thư mục đã được giải nén:  cd cmake-{version number}
Trong phần tiếp theo, bạn sẽ Bootstrap script. Nếu bạn gặp phải bất kỳ sự cố nào, hãy đảm bảo rằng các phần phụ thuộc được đề cập trên đã được cài đặt: sudo ./bootstrap
Tập lệnh Bootstrap có thể mất vài phút. Sau khi hoàn tất, hãy sử dụng lệnh make để build package: sudo make
Tiếp theo, cài đặt CMake bằng lệnh make install sau: sudo make install
Sau khi cài đặt xong, hãy kiểm tra phiên bản CMake: cmake --version
        cmake version 3.22.2
        CMake suite maintained and supported by Kitware (kitware.com/cmake).