buildroot/package/libubootenv/0001-src-CMakeLists.txt-do-...

55 lines
2.2 KiB
Diff

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 4b71bc5..0b515f4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -15,17 +15,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)
target_link_libraries(ubootenv z yaml)
target_link_libraries(fw_printenv ubootenv)
add_custom_target(fw_setenv ALL ${CMAKE_COMMAND} -E create_symlink fw_printenv fw_setenv)
-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 (PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/fw_setenv DESTINATION ${CMAKE_INSTALL_BINDIR})
--
2.30.2