Добавить подпроект CMake - PullRequest
1 голос
/ 26 января 2020

Apache Стрелка субмодуль хранится в thirdparty/apache_arrow/cpp, поэтому мой основной CMakeLists.txt выглядит как

cmake_minimum_required(VERSION 3.0.0)
project(arrow_parcer VERSION 0.1.0)

add_subdirectory(src)
add_subdirectory(thirdparty/apache_arrow/cpp)

В thirdparty/apache_arrow сохранено целое Apache Arrow project.

Когда я пытаюсь построить проект, последние выходные строки выглядят следующим образом:

[cmake] CMake Error: INSTALL(EXPORT) given unknown export "arrow_targets"
[cmake] Generating done
[cms-driver] Error during CMake configure: [cmake-server] Failed to compute build system.

Apache Стрелка может быть легко построена CMakeLists.txt по адресу /cpp, но почему возникает ошибка, если я пытаюсь включить ее с помощью add_subdirectory?

1 Ответ

1 голос
/ 28 января 2020

Apache Стрелка C ++ не предназначена для построения с использованием add_subdirectory, вместо этого вы должны использовать CMake ExternalProject_Add средство для ее построения:

ExternalProject_Add(arrow_ep 
    URL "https://www.apache.org/dist/arrow/arrow-0.15.1/apache-arrow-0.15.1.tar.gz"
    SOURCE_SUBDIR cpp)

Вместо использования URL Вы также можете использовать различных провайдеров, таких как GIT_REPOSITORY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...