У меня была похожая проблема даже с 2.8.6, и документация не сильно помогла.В Интернете я нашел пример, который дал мне подсказку, в которой я нуждался.
Вам нужно использовать аргумент URL, но есть одна загвоздка.Если вы просто дадите ему путь к директории, предполагается, что вы собираетесь указать его на архив, а не на каталог.Вы должны предвосхитить свой путь с помощью «file: //», например:
ExternalProject_Add(
libantlr3c
URL file://${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3/configure --prefix=${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
BUILD_COMMAND make
BUILD_IN_SOURCE 1
)
Теперь мне просто нужно выяснить (в моем проекте), почему он ищет <project>-mkdir
, когда это не такесть.