CMakeで'g++'みたいなのを正規表現でマッチさせる方法
ちょっとググりにくかったのでメモ。
CMakeで
if(CMAKE_CXX_COMPILER MATCHES "g\+\+$") # g++用flag設定
とかやると、'\+'がinvalid escapeだとか怒られます。いやいや、ってググるとMLにありました。
CMake matching a literal '+' in a regular expression
こうしろと。
if(CMAKE_CXX_COMPILER MATCHES "g\\+\\+$") # g++用flag設定
OK、マッチした。
よくよく考えてみればGNUかどうかのフラグはCMakeの方で用意してくれてたりするわけですが、clang++とかやりたいときは使えるかも。
(追記)
こういう用途ならCMAKE_CXX_COMPILER_IDを使った方がよさげな模様。