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

  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • superemposed

    superemposed

    25 Aralık 2007
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011