Posted at

CMakeの-Cオプションでコンパイラーを切り替える

More than 1 year has passed since last update.

デフォルトではgccだけどたまにclangでビルドしてみたいときに使える方法。


確認した環境

Ubuntu16.04(をVirtualBoxで動かしたもの)


ファイル配置


Direcroty構成

.

├── Qiita
│   ├── CMakeLists.txt
│   └── main.cpp
└── clang-cmakeinit.cmake


Qiita/CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

set(SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
)

add_executable(Hello ${SOURCE_FILES})



Qiita/main.cpp

#include <iostream>


int main(void){
std::cout << "Hello World!" << std::endl;
}


clang-cmakeinit.cmake

set(CMAKE_C_COMPILER "/usr/bin/clang" CACHE string "clang compiler" FORCE)

set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE string "clang++ compiler" FORCE)


使い方


デフォルト(gcc)でビルド

mkdir build

cd build
cmake ../Qiita
make


-Cオプションを付けてclangでビルド

mkdir build

cd build
cmake -C ../clang-cmakeinit.cmake ../Qiita/
make


参考

cmake公式のヘルプ

本当は上記ではなくて、別のどこかで見つけたはずだけどもどこだったか忘れた・・