LINUX.ORG.RU

CMakeList и просто Makefile


0

0

Не могу въехать. Как cmake сказать, чтобы он сгенерил такой makefile, который по команде make в корневой директории проекта, запустит уже готовый Makefile на исполнение. (делается для того, чтобы одной командой make можно было собрать весь проект.)

Ничего не понял. Сделать то это конечно можно, но сейчас у тебя команда make половину проекта чтоль собирает? Если так, то это надо правильный CMakeLists.txt писать, а не извращаться.

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

> но сейчас у тебя команда make половину проекта чтоль собирает? Не половину. В смысле, К примеру если делать cmake для модуля ядра, получается слишком криво. Проще просто makefile сделать. А в проекте полный зоопарк получается.

Artem-Dnepr
() автор топика
Ответ на: комментарий от Artem-Dnepr

Делай custom rule. Например, я так libevent в дереве своего проекта 
собирал, пока не написал для него нормальный CMakeLists.txt

file(GLOB libevent_src libevent/*.c)

ADD_CUSTOM_TARGET(libevent ALL
        COMMAND echo -n
        DEPENDS libevent-bin/Makefile ../lib/libevent.a
        )

ADD_CUSTOM_COMMAND(OUTPUT libevent-bin/Makefile
        COMMAND mkdir -p libevent-bin && cd libevent-bin && ../libevent/configure
        )

ADD_CUSTOM_COMMAND(OUTPUT ../lib/libevent.a
        COMMAND cd libevent-bin && make libevent.la && cp .libs/libevent.a ../../lib
        DEPENDS libevent-bin/Makefile ${libevent_src}
        )

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