File: fix-cmake.patch

package info (click to toggle)
lib60870 2.3.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,476 kB
  • sloc: ansic: 34,756; makefile: 250
file content (124 lines) | stat: -rw-r--r-- 4,930 bytes parent folder | download | duplicates (2)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
diff --git a/lib60870-C/CMakeLists.txt b/lib60870-C/CMakeLists.txt
index 1389d2f..c74ee3e 100644
--- a/lib60870-C/CMakeLists.txt
+++ b/lib60870-C/CMakeLists.txt
@@ -1,4 +1,5 @@
 cmake_minimum_required(VERSION 3.0)
+include(GNUInstallDirs)
 
 # automagically detect if we should cross-compile
 if(DEFINED ENV{TOOLCHAIN})
@@ -35,15 +36,8 @@ option(BUILD_TESTS "Build the tests" ON)
 
 if(BUILD_HAL)
 
-if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-2.28)
-set(WITH_MBEDTLS 1)
-message("mbedtls 2.28 found")
-ELSEIF(EXISTS ${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-3.6)
-set(WITH_MBEDTLS3 1)
-message("mbedtls 3.6 found")
-else()
-message("NOTE: mbedtls 2.28 or 3.6 is required for TLS support!")
-endif(EXISTS ${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-2.28)
+option(WITH_MBEDTLS "Build with Mbed TLS support" OFF)
+option(WITH_MBEDTLS3 "Build with Mbed TLS 3 support" ON)
 
 endif(BUILD_HAL)
 
@@ -59,11 +53,9 @@ include_directories(
 if(WITH_MBEDTLS)
 include_directories(
     ${CMAKE_CURRENT_LIST_DIR}/src/hal/tls/mbedtls
-    ${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-2.28/include
+    /usr/include/mbedtls
 )
 
-file(GLOB tls_SRCS ${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-2.28/library/*.c)
-
 add_definitions(-DCONFIG_CS104_SUPPORT_TLS=1)
 add_definitions(-DMBEDTLS_CONFIG_FILE="mbedtls_config.h")
 
@@ -72,11 +64,9 @@ endif(WITH_MBEDTLS)
 if(WITH_MBEDTLS3)
 include_directories(
 	${CMAKE_CURRENT_LIST_DIR}/src/hal/tls/mbedtls3
-	${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-3.6/include
+	/usr/include/mbedtls
 )
 
-file(GLOB tls_SRCS ${CMAKE_CURRENT_LIST_DIR}/dependencies/mbedtls-3.6/library/*.c)
-
 add_definitions(-DCONFIG_CS104_SUPPORT_TLS=1)
 add_definitions(-DMBEDTLS_CONFIG_FILE="mbedtls_config.h")
 
@@ -124,7 +114,7 @@ endif(BUILD_TESTS)
 
 add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src)
 
-INSTALL(FILES ${API_HEADERS} DESTINATION include/lib60870 COMPONENT Development)
+INSTALL(FILES ${API_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/lib60870" COMPONENT Development)
 
 IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
 INCLUDE(InstallRequiredSystemLibraries)
diff --git a/lib60870-C/src/CMakeLists.txt b/lib60870-C/src/CMakeLists.txt
index 8a6f456..a085762 100644
--- a/lib60870-C/src/CMakeLists.txt
+++ b/lib60870-C/src/CMakeLists.txt
@@ -134,7 +134,8 @@ add_library (lib60870-shared SHARED ${library_SRCS} )
 
 set_target_properties(lib60870-shared PROPERTIES
            OUTPUT_NAME lib60870
-           SOVERSION "${LIB_VERSION_MAJOR}.${LIB_VERSION_MINOR}.${LIB_VERSION_PATCH}"
+           VERSION "${LIB_VERSION_MAJOR}.${LIB_VERSION_MINOR}.${LIB_VERSION_PATCH}"
+           SOVERSION "${LIB_VERSION_MAJOR}"
 	   WINDOWS_EXPORT_ALL_SYMBOLS true
 )
 
@@ -159,7 +160,7 @@ IF(UNIX)
     ${CMAKE_CURRENT_LIST_DIR}/lib60870.pc.in
     ${CMAKE_CURRENT_BINARY_DIR}/lib60870.pc @ONLY
   )
-  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib60870.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
+  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib60870.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
 ENDIF(UNIX)
 IF(MINGW)
   target_link_libraries(lib60870-shared ws2_32 iphlpapi bcrypt)
@@ -169,9 +170,17 @@ IF(MSVC)
   target_link_libraries(lib60870-shared ws2_32 iphlpapi bcrypt)
   target_link_libraries(lib60870 ws2_32 iphlpapi bcrypt)
 ENDIF(MSVC)
+IF(WITH_MBEDTLS OR WITH_MBEDTLS3)
+  find_package(PkgConfig REQUIRED)
+  pkg_check_modules(MbedCrypto REQUIRED IMPORTED_TARGET GLOBAL mbedcrypto)
+  pkg_check_modules(MbedX509 REQUIRED IMPORTED_TARGET GLOBAL mbedx509)
+  pkg_check_modules(MbedTLS REQUIRED IMPORTED_TARGET GLOBAL mbedtls)
+  target_link_libraries(lib60870-shared PkgConfig::MbedCrypto PkgConfig::MbedX509 PkgConfig::MbedTLS)
+  target_link_libraries(lib60870 PkgConfig::MbedCrypto PkgConfig::MbedX509 PkgConfig::MbedTLS)
+ENDIF(WITH_MBEDTLS OR WITH_MBEDTLS3)
 
 install (TARGETS lib60870 lib60870-shared
-	RUNTIME DESTINATION bin COMPONENT Applications
-	ARCHIVE DESTINATION lib COMPONENT Libraries
-    LIBRARY DESTINATION lib COMPONENT Libraries
+	RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT Applications
+	ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Libraries
+    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Libraries
 )
diff --git a/lib60870-C/src/lib60870.pc.in b/lib60870-C/src/lib60870.pc.in
index 1629212..f89903e 100644
--- a/lib60870-C/src/lib60870.pc.in
+++ b/lib60870-C/src/lib60870.pc.in
@@ -1,8 +1,8 @@
 prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
-libdir=@CMAKE_INSTALL_PREFIX@/lib
-sharedlibdir=@CMAKE_INSTALL_PREFIX@/lib
-includedir=@CMAKE_INSTALL_PREFIX@/include
+exec_prefix=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@
+libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+sharedlibdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@
 
 Name: @PROJECT_NAME@
 Description: @CPACK_PACKAGE_DESCRIPTION@