LINUX.ORG.RU

cmake, include_directories and relative paths


0

1

Здрасте. Cmake 2.8.4, последний. когда добавляю через include_directories путь до хедеров в относительном виде(например ../../aaa или $(aaa)/include), то в итоговом проекте имею указанные пути с префиксом CMAKE_CURRENT_DIRECTORY (в общем до самого верхнего конфига). И получается в итоге что-то вида C:\111\222\$(aaa)\include. Я так понял «раньше» автоматом не подставлялось, но это дикость какая-то не давать рулить правилом. Мне нужно чтобы были относительные пути в итоге, как-то можно сделать?


Это как раз тот случай, когда вам не нужно этого хотеть. Директория сборки должна быть физически отпочкована от директории с исходниками. Все пути в директории сборки временные и жёстко привязаны к её месту рассположения, а также к месту рассположения директории с исходниками. Чтобы отбить желание создавать директорию сборки относительно директории с исходниками и было введено это правило.

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

Dendy, не правильно задавливать гипотетическую портабельность выходных файлов. Мне на другом компьютере запускать. В maillist ответили, что cmake не заточен под это. Жаль, пришлось шлифануть перлом проектники...

anonymous
()
Ответ на: комментарий от gekso

Пошел бы на cmake wiki, что ли... Там есть буквы про кроссплатформенность

Не на этом сайте про винду спрашивать.

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

Директория сборки непереносима изначально и на это есть свои причины. Правильный способ — сконфигурировать сборку заново на другой машине.

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