首页 > 解决方案 > 如何使用 CMake 将所有头文件仅从各个目录复制到具有相同目录结构的其他位置?

问题描述

我正在开发需要使用现有 cpp 库的 Android NDK 项目。所以我需要生成“.so”文件,我需要将所有头文件(.h/.hpp)文件提取到其他位置,以便我可以将它与 Android 应用程序集成。我的尝试

 add_custom_command(TARGET cpp_parser-lib POST_BUILD
                    COMMAND "${CMAKE_COMMAND}" -E
                    copy "${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/cpp_example/libxml/xmlparser/*.h"
                    "${distribution_DIR}/include/cpp_example/libxml/xmlparser/"

                    COMMAND "${CMAKE_COMMAND}" -E
                    copy "${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/cpp_example/libxml/*.h"
                    "${distribution_DIR}/include/cpp_example/libxml/"

"${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/cpp_example/parser/proto/protobuf/*.h"
                    "${distribution_DIR}/include/cpp_example/parser/proto/protobuf/"

.
.
.
)

有用。但在这种情况下,所有目标目录都必须已经存在。

我的总结是

如何仅将具有给定扩展名的所有文件提取到另一个位置的目录路径? 左边是实际输入,右边应该是输出

标签: androidcmakeandroid-ndk

解决方案


推荐阅读