以下のclang ++のcmakeブランチに相当するものをどのように達成しますか?
if (GXX_VERSION VERSION_GREATER 4.5 OR GXX_VERSION VERSION_EQUAL 4.5)
...
ありがとう、
何らかの理由でpiokucの解決策がうまくいかないので、次のことを行いました:
EXECUTE_PROCESS( COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE clang_full_version_string )
string (REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CLANG_VERSION_STRING ${clang_full_version_string})
if (CLANG_VERSION_STRING VERSION_GREATER 3.1)
....
CMake では、clang について次のように定義されています。
これは私のために働く:
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.2)
...
...
endif ()
同様に、 と がVERSION_LESS
ありVERSION_EQUAL
ます。
cmake v3.1.3 では、CLANG_VERSION_STRING がなかったため、CMAKE_CXX_COMPILER_VERSION をチェックする必要があったため、コンパイラの種類ごとにバージョンが定義され、より多くの制御が可能になったようです。