[CMake] Approach to both shared and static lib (again, sorry)

Mateusz Loskot mateusz at loskot.net
Sat May 19 15:49:31 EDT 2018


On 19 May 2018 at 15:00, Elvis Stansvik <elvis.stansvik at orexplore.com> wrote:
> I know this has been asked before, but I've never seen a really
> authoritative answer.
>
> Say I have a simple single-library project.
>
> The advise I've seen is to not pass SHARED or STATIC to the
> add_library(..), but instead let the user pass
> -DBUILD_SHARED_LIBS:BOOL=ON/OFF to build the library as either shared
> or static.
>
> That's fine, but leads to packagers having to do ugly things like e.g:
>
>     https://salsa.debian.org/hle/dlib/blob/master/debian/rules
>
> That is, do two separate configure/build/install, in order to get both
> a shared and static version.

IMHO, there is nothing ugly in this approach.
Not every system allows (or recomments) to generate both,
static and shared, from the same object files.
Why not view static vs shared as the similar to 32 vs 64 bit?

Best regards,
-- 
Mateusz Loskot, http://mateusz.loskot.net


More information about the CMake mailing list