0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. From 5448ca9d92f7fa197060323a82a5f060ce7c31e7 Mon Sep 17 00:00:00 2001
  2. From: Pierre-Jean Texier <pjtexier@koncepto.io>
  3. Date: Wed, 22 May 2019 10:26:27 +0200
  4. Subject: [PATCH] src/CMakeLists.txt: do not force the build of a shared
  5. library
  6. By definition, projects using CMake which can build either static or shared
  7. libraries use a BUILD_SHARED_LIBS flag to allow selecting between both.
  8. So, let CMake rely on the standard BUILD_SHARED_LIBS variable to decide
  9. whether a static or shared library should be built.
  10. however, we can control the behaviour as follows:
  11. $. cmake -DBUILD_SHARED_LIBS=OFF ...
  12. $. cmake -DBUILS_SHARED_LIBS=ON ...
  13. With Yocto/OE, just add the following option into the libubootenv recipe :
  14. EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON"
  15. Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
  16. [Upstream status: http://patchwork.ozlabs.org/patch/1103437/]
  17. ---
  18. src/CMakeLists.txt | 6 ++----
  19. 1 file changed, 2 insertions(+), 4 deletions(-)
  20. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
  21. index 4b71bc5..0b515f4 100644
  22. --- a/src/CMakeLists.txt
  23. +++ b/src/CMakeLists.txt
  24. @@ -15,17 +15,15 @@ SET(include_HEADERS
  25. include(GNUInstallDirs) # for the CMAKE_INSTALL_LIBDIR variable
  26. -add_library(ubootenv SHARED ${libubootenv_SOURCES} ${include_HEADERS})
  27. +add_library(ubootenv ${libubootenv_SOURCES} ${include_HEADERS})
  28. SET_TARGET_PROPERTIES(ubootenv PROPERTIES VERSION ${VERSION} SOVERSION ${SOVERSION})
  29. -ADD_LIBRARY(ubootenv_static STATIC ${libubootenv_SOURCES} ${include_HEADERS})
  30. -SET_TARGET_PROPERTIES(ubootenv_static PROPERTIES OUTPUT_NAME ubootenv)
  31. add_executable(fw_printenv fw_printenv.c)
  32. target_link_libraries(ubootenv z yaml)
  33. target_link_libraries(fw_printenv ubootenv)
  34. add_custom_target(fw_setenv ALL ${CMAKE_COMMAND} -E create_symlink fw_printenv fw_setenv)
  35. -install (TARGETS ubootenv ubootenv_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
  36. +install (TARGETS ubootenv DESTINATION ${CMAKE_INSTALL_LIBDIR})
  37. install (FILES libuboot.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
  38. install (TARGETS fw_printenv DESTINATION ${CMAKE_INSTALL_BINDIR})
  39. install (PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/fw_setenv DESTINATION ${CMAKE_INSTALL_BINDIR})
  40. --
  41. 2.30.2