2014-04-03 11 views

Trả lời

7

Câu trả lời bởi các liên kết steveire để các nguồn lực đúng, nhưng hãy để tôi giải thích một cách rõ ràng trong trường hợp các liên kết này biến mất.

CMake lệnh là trường hợp nhạy cảm nhưng chữ thường được khuyến khích phát triển theo CMake Brad vua vào năm 2012: lệnh

Ancient phiên bản CMake cần chữ hoa. Lệnh sau tên đã trở thành không phân biệt chữ hoa chữ thường. Bây giờ phong cách ưa thích là chữ thường.

Các mã shell cho phép chuyển đổi dự án của tôi CMakeLists.txt tập tin để giảm trường hợp được lấy cảm hứng từ các mã đằng sau các liên kết của câu trả lời steveire của:

cmake --help-command-list \ 
    | while read c; do 
     echo 's/\([^a-zA-Z_]\|^\)'"$c"'\(\s*\)(/\1'"$c"'\2(/gI' 
    done > convert.sed 
git ls-files -z -- '*CMakeLists.txt' | xargs -0 sed -i -f convert.sed 

Nó có những cải tiến sau:

  • grep -v "cmake version" không bắt buộc nữa vì có vẻ như đầu ra --help-command-list không còn chứa nữa
  • regex gốc chứa một \b mà làm cho nó không phù hợp với bất cứ điều gì với GNU sed 4.2.2
  • thay vào đó, lệnh cmake phải được đi trước bởi một tổ chức phi chữ/gạch chân hoặc đầu dòng
  • thay vì chuyển đổi lệnh cmake cho tất cả các trường hợp trên, làm cho trường hợp regex không nhạy cảm. Điều này cũng sẽ tìm và chuyển đổi các trường hợp hỗn hợp như Find_Package.
  • không có bộ phận cụ thể cho codebase cmake. Sửa đổi để phù hợp với bạn. Cấu trúc đơn giản này là đủ cho tôi.
Các vấn đề liên quan