Exporter.cmake
Provides support for generating CMake packages from dynamic, static and header library products. More...
Since: | Qbs 2.3 |
Properties
- configFileName : string
- packageName : string
- versionFileName : string
Detailed Description
The Exporter.cmake module contains the properties and rules to create a CMake config files from the Export item of a Product.
For instance, suppose you are creating a library. To allow exporting to CMake, you would write something like the following:
DynamicLibrary { name: "mylibrary" qbs.installPrefix: "/opt/mylibrary" Depends { name: "Exporter.cmake" } Exporter.cmake.packageName: "MyLibrary" property string headersInstallDir: "include" // ... Group { name: "API headers" files: ["mylib.h"] qbs.install: true qbs.installDir: headersInstallDir } Group { fileTagsFilter: ["Exporter.cmake.package"] qbs.installDir: "lib/cmake/MyLibrary" } Export { Depends { name: "cpp" } cpp.includePaths: FileInfo.joinPaths( exportingProduct.qbs.installRoot, exportingProduct.qbs.installPrefix, exportingProduct.headersInstallDir) } }
To build against this library, from within your CMake project, you simply use find_package:
find_package(MyLibrary PATHS REQUIRED)
add_executable(Consumer main.cpp)
target_link_libraries(Consumer MyLibrary)
Relevant File Tags
Tag | Since | Description |
---|---|---|
"Exporter.cmake.package" | 2.3.0 | This tag is attached to all generated module files. |
"Exporter.cmake.configFile" | 2.3.0 | This tag is attached to the generated config file. |
"Exporter.cmake.versionFile" | 2.3.0 | This tag is attached to the generated version file. |
Property Documentation
configFileName : string |
The name of the generated config file.
Default: packageName + "Config.cmake"
packageName : string |
The name of the CMake package.
Default: Product.targetName
versionFileName : string |
The name of the generated version file.
Default: packageName + "ConfigVersion.cmake"