iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

30 天 CMake 跨平台之旅 系列

從 CMake 實做角度出發, 以 C++ 為例, 簡單介紹 source code 從人類語言變成可執行檔需要經歷哪些階段?
常常聽到的函式庫是什麼? 工具鏈又是什麼?
即使沒有跨平台需求, CMake 也是一個好用的 build tool
知名的開源套件通常也支援 CMake 讓你在自己機器 build code, 如 tensorflow
此系列將用 30 天, 盡量用最白話的方式說明, 希望連不熟悉 build system 的人都能夠快速入門

鐵人鍊成 | 共 30 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 21

[Day 21] Relocatable project

本日內容 來安裝吧! 預告 Day21 - Colab 了解了安裝需要的基本概念和指令後, 今天就來實際安裝看看 來安裝吧! CMakeLists.txt...

2023-09-21 ‧ 由 erichung0404 分享
DAY 22

[Day 22] 打包我的 Project

本日內容 Install Basics CPack Package to TGZ 預告 Day 22 - Colab 從最開始的 Configure, Bu...

2023-09-22 ‧ 由 erichung0404 分享
DAY 23

[Day 23] 讓別人 Link 我的 Project

本日內容 使用 FetchContent 使用 find_package() 預告 Day23 - Colab 今天會繼續用 Day 21 的範例, 不...

2023-09-23 ‧ 由 erichung0404 分享
DAY 24

[Day 24] 你需要再快一點! Build Performance (一)

本日內容 Bottleneck: Processing Headers Unity Build Precompile Headers Parallelism...

2023-09-24 ‧ 由 erichung0404 分享
DAY 25

[Day 25] 你需要再快一點! Build Performance (二)

本日內容 專案架構 Unity Build Precompiled Headers Ccache Parallelism 預告 Day 25 - Colab...

2023-09-25 ‧ 由 erichung0404 分享
DAY 26

[Day 26] Ninja

本日內容 Ninja! 改用 Ninja 預告 Day 26 - Colab 我們今天會沿用 Day 25 的設定, 來看看改用 Ninja 能夠節省多少開...

2023-09-26 ‧ 由 erichung0404 分享
DAY 27

[Day 27] Cross Compile 行前準備

本日內容 Toolchain 是什麼? 安裝 crosstool-NG 設定 Toolchain Build Toolchain 預告 Day 27 -...

2023-09-27 ‧ 由 erichung0404 分享
DAY 28

[Day 28] Cross Compile Windows Binaries

本日內容 Build Windows Toolchain 來寫 CMake Toolchain File 吧 Hello World! Cross Compi...

2023-09-28 ‧ 由 erichung0404 分享
DAY 29

[Day 29] Windows Installer

本日內容 用 NSIS 打包 預告 Day 29 - Colab為了節省重 build cross compiler 的時間, 我事先將 toolchain...

2023-09-29 ‧ 由 erichung0404 分享
DAY 30

[Day 30] Real-world example - PyTorch

本日內容 CMakeLists.txt cmake Module Directory torch Library Platform-Specific...

2023-09-30 ‧ 由 erichung0404 分享