brasil cmake cpack

brasil - Cómo instalar su módulo CMake-Find personalizado



c-pack (3)

El directorio del módulo CMake es parte del árbol de instalación de CMake y, por lo tanto, no debería intentar agregar nada allí.

El directorio del módulo CMake contiene módulos que han sido escritos o al menos revisados ​​por Kitware, y agregar el suyo allí daría la impresión a los usuarios de su proyecto de que este también fue el caso para su proyecto.

Sería mejor instalar FindMyLib.cmake en uno de los lugares buscados por find_package :

<prefix>/ (Windows) <prefix>/(cmake|CMake)/ (Windows) <prefix>/<name>*/ (Windows) <prefix>/<name>*/(cmake|CMake)/ (Windows) <prefix>/(lib/<arch>|lib|share)/cmake/<name>*/ (Unix) <prefix>/(lib/<arch>|lib|share)/<name>*/ (Unix) <prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/ (Unix) <prefix>/<name>.framework/Resources/ (Apple) <prefix>/<name>.framework/Resources/CMake/ (Apple) <prefix>/<name>.framework/Versions/*/Resources/ (Apple) <prefix>/<name>.framework/Versions/*/Resources/CMake/ (Apple) <prefix>/<name>.app/Contents/Resources/ (Apple) <prefix>/<name>.app/Contents/Resources/CMake/ (Apple)


Consulte la documentación de find_package para obtener todos los detalles sobre cómo find_package busca. También el tutorial de empaque CMake es útil en este caso.

Configuro y empaqueto mi biblioteca usando CMake y CPack. Escribí mi propio módulo de búsqueda FindMyLib.cmake.

¿Cómo le digo a CMake / CPack que agregue este archivo al directorio del módulo CMake, para que los futuros desarrolladores simplemente puedan especificar FIND_PACKAGE (MyLib) para usar mi biblioteca?


La mejor manera de permitir

los futuros desarrolladores pueden simplemente especificar FIND_PACKAGE (MyLib) para usar mi biblioteca

es escribir un archivo de configuración de paquete (-config.cmake), no un módulo Buscar. El archivo de configuración del paquete se debe instalar en una de las carpetas donde busca el módulo FindPackage (algo como / lib / package / o / lib / cmake / package, prefiriendo el segundo)

El módulo FindPackage cargará automáticamente el archivo de configuración si puede encontrarlo allí.

El wiki de CMake tiene instrucciones más detalladas en https://gitlab.kitware.com/cmake/community/wikis/doc/tutorials/Packaging


Puede establecer CMAKE_MODULE_PATH y distribuir su FindFoo.cmake personalizado con su proyecto. Por ejemplo:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")