Từ Wiki:
CMAKE_CURRENT_SOURCE_DIR đây là thư mục chứa CMakeLists.txt hiện đang được xử lý nằm trong
CMAKE_CURRENT_LIST_DIR (kể từ 2.8.3) đây là thư mục của tệp danh sách hiện đang được xử lý.
Từ Tài liệu:
CMAKE_CURRENT_SOURCE_DIR: Đường dẫn đến thư mục nguồn hiện đang được xử lý. Đây là đường dẫn đầy đủ đến thư mục nguồn hiện đang được cmake xử lý.
CMAKE_CURRENT_LIST_DIR: Thư mục đầy đủ của tệp danh sách hiện đang được xử lý. Khi CMake xử lý các tệp danh sách trong dự án của bạn, biến này sẽ luôn được đặt thành thư mục chứa tệp danh sách hiện đang được xử lý (CMAKE_CURRENT_LIST_FILE). Giá trị có phạm vi động. Khi CMake bắt đầu xử lý các lệnh trong một tệp nguồn, nó sẽ đặt biến này vào thư mục chứa tệp này. Khi CMake xử lý xong các lệnh từ tệp, nó sẽ khôi phục giá trị trước đó. Do đó, giá trị của biến bên trong macro hoặc hàm là thư mục của tệp gọi mục nhập dưới cùng trên ngăn xếp lệnh gọi, không phải là thư mục của tệp chứa định nghĩa macro hoặc hàm.
Trong những trường hợp nào các biến này sẽ giữ các giá trị khác nhau?
./
?