2013-03-26 25 views
6

Tôi đang sử dụng cotire (https://github.com/sakra/cotire) plugin cho CMake, xử lý một số điều thú vị liên quan đến tăng tốc biên dịch (ví dụ: tiêu đề biên dịch trước).CMake (cotire) được biên dịch trước tiêu đề và tắt cảnh báo

Vấn đề là tôi bao gồm một số tiêu đề (Tăng liên quan hoặc Protobuf) làm tiêu đề hệ thống - trong đó cảnh báo bị tắt. Sau khi chúng được biên dịch trước, tôi đã có rất nhiều cảnh báo.

Tôi có thể tắt cảnh báo trong các tiêu đề được biên dịch trước không?

+1

Với cảnh báo [cotire 1.6] (https://github.com/sakra/cotire) trong tiêu đề được biên dịch trước bị chặn. – sakra

Trả lời

1

Tôi không nghĩ rằng có một cách được xây dựng để làm điều này, chúng tôi đã sửa đổi chức năng cotire cotire_add_pch_compilation_flags (dòng 1244 cotire.cmake phiên bản 1.5.1) để thêm cờ "-w" khi biên dịch tiêu đề được biên dịch trước. Chúng tôi đã thay đổi GNU | phần Clang để đọc

elseif (_compilerID MATCHES "GNU|Clang") 
     # GCC/Clang options used 
     # -x specify the source language 
     # -c compile but do not link 
     # -o place output in file 
     set (_xLanguage_C "c-header") 
     set (_xLanguage_CXX "c++-header") 
     if (_flags) 
      # append to list 
      list (APPEND _flags "-x" "${_xLanguage_${_language}}" "-w" "-c" "${_prefixFile}" -o "${_pchFile}") 
     else() 
      # return as a flag string 
      set (_flags "-x ${_xLanguage_${_language}} -w -c \"${_prefixFile}\" -o \"${_pchFile}\"") 
     endif() 

này ngăn chặn tất cả các cảnh báo cho chúng tôi, chúng tôi đã có rất nhiều cảnh báo bật - bao gồm -Werror, vì vậy nó là một sự thay đổi cần thiết!

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