目前在Linux环境下编写 cmake project (corss compile)
会用到的3rd party library是采用事先下载好source code和自己的code同时编译
有点苦恼的地方是 不知道该如何用正规作法将library的路径导入至自己的project
目录结构大概类似这样
root
作者:
Lipraxde (Lipraxde)
2020-12-24 07:44:00虽然不知道正不正规,不过可以用 add_subdirectory +EXCLUDE_FROM_ALL
find_package就是唯一的"正规"做法了啊,其他的都是看你高兴,想怎么做就怎么做
可以参考有名的开源专案,像是Blender 有 intern 跟 extern 两个资料夹。
find_package门槛高 要看懂.cmake跟理解他原理并不容易但是说他是唯一正规做法这点并没有错 XD
作者:
Lipraxde (Lipraxde)
2020-12-28 00:42:00find_ package 有时后不太适用,要从原始码编的话 add_subdirectory 简单多了,反正 cmake 只要能找得到 target 就能动。
作者:
dzwei (Cout<< *p << \n ;)
2020-12-31 18:39:00如果算是常见的opensrc 我会建议用vcpkg当然 你也可以为你的3rd制作3rdConfig.cmake如果是简单阳春的3rdConfig.cmake 应该30行以内能搞定我之前参照opencv写的差不多这样。现在opencv官方写的OpencvConfig.cmake 已经百行了。但我也没再回去看现行版的OpencvConfig.cmake了