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

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • MovieZoneET

    MovieZoneET

    22 Aralık 2009