aboutsummaryrefslogtreecommitdiff
path: root/ports/libjuice/fix-for-vcpkg.patch
blob: 6bbfd837f05b786e65f938010193ade4220420e9 (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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index be72a2a..8a631e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,6 +41,9 @@ set(LIBJUICE_SOURCES
 set(LIBJUICE_HEADERS
 	${CMAKE_CURRENT_SOURCE_DIR}/include/juice/juice.h
 )
+set(LIBJUICE_PRIVATE_HEADERS
+   ${CMAKE_CURRENT_SOURCE_DIR}/src/socket.h
+)
 
 set(TESTS_SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/test/main.c
@@ -54,10 +57,10 @@ set(TESTS_SOURCES
 set(THREADS_PREFER_PTHREAD_FLAG ON)
 find_package(Threads REQUIRED)
 
-add_library(juice SHARED ${LIBJUICE_SOURCES})
+add_library(juice ${LIBJUICE_SOURCES})
 set_target_properties(juice PROPERTIES VERSION ${PROJECT_VERSION})
 
-target_include_directories(juice PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
+target_include_directories(juice PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
 target_include_directories(juice PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/juice)
 target_include_directories(juice PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
 target_link_libraries(juice PUBLIC Threads::Threads)
@@ -77,10 +80,14 @@ endif()
 
 if (USE_NETTLE)
 	find_package(Nettle REQUIRED)
+	find_path(NETTLE_INCLUDE_PATH "nettle/hmac.h" REQUIRED)
+	target_include_directories(juice PRIVATE ${NETTLE_INCLUDE_PATH})
+	target_include_directories(juice-static PRIVATE ${NETTLE_INCLUDE_PATH})
+
     target_compile_definitions(juice PRIVATE USE_NETTLE=1)
-    target_link_libraries(juice PRIVATE Nettle::Nettle)
+    target_link_libraries(juice PRIVATE nettle)
     target_compile_definitions(juice-static PRIVATE USE_NETTLE=1)
-    target_link_libraries(juice-static PRIVATE Nettle::Nettle)
+    target_link_libraries(juice-static PRIVATE nettle)
 else()
     target_compile_definitions(juice PRIVATE USE_NETTLE=0)
     target_compile_definitions(juice-static PRIVATE USE_NETTLE=0)
@@ -100,8 +107,13 @@ endif()
 add_library(LibJuice::LibJuice ALIAS juice)
 add_library(LibJuice::LibJuiceStatic ALIAS juice-static)
 
-install(TARGETS juice LIBRARY DESTINATION lib)
+install(TARGETS juice EXPORT libjuice-config
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
 install(FILES ${LIBJUICE_HEADERS} DESTINATION include/juice)
+install(FILES ${LIBJUICE_PRIVATE_HEADERS} DESTINATION include/juice/src)
 
 if(NOT MSVC)
 	target_compile_options(juice PRIVATE -Wall -Wextra)
@@ -128,3 +140,8 @@ if(NOT NO_TESTS)
 	target_link_libraries(juice-tests juice)
 endif()
 
+install(
+  EXPORT libjuice-config
+  NAMESPACE LibJuice::
+  DESTINATION share/cmake/libjuice
+)