hc
2024-07-16 5fbd6e2385615a225453562361c4bdab3b15fda1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
@@ -12,18 +12,16 @@ 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(ubootenv z)
 target_link_libraries(fw_printenv ubootenv)
 target_link_libraries(fw_setenv ubootenv)
 
-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.30.2