nanaxspeed.blogg.se

Cmake install library
Cmake install library









  1. CMAKE INSTALL LIBRARY HOW TO
  2. CMAKE INSTALL LIBRARY CODE

The contents of the file will be made available to the calling script of find_package(). We just need to provide the my_library-config.cmake file. Set(MY_LIBRARY_VERSION $ - matches this expression. There are six kinds of target files that may be installed: ARCHIVE, LIBRARY, RUNTIME. Set(MY_LIBRARY_VERSION_MINOR 0 CACHE STRING "minor version" FORCE) The TARGETS form specifies rules for installing targets from a project. Set(MY_LIBRARY_VERSION_MAJOR 1 CACHE STRING "major version" FORCE) # define library version (update: apparently you can also do it in project()!) The second if statement in the CMakeLists.txt file copies these libraries from the installation location to the executable location to satisfy this. The root CMakeLists.txt can look as follows: cmake_minimum_required(VERSION 3.0) This allows a seperation of CMake’s config files and other, unrelated configuration macros etc. The configurations will be set in the file which will be preprocessed to config_impl.hpp and included by config.hpp. The root CMakeLists.txt defines configuration options and adds the subdirectories.

CMAKE INSTALL LIBRARY CODE

The library, the examples and the tool each has their own CMakeLists.txt defining the target and related code in their subdirectory.

cmake install library

It also comes with some examples, a tool and unit tests. So we have a library consisting of various header and source files. An INTERFACE library target does not directly create build output, though it may have properties set on it and it may be installed, exported and imported. The setupįor the scope of the tutorial, let’s say we have a library that has the following CMake structure: - include/ Throughout this post, I’ll be assuming a 3.x CMake version and an already existing CMake project. In particular, the system will be able to handle multiple installed versions and multiple configurations.

CMAKE INSTALL LIBRARY HOW TO

In this post, I will show you how to install your library so that it can be used easily by other projects. As of version 0.5 my memory library now provides support for system-wide installation and CMake’s find_package().īecause I’ve spent hours of trial and error to come up with it, I’ll document it here.











Cmake install library