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"