summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-support/avro/avro-c++/0001-enable-cross-compilation-and-pkgconfig.patch
blob: 7355ad5f147a84e1b68c3107f0353da68ab5f571 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt
index 28a272b15..06ec38382 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,6 +25,7 @@ if (NOT DEFINED CMAKE_CXX_STANDARD)
 endif()
 
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(PKGCONFIG_SUPPORT ON)
 
 cmake_policy (SET CMP0042 NEW)
 
@@ -107,6 +108,12 @@ set (AVRO_SOURCE_FILES
         impl/Resolver.cc impl/Validator.cc
         )
 
+if (PKGCONFIG_SUPPORT)
+    install(FILES "avrocpp.pc"
+        DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+      message("${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+endif()
+
 add_library (avrocpp SHARED ${AVRO_SOURCE_FILES})
 
 set_property (TARGET avrocpp
@@ -141,6 +148,7 @@ macro (gen file ns)
     add_custom_target (${file}_hh DEPENDS ${file}.hh)
 endmacro (gen)
 
+if (NOT DEFINED YOCTO_BUILD)
 gen (empty_record empty)
 gen (bigrecord testgen)
 gen (bigrecord_r testgen_r)
@@ -196,13 +204,16 @@ include (InstallRequiredSystemLibraries)
 set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}")
 
 include (CPack)
+endif ()
 
 install (TARGETS avrocpp avrocpp_s
     LIBRARY DESTINATION lib
     ARCHIVE DESTINATION lib
     RUNTIME DESTINATION lib)
 
+if (NOT DEFINED YOCTO_BUILD)
 install (TARGETS avrogencpp RUNTIME DESTINATION bin)
+endif ()
 
 install (DIRECTORY api/ DESTINATION include/avro
     FILES_MATCHING PATTERN *.hh)
@@ -212,3 +223,4 @@ if (NOT CMAKE_BUILD_TYPE)
       "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
       FORCE)
 endif (NOT CMAKE_BUILD_TYPE)
+
diff --git a/lang/c++/avrocpp.pc b/lang/c++/avrocpp.pc
new file mode 100644
index 000000000..471f1863c
--- /dev/null
+++ b/avrocpp.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib
+includedir=${prefix}/include/avro
+
+Name: avrocpp
+Description: C++ bindings for Apache avro
+Version: 1.0.0
+Libs: -L${libdir} -lavrocpp
+Cflags: -I${includedir}
+