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

  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008
  • TSE

    TSE

    12 Kasım 2012