【发布时间】:2021-11-22 21:39:52
【问题描述】:
我有一个项目,其中有 SQL 文件,我希望 cmake/make 为我生成一个 sqlite 数据库。
cmake_minimum_required (VERSION 3.0)
project( home_manager_sqlite )
message("Prefix is: ${CMAKE_INSTALL_PREFIX}")
#find sqlite3
find_path(SQLITE3_EXECUTABLE sqlite3)
add_custom_target(main_sqlite ALL DEPENDS ${MAIN_DB_FN} SOURCES lbus.sql)
add_custom_target(log_sqlite ALL DEPENDS ${LOG_DB_FN} SOURCES lbus_log.sql)
add_custom_command(OUTPUT ${MAIN_DB_FN}
MAIN_DEPENDENCY lbus.sql
COMMAND cat lbus.sql | sqlite3 -batch ${MAIN_DB_FN})
add_custom_command(OUTPUT ${LOG_DB_FN}
MAIN_DEPENDENCY lbus_log.sql
COMMAND cat lbus_log.sql | sqlite3 -batch ${LOG_DB_FN})
install (FILES ${MAIN_DB_FN}
DESTINATION ${DB_INSTALL_DIR}
RENAME ${MAIN_DB_FN}.sample
PERMISSIONS OWNER_WRITE OWNER_READ
GROUP_READ GROUP_WRITE
WORLD_READ)
install (FILES ${LOG_DB_FN}
DESTINATION ${DB_INSTALL_DIR}
RENAME ${LOG_DB_FN}.sample
PERMISSIONS OWNER_WRITE OWNER_READ
GROUP_READ GROUP_WRITE
WORLD_READ)
install (CODE "execute_process(COMMAND chown -R ${WWW_OWNER} ${CMAKE_INSTALL_PREFIX}/${DB_INSTALL_DIR})")
这在某种程度上可行,但是当我进行源代码构建时,找不到 sql 文件。
【问题讨论】: