summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/libcomps
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/libcomps')
-rw-r--r--meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch132
-rw-r--r--meta/recipes-devtools/libcomps/libcomps_0.1.21.bb3
2 files changed, 133 insertions, 2 deletions
diff --git a/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch b/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch
new file mode 100644
index 0000000000..9a90e05888
--- /dev/null
+++ b/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch
@@ -0,0 +1,132 @@
1From 702ec1423fb9b53244b902923fd87ef19b63a7f5 Mon Sep 17 00:00:00 2001
2From: Moritz Haase <Moritz.Haase@bmw.de>
3Date: Mon, 23 Jun 2025 08:32:18 +0200
4Subject: [PATCH] libcomps: Support builds with CMake 4+
5
6- Bump minimum required version to 3.10, the lowest one CMake 4+ don't complain
7 about. It's also possible to use 3.5, but that results in a deprecation
8 warning. The 'cmake_minimum_required()' invocation has been moved before the
9 initial 'project()' call as CMake complained about the wrong order.
10
11- Set policy CMP0148 [0] to OLD to unblock build without additional changes.
12 Eventually, the usage of the 'PythonInterp' and 'PythonLibs' find modules will
13 be need to be updated to use 'Python3' instead.
14
15- Set policy CMP0175 [1] to NEW and fix warnings.
16
17- Fix the 'No TARGET ... has been created in this directory' error in
18 'src/python'.
19
20- Fix 'Utility target <foo> must not be used as the target of a
21 target_link_libraries call' errors (see [2]).
22
23- Mark the 'check' library as required when tests are enabled to prevent test
24 targets from linking a non-existing library in case it's not installed.
25
26[0]: https://cmake.org/cmake/help/latest/policy/CMP0148.html
27[1]: https://cmake.org/cmake/help/latest/policy/CMP0175.html
28[2]: https://cmake.org/cmake/help/latest/policy/CMP0039.html
29
30Upstream-Status: Backport [702ec1423fb9b53244b902923fd87ef19b63a7f5]
31Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
32---
33 README.md | 3 +--
34 libcomps/CMakeLists.txt | 7 +++++--
35 libcomps/src/python/docs/CMakeLists.txt | 3 ++-
36 libcomps/src/python/pycopy.cmake | 7 ++++---
37 libcomps/tests/CMakeLists.txt | 2 --
38 5 files changed, 12 insertions(+), 10 deletions(-)
39
40diff --git a/README.md b/README.md
41index 7f8314dd3f70d131c4d399f069d3d7bb77dcff02..24bf8a226d50b7b9b5372f98b52650ff4467c3d6 100644
42--- a/README.md
43+++ b/README.md
44@@ -27,7 +27,7 @@ for python bindings:
45
46 for C library tests:
47
48-* check http://check.sourceforge.net/
49+* check https://github.com/libcheck/check
50
51 for documentation build:
52
53@@ -128,4 +128,3 @@ Here's the most direct way to get your work merged into the project.
54
55 1. Push the branch to your fork
56 1. Send a pull request for your branch
57-
58diff --git a/libcomps/CMakeLists.txt b/libcomps/CMakeLists.txt
59index d8d628af1a8b863b6173ff11615a59aa58d8235e..3957e63a311fc42c85516c0e66fc6f598194cb8f 100644
60--- a/libcomps/CMakeLists.txt
61+++ b/libcomps/CMakeLists.txt
62@@ -1,5 +1,8 @@
63+cmake_minimum_required (VERSION 3.10)
64 project(libcomps C)
65-cmake_minimum_required (VERSION 2.8.10)
66+
67+cmake_policy(SET CMP0148 OLD)
68+cmake_policy(SET CMP0175 NEW)
69
70 include (GNUInstallDirs)
71 include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
72@@ -32,7 +35,7 @@ include_directories("${PROJECT_SOURCE_DIR}/src")
73 #include_directories("${PROJECT_SOURCE_DIR}/src/libcomps")
74
75 if (ENABLE_TESTS)
76- find_library(CHECK_LIBRARY NAMES check)
77+ find_library(CHECK_LIBRARY REQUIRED NAMES check)
78 endif()
79 find_library(EXPAT_LIBRARY NAMES expat)
80
81diff --git a/libcomps/src/python/docs/CMakeLists.txt b/libcomps/src/python/docs/CMakeLists.txt
82index c4b388cb4a4bb2d962a625a448efcfee14ef71b3..9c92b2dacf4a2cb76f461b8038217cc8e895a369 100644
83--- a/libcomps/src/python/docs/CMakeLists.txt
84+++ b/libcomps/src/python/docs/CMakeLists.txt
85@@ -26,7 +26,8 @@ add_dependencies(pydocs pycomps)
86 include(../pycopy.cmake)
87 add_custom_command(TARGET pydocs PRE_BUILD COMMAND set -E $ENV{LD_LIBRARY_PATH} "${LIBCOMPS_OUT}:$ENV{LD_LIBRARY_PATH}")
88
89-add_custom_command(TARGET pydocs COMMAND ${PYTHON_EXECUTABLE} ${SPHINX_EXECUTABLE} -E -b html
90+add_custom_command(TARGET pydocs POST_BUILD
91+ COMMAND ${PYTHON_EXECUTABLE} ${SPHINX_EXECUTABLE} -E -b html
92 "${CMAKE_CURRENT_SOURCE_DIR}/doc-sources/"
93 "${CMAKE_CURRENT_BINARY_DIR}/html/"
94 COMMENT "LDLP $ENV{LD_LIBRARY_PATH}")
95diff --git a/libcomps/src/python/pycopy.cmake b/libcomps/src/python/pycopy.cmake
96index b22f83595c09b4af8f1c2e49ddbd7755f4c97f0b..0e99e38d791ffd13496bd8fbbf61cd7701e543b7 100644
97--- a/libcomps/src/python/pycopy.cmake
98+++ b/libcomps/src/python/pycopy.cmake
99@@ -6,9 +6,10 @@ math (EXPR len "${len} - 1")
100
101 #set(pycopy "py${pversion}-copy")
102
103-#if (NOT TARGET ${pycopy})
104+if (NOT TARGET ${pycopy})
105+ add_custom_target(${pycopy} DEPENDS pycomps)
106+endif()
107
108-#add_custom_target(${pycopy} DEPENDS pycomps)
109 set (pycomps_SRCDIR "${PROJECT_SOURCE_DIR}/src/python/src/")
110 set (pycomps_TESTDIR "${PROJECT_SOURCE_DIR}/src/python/tests/")
111 set (pycomps_LIBPATH ${PYCOMPS_LIB_PATH})#"${PROJECT_BINARY_DIR}/src/python/src/python${pversion}")
112@@ -16,7 +17,7 @@ set (pycomps_LIBPATH ${PYCOMPS_LIB_PATH})#"${PROJECT_BINARY_DIR}/src/python/src/
113 #add_custom_command(TARGET pycopy PRE_BUILD COMMAND ${CMAKE_COMMAND} -E
114 # make_directory "${CP_DST}")
115
116-add_custom_command(TARGET ${pycopy} COMMAND ${CMAKE_COMMAND} -E
117+add_custom_command(TARGET ${pycopy} POST_BUILD COMMAND ${CMAKE_COMMAND} -E
118 make_directory ${pycomps_LIBPATH}/libcomps/comps/)
119
120 foreach(x RANGE 0 ${len})
121diff --git a/libcomps/tests/CMakeLists.txt b/libcomps/tests/CMakeLists.txt
122index 23ced7450afa02977c63f9374a4fee33ae596d98..9d6e428e18d5a234c7be74d957c25961dea30050 100644
123--- a/libcomps/tests/CMakeLists.txt
124+++ b/libcomps/tests/CMakeLists.txt
125@@ -87,7 +87,5 @@ add_custom_target(test_parse_run
126 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
127 DEPENDS test_parse
128 COMMENT "Running comps_parse test")
129-target_link_libraries(test_parse_run libcomps)
130-target_link_libraries(test_comps_run libcomps)
131
132 add_dependencies(ctest test_comps_run test_parse_run)
diff --git a/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb b/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb
index 91170dfbed..9429c703e1 100644
--- a/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb
+++ b/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb
@@ -5,13 +5,12 @@ LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6 6
7SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;protocol=https \ 7SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;protocol=https \
8 file://0001-libcomps-Support-builds-with-CMake-4.patch \
8 file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ 9 file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
9 " 10 "
10 11
11SRCREV = "2e973ce22698dd64f472180e3a689755268fb06b" 12SRCREV = "2e973ce22698dd64f472180e3a689755268fb06b"
12 13
13S = "${WORKDIR}/git"
14
15inherit cmake setuptools3-base 14inherit cmake setuptools3-base
16 15
17DEPENDS = "expat libxml2 zlib" 16DEPENDS = "expat libxml2 zlib"