[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cmake
Subject:    [CMake] Configuration packages & versioning for parallel installations
From:       Robert Dailey <rcdailey.lists () gmail ! com>
Date:       2017-09-06 21:26:32
Message-ID: CAHd499A78=UVoKOkpjjuyX99pBV8qpQnhVZO96OO-DbEWapb6g () mail ! gmail ! com
[Download RAW message or body]

First obvious question is: Should this even be a concern? The
cmake-packages documentation doesn't really touch on versioning, but
there are a couple of concerns I see when you want users to be able to
install (with CMake) multiple versions of the same library
side-by-side:

1. The library files have to use VERSION or SOVERSION properties to
affect their name (this needs to be consistent on all platforms)
2. Debug configurations should alter the name of the library (to
support multi-configuration generators like Visual Studio, for the
most part, but also useful to single-configuration generators)
3. Header file installation: How do you do versioning? How do you have
a foo.h that is version 1.0, and a foo.h that is version 2.0? Does
this even make sense?

One approach I've taken so far is:

1. CMake scripts like config scripts and exported target scripts go
under "share/libraryname-1.0/cmake"
2. Library names follow a format like "libfoo-1.0.0", or
"libfoo-1.0.0-debug" for debug versions of that same library.

I have no answer for include files.
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: \
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information \
on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at \
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic