Closed skb666 closed 1 year ago
目前这个项目里面比较少考虑直接引用系统的包,值得探讨下实现方式。
一种是像opencv这种直接提供了 cmake文件的,直接引用是最好的,可以把源码放在component下,也可以直接引用系统的,这是在 cmake 世界里面比较通用的方法,常用的开源项目应该都有人写过,搜一下应该就能找到
set (OpenCV_DIR opencv/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)
另外比较原始的方法就是可以直接将源码拉进来在cmakelists.txt文件加源码搜索路径,或者添加搜索 .so 和 .h 文件路径
若使用 find_package
引入包,find_package
要在 project()
命令之后,我尝试将 include(${SDK_PATH}/tools/cmake/compile.cmake)
放到 project
之后,发现 python project.py build
未报错,但未编译出任何目标
在 component 里面 find吧,比如 examples/demo/main/CmakeLists.txt
, 一般不需要编辑examples/demo/CmakeLists.txt
在 component 里面 find吧,比如
examples/demo/main/CmakeLists.txt
, 一般不需要编辑examples/demo/CmakeLists.txt
感谢,目前通过以下方法,已成功与 vcpkg
配合使用
.config.mk
或 config_defaults.mk
内配置 CONFIG_TOOLCHAIN_PATH="~/vcpkg/scripts/buildsystems/vcpkg.cmake"
component/component_name
CMakeLists.txt
内引入包,如 curl
find_package(CURL CONFIG REQUIRED)
list(APPEND ADD_REQUIREMENTS CURL::libcurl)
register_component()
main/CMakeLists.txt
内 list(APPEND ADD_REQUIREMENTS component_name)
如果想向 components 内添加其它开源组件 如 libevent、openssl 这种用 autoconfig 或者 make/cmake 自组织编译的复杂组件 应该如何与该项目配合编译呢