CMake: как создать CMakeLists.txt, который запускается ./configure один раз? - PullRequest
1 голос
/ 17 октября 2011

Как мне создать CMakeLists.txt для gmock для настройки только один раз?

Я пытался:

ADD_CUSTOM_TARGET (gmock DEPENDS $ {CMAKE_CURRENT_LIST_DIR} /gmock-1.6.0/lib/.libs / libgmock.a COMMAND cd $ {CMAKE_CURRENT_LIST_DIR} /gmock-1.6.0 && ./configure && make)

, но это будет делать ./configure каждый раз, даже когда мне действительно нужно толькозапустите его один раз.

Кроме того, я открыт для использования FIND_PACKAGE () и т. д. ... в долгосрочной перспективе, поэтому мне не нужно вносить изменения при обновлении gtest, но на этом этапе,Я просто пытаюсь собрать его, не настраивая каждый раз.

Ответы [ 2 ]

2 голосов
/ 20 октября 2011

Хотите ли вы иметь зависимость сборки от gtets или источника gmock?Если это так, эта нить в списке рассылки gtest может помочь.Короче говоря, просто ADD_DIRECTORY с вашим исходным кодом gtest или gmock, и тогда вы можете зависеть от определенных там целей публичной библиотеки.

1 голос
/ 19 октября 2011

Разделите команду configure и вызов gmock на два отдельных custom_targets и не забудьте добавить зависимость для каждого из них.

То есть для configure-target может быть файл configure.in или любой другой файл из gmock, что делает необходимым повторный запуск configure и target-target для make-target.

Тогда make-target должен зависеть от одной из ваших целей, а не от libgmock.a (который генерируется вызовом make).

НТН

...