blob: 2a234af78cb5875d26a024ac22a8785b8002146e [file] [log] [blame]
From 5448ca9d92f7fa197060323a82a5f060ce7c31e7 Mon Sep 17 00:00:00 2001
From: Pierre-Jean Texier <pjtexier@koncepto.io>
Date: Wed, 22 May 2019 10:26:27 +0200
Subject: [PATCH] src/CMakeLists.txt: do not force the build of a shared
library
By definition, projects using CMake which can build either static or shared
libraries use a BUILD_SHARED_LIBS flag to allow selecting between both.
So, let CMake rely on the standard BUILD_SHARED_LIBS variable to decide
whether a static or shared library should be built.
however, we can control the behaviour as follows:
$. cmake -DBUILD_SHARED_LIBS=OFF ...
$. cmake -DBUILS_SHARED_LIBS=ON ...
With Yocto/OE, just add the following option into the libubootenv recipe :
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON"
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
[Upstream status: http://patchwork.ozlabs.org/patch/1103437/]
---
src/CMakeLists.txt | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a04dd11..3a2115d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -12,17 +12,15 @@ SET(include_HEADERS
include(GNUInstallDirs) # for the CMAKE_INSTALL_LIBDIR variable
-add_library(ubootenv SHARED ${libubootenv_SOURCES} ${include_HEADERS})
+add_library(ubootenv ${libubootenv_SOURCES} ${include_HEADERS})
SET_TARGET_PROPERTIES(ubootenv PROPERTIES VERSION ${VERSION} SOVERSION ${SOVERSION})
-ADD_LIBRARY(ubootenv_static STATIC ${libubootenv_SOURCES} ${include_HEADERS})
-SET_TARGET_PROPERTIES(ubootenv_static PROPERTIES OUTPUT_NAME ubootenv)
add_executable(fw_printenv fw_printenv.c)
add_executable(fw_setenv fw_setenv.c)
target_link_libraries(fw_printenv ubootenv z)
target_link_libraries(fw_setenv ubootenv z)
-install (TARGETS ubootenv ubootenv_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install (TARGETS ubootenv DESTINATION ${CMAKE_INSTALL_LIBDIR})
install (FILES libuboot.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install (TARGETS fw_printenv DESTINATION ${CMAKE_INSTALL_BINDIR})
install (TARGETS fw_setenv DESTINATION ${CMAKE_INSTALL_BINDIR})
--
2.25.1