Я хочу интегрировать SQLite в свой проект, используя ExternalProject_Add
.Как добавить исходные файлы в внешний проект в CMake?
cmake_minimum_required(VERSION 2.8.8)
include(ExternalProject)
# Download, configure, build and install SQLite
ExternalProject_Add(SQLite
PREFIX ${CMAKE_SOURCE_DIR}
TMP_DIR ${CMAKE_SOURCE_DIR}/temp
STAMP_DIR ${CMAKE_SOURCE_DIR}/stamp
#--Download step--------------
DOWNLOAD_DIR ${CMAKE_SOURCE_DIR}/download
URL http://www.sqlite.org/2014/sqlite-autoconf-3080704.tar.gz
URL_HASH SHA1=70ca0b8884a6b145b7f777724670566e2b4f3cde
#--Update/Patch step----------
UPDATE_COMMAND ""
#--Configure step-------------
SOURCE_DIR ${CMAKE_SOURCE_DIR}/source
CONFIGURE_COMMAND "" # How to add sqlite3.c to the target here?
#--Build step-----------------
BINARY_DIR ${CMAKE_SOURCE_DIR}/build
BUILD_COMMAND "cmake --build ."
#--Install step---------------
INSTALL_DIR ${CMAKE_SOURCE_DIR}/install
)
Команда сборка будет использовать родную компилятор, чтобы собрать все исходные файлы, добавленные к цели SQLite
. Однако нет. Как я могу добавить единственный исходный файл sqlite3.c
к внешнему проекту в пределах CONFIGURE_COMMAND
?
Спасибо. Как загрузить и извлечь источники библиотеки в обычном файле сборки CMake? – danijar
@ danijar Вы можете использовать 'ExternalProject_Add' для загрузки и создания. Дело в том, что вам понадобится дополнительный внешний файл CMake для вызова 'ExternalProject_Add' для построения. – ComicSansMS
Не имеет ли смысл тогда использовать только один CMakeLists.txt для ручной загрузки источника? Я думаю, что ExternalProject_Add внутренне использует для этого команду CMake. – danijar