LINUX.ORG.RU

[QMake][Clang++] Сборка проекта

 


0

2

Все никак не могу заставить QMake сгенерировать Makefile, который использует clang++ в качестве компилятора. Кто-то подобным уже занимался?

Хотелось бы использовать Clang++ по этому spec linux-llvm не предлогать.

А так же хотелось бы обойтись без написания своего spec

+ CMake не предлогать

★★★

Погугли спек linux-clang. Был такой и прекрасно работал (после доработки напильником).

KblCb ★★★★★
()
Ответ на: комментарий от Reset

Всем спасибо, но таких mkspec у меня не оказалось. Я надеялся все решить 2-я строчками в .pro файле. Но если уж такое дело, то просто использую CMake

frozenix ★★★
() автор топика
MOC_SOURCES = main.cpp
explicitmoc.name = explicitmoc
explicitmoc.input = MOC_SOURCES
explicitmoc.output = $${MOC_DIR}/moc_${QMAKE_FILE_IN}
explicitmoc.commands = moc  -i ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} 
explicitmoc.variable_out = JUNK
QMAKE_EXTRA_COMPILERS += explicitmoc

Для твоей задачи это конечно будет костылем, но добиться использования clang'а можно таким образом.
Почитать про это можно тут:
http://www.qtcentre.org/wiki/index.php?title=Undocumented_qmake

rival ★★
()
Ответ на: комментарий от slovazap

жалко, но это правда. только в CMake все сделалось без грязных хаков и двумя строчками.

set(CMAKE_CXX_COMPILER clang++) set(CMAKE_C_COMPILER clang)

frozenix ★★★
() автор топика

export CC=clang export CXX=clang++

Для кого придумали?

Gorthauer ★★★★★
()
Ответ на: комментарий от frozenix

Нет, такие вещи вообще нельзя прописывать в CMakeLists.txt, так как окружения у всех разные. Если нужен тонкий тюнинг, то можно из под ног забирать файл settings.cmake если он присутствует, а если не присутствует, то собирать дефолт.

Reset ★★★★★
()
Ответ на: комментарий от Reset

признаю, вы правы, потдался стадному инстинкту(многие прописывают в Lists)

frozenix ★★★
() автор топика
Ответ на: комментарий от frozenix

> жалко, но это правда. только в CMake все сделалось без грязных хаков и двумя строчками.

Почему жалко-то? CMake - лучшая система сборки из всего что есть на данный момент, и именно его надо использовать.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.