From 24de4efef3b5d890cc1fa15650612a283271a621 Mon Sep 17 00:00:00 2001
From: Bruce Wen <bruce87en@gmail.com>
Date: Tue, 6 Aug 2024 13:52:46 +0800
Subject: [PATCH] Fix compile issue when used as submodule

---
 CMakeLists.txt     |  4 ++--
 src/CMakeLists.txt | 16 ++++++++++------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fbf1daa..6de4914 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,8 +28,8 @@ if (NOT CMAKE_BUILD_TYPE)
     "Options are Debug Release RelWithDebInfo MinSizeRel" FORCE)
 endif ()
 
-option (BUILD_SHARED_LIBS "Build as shared library" TRUE)
-if (NOT BUILD_SHARED_LIBS)
+option (BUILD_LIBUSBP_SHARED_LIBS "Build as shared library" ON)
+if (NOT BUILD_LIBUSBP_SHARED_LIBS)
   add_definitions (-DLIBUSBP_STATIC)
   set (PC_MORE_CFLAGS "-DLIBUSBP_STATIC")
 endif ()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 34154e4..44148bf 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -53,17 +53,21 @@ elseif (APPLE)
     mac/iokit_mac.c)
 endif ()
 
-add_library (usbp ${sources})
+if (BUILD_LIBUSBP_SHARED_LIBS)
+add_library (usbp SHARED ${sources})
+else ()
+add_library (usbp STATIC ${sources})
+endif ()
 
-include_directories (
-  "${CMAKE_SOURCE_DIR}/include"
+target_include_directories (usbp PUBLIC
+  "${CMAKE_CURRENT_SOURCE_DIR}/../include"
   "${CMAKE_CURRENT_SOURCE_DIR}"
   "${CMAKE_CURRENT_BINARY_DIR}"
 )
 
 if (WIN32)
   target_link_libraries (usbp setupapi winusb uuid ole32)
-  if (NOT BUILD_SHARED_LIBS)
+  if (NOT BUILD_LIBUSBP_SHARED_LIBS)
     set (PC_MORE_LIBS "-lsetupapi -lwinusb -luuid -lole32")
   endif ()
 elseif (LINUX)
@@ -71,12 +75,12 @@ elseif (LINUX)
   string (REPLACE ";" " " LIBUDEV_CFLAGS "${LIBUDEV_CFLAGS}")
   set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUDEV_CFLAGS}")
   target_link_libraries (usbp udev)
-  if (NOT BUILD_SHARED_LIBS)
+  if (NOT BUILD_LIBUSBP_SHARED_LIBS)
     set (PC_REQUIRES "libudev")
   endif ()
 elseif (APPLE)
   set (link_flags "-framework IOKit -framework CoreFoundation ${link_flags}")
-  if (NOT BUILD_SHARED_LIBS)
+  if (NOT BUILD_LIBUSBP_SHARED_LIBS)
     set (PC_MORE_LIBS "${link_flags}")
   endif ()
 endif ()