如何制作CMake包?

时间:2017-12-16 01:12:35

标签: cmake

我试图在CMake项目中创建一个包含Crypto ++的CMake包,如果它完成,这将最终在noloader/cryptopp-cmake repo

最终目标是提出一个可运行的跨平台FindCryptoPP.cmake文件,该文件可以放在Crypto ++源目录中以执行以下操作:

find_package(CryptoPP REQUIRED)
target_link_libraries(libbiocoin cryptopp-static)

或者:

find_package(CryptoPP REQUIRED)
target_link_libraries(libbiocoin cryptopp-shared)

在完成的应用程序中,只需要工作即可。"

我目前在CMake应用程序中的最佳解决方案是为平台构建Crypto ++,将生成的存档或库粘贴到lib目录中,在CMakeLists.txt中引用它并以这种方式拉出它,但当然这需要打包为应用程序所针对的每个平台编译的Crypto ++的二进制分发版,即使它没有加密代码也很难维护并且通常很糟糕。

1 个答案:

答案 0 :(得分:1)

提供CMake配置文件会更好。如果未提供find_package查找脚本,FindFoo.cmake将查找配置文件。查找脚本的一个优点是您不会以查找脚本的不同版本或可能相互冲突的版本结束。

请参阅https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html,尤其是Create Layout部分。