小编Ste*_*dge的帖子

使用CMake,我如何连接文件并安装它们

我是CMake的新手,我有一个问题,我无法找到解决方案.我正在使用CMake编译一个带有一堆可选子目录的项目,并按预期构建共享库文件.这部分似乎工作正常.这些子目录中的每一个都包含一个sql文件.我需要将所有选定的sql文件连接到一个sql头文件并安装结果.所以一个文件像:

sql_header.sql
sub_dir_A.sql
sub_dir_C.sql
sub_dir_D.sql
Run Code Online (Sandbox Code Playgroud)

如果我直接在make文件中执行此操作,我可能会执行类似以下操作,只更智能地处理选定的子目录:

cat sql_header.sql  > "${INSTALL_PATH}/somefile.sql"
cat sub_dir_A.sql  >> "${INSTALL_PATH}/somefile.sql"
cat sub_dir_C.sql  >> "${INSTALL_PATH}/somefile.sql"
cat sub_dir_D.sql  >> "${INSTALL_PATH}/somefile.sql"
Run Code Online (Sandbox Code Playgroud)

我有点想出这个,就像我可以使用:

LIST(APPEND PACKAGE_SQL_FILES "some_file.sql")
Run Code Online (Sandbox Code Playgroud)

我假设我可以放在每个子目录CMakeLists.txt文件中以收集文件名.我可以创建一个像:

CAT(IN "${PACKAGE_SQL_FILES}" OUT "${INSTALL_PATH}/somefile.sql")
Run Code Online (Sandbox Code Playgroud)

但是我在CMake最初运行和从make install运行之间迷路了.也许有更好的方法来做到这一点.我需要这个在Windows和Linux上工作.

我会很高兴有一些提示指出我正确的方向.

install cmake

9
推荐指数
2
解决办法
5202
查看次数

标签 统计

cmake ×1

install ×1