2012-10-15 34 views
28

Tôi có một makefile cho dự án của mình và tôi cũng đang chuyển một số đối số và dựa trên đối số đó tôi đang thiết lập một số cờ. Tôi có thể làm điều này. nhưng bây giờ tôi muốn làm tương tự bằng cách sử dụng cmake. Tôi đã tạo ra cmakelist.txt nhưng tôi không biết làm thế nào để vượt qua đối số và kiểm tra giá trị đối số trong cmakelist.txt.Chuyển đối số tới CMAKE qua dấu nhắc lệnh

Mẫu makefile của tôi:

ifeq "$(FAB)" "po" 
     //setting some flags 
else 
     //setting some iother flag 
endif 

cách để có những lập luận từ dấu nhắc lệnh và đặt cờ dựa trên đó là gì?

Trả lời

46

Trong tập tin CMakeLists.txt, tạo một biến bộ nhớ cache, như ghi nhận ở đây:

SET(FAB "po" CACHE STRING "Some user-specified option") 

Nguồn: http://cmake.org/cmake/help/v2.8.8/cmake.html#command:set

Sau đó, một trong hai sử dụng GUI (ccmake hoặc cmake-gui) để thiết lập biến bộ nhớ cache, hoặc chỉ định các giá trị của biến trên dòng lệnh cmake:

cmake -DFAB:STRING=po 

Nguồn: http://cmake.org/cmake/help/v2.8.8/cmake.html#opt:-Dvar:typevalue

Sửa đổi biến bộ nhớ cache của bạn thành boolean nếu, trên thực tế, tùy chọn của bạn là boolean.

Các vấn đề liên quan