Этот вопрос относится к Instruct Cmake to use CXX and CXXFLAGS when driving link? В первом вопросе мы пытаемся указать CMake использовать CXXFLAGS
при вызове компоновщика.Разница между add_compile_options и SET (CMAKE_CXX_FLAGS ...)
add_compile_options
Мы обнаружили, что следующий код
if (CMAKE_VERSION VERSION_LESS 2.8.12)
add_definitions(-foo)
else()
add_compile_options(-foo)
endif()
message(STATUS, "CXXFLAGS: ${CMAKE_CXX_FLAGS}")
производит выход
CXXFLAGS:
SET CMAKE_CXX_FLAGS
Мы обнаружили, что следующий код
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -foo")
message(STATUS, "CXXFLAGS: ${CMAKE_CXX_FLAGS}")
производит выход
CXXFLAGS: -foo
Вопросы
Мы нашли CMake бы создать объектные файлы с помощью -foo
в обоих случаях. So -foo
определенно пробивается в CXXFLAGS
.
В чем разница между первым набором кода CMake и вторым набором кода CMake?
Почему CMAKE_CXX_FLAGS
не установлен в одном экземпляре и установлен в другом экземпляре?
В случае версий имеет значение: 'cmake --version' возвращает' cmake version 3.6.2'. – jww
Это, по крайней мере, ваш пятый вопрос относительно CMake в течение последних нескольких дней. Не возражаете ли вы признать, что это называется CMake, а не Cmake? – usr1234567
@ usr1234567 - Да, извините за вопросы. Люди, которые хотели CMake, не поддерживают его, поэтому теперь ответственность за меня падает. Я почти ничего не знаю о CMake, потому что я использую GNUmake и пишу свои собственные make-файлы. Я * жалею о том, что принимаю те пласты CMake ... И да, я получу вопросы, отредактированные. Извини за это. – jww