SORU
6 NİSAN 2012, Cuma


Cmake, nasıl olursa derleyici Çınlama varsa test edebilirim?

cross platform CMake build scripts, bir set var ve MSVC GCC bina destekliyoruz.

Clang, kurmaya çalışıyoruz ama ya derleyici CMake script ile Çınlama olup olmadığını test etmek için nasıl çözemiyorum.

Eğer derleyici Çınlama olup olmadığını test etmek için ne yapmalıyım? Şu anda MSVC CMAKE_COMPILER_IS_GNU<LANG> GCC ve MSVC için, sırasıyla test etmek için kullanıyoruz.

CEVAP
7 NİSAN 2012, CUMARTESİ


Güvenilir bir kontrol CMAKE_<LANG>_COMPILER_ID değişkenleri kullanmaktır. E. g., C derleyici kontrol etmek için:

if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  # using Clang
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  # using GCC
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
  # using Intel C  
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
  # using Visual Studio C  
endif()

Bu da eğer ccache gibi bir derleyici sarıcı kullanılması durumunda düzgün çalışır.

CMake 3.0.0 olarak Apple tarafından sağlanan CMAKE_<LANG>_COMPILER_ID artık değer AppleClang Çınlama. Hem Apple tarafından sağlanan Çınlama ve düzenli Çınlama test etmek için koşul, aşağıdaki kullanın:

if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  # using regular Clang or AppleClang
endif()

Ayrıca AppleClang policy description bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • dope2111

    dope2111

    29 HAZİRAN 2009
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008