2015-07-08 2 views
0

Так как я должен связать другую версию библиотек в зависимости от компилятора, я пытаюсь понять, как теги CMake отличаются от разных компиляторов, чтобы я мог писать соответствующие условные обозначения. Поэтому я поставил эти строки в верхней части моей CMakeLists.txt:Проверка того, как теги CMake отличаются от компиляторов C++

cmake_minimum_required(VERSION 3.2) 

message(STATUS "Using ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") 

Но эти строки печати просто:

-- Using 
+0

Вы не означает, например, [ '$ {CMAKE_CXX_COMPILER_ID}'] (http://www.cmake.org/cmake/help/v3.3/variable/CMAKE_LANG_COMPILER_ID.html)? Не забудьте префикс 'CMAKE_'. –

+0

Спасибо, что заметили. Я скопировал их из «выражений генератора». Но выход не меняется. – Elena

+1

И вы делаете это * после того, как * CMake проверяет компилятор? Можете ли вы показать образец файла 'CMakeLists.txt', который имеет проблему? –

ответ

1

Вы должны проверить на C++ компилятор первым. Вы можете добавить

project(myProject CXX) 

или

check_language(CXX) 
Смежные вопросы