J'ai un certain nombre de projets construits en utilisant CMake et j'aimerais être en mesure de passer facilement à l'aide de GCC ou Clang/LLVM pour les compiler. Je crois (corrigez-moi si je me trompe!) que pour utiliser Clang j'ai besoin de configurer les éléments suivants:
SET (CMAKE_C_COMPILER "/usr/bin/clang")
SET (CMAKE_C_FLAGS "-Wall -std=c99")
SET (CMAKE_C_FLAGS_DEBUG "-g")
SET (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
SET (CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG")
SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
SET (CMAKE_CXX_COMPILER "/usr/bin/clang++")
SET (CMAKE_CXX_FLAGS "-Wall")
SET (CMAKE_CXX_FLAGS_DEBUG "-g")
SET (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
SET (CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG")
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
SET (CMAKE_AR "/usr/bin/llvm-ar")
SET (CMAKE_LINKER "/usr/bin/llvm-ld")
SET (CMAKE_NM "/usr/bin/llvm-nm")
SET (CMAKE_OBJDUMP "/usr/bin/llvm-objdump")
SET (CMAKE_RANLIB "/usr/bin/llvm-ranlib")
Est-il un moyen facile de commutation entre ces derniers et la valeur par défaut de GCC variables, de préférence en tant que système de changement à l'échelle plutôt que spécifiques au projet (c'est à dire pas seulement ajouter dans un projet CMakeLists.txt)?
Aussi, est-il nécessaire d'utiliser l' llvm-*
des programmes plutôt que le système par défaut lors de la compilation à l'aide de clang au lieu de gcc? Quelle est la différence?