--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -488,20 +488,22 @@ if (STAR_USE_MIMALLOC)
   set(STAR_EXT_LIBS ${STAR_EXT_LIBS} $<IF:$<TARGET_EXISTS:mimalloc-static>,mimalloc-static,mimalloc>)
 endif()
 
+pkg_check_modules(IMGUI REQUIRED IMPORTED_TARGET GLOBAL imgui)
+pkg_check_modules(ZSTD REQUIRED IMPORTED_TARGET GLOBAL libzstd)
+
 find_package(zlib-ng CONFIG REQUIRED)
 add_compile_definitions(WITH_GZFILEOP) # Needed to make zlib-ng have gz
 find_package(PNG REQUIRED)
 find_package(Freetype REQUIRED)
 find_package(cpr CONFIG REQUIRED)
 find_package(OggVorbis REQUIRED)
-find_package(zstd CONFIG REQUIRED)
-find_package(imgui CONFIG REQUIRED)
 if (NOT STAR_SYSTEM_HAIKU)
-	find_package(Opus CONFIG REQUIRED)
+	pkg_check_modules(OPUS REQUIRED IMPORTED_TARGET opus)
 	find_package(re2 CONFIG REQUIRED)
 endif()
 include_directories(SYSTEM
     ${FREETYPE_INCLUDE_DIRS}
+	${IMGUI_INCLUDE_DIRS}
     ${OGGVORBIS_INCLUDE_DIR}
 )
 
@@ -510,10 +512,10 @@ set(STAR_EXT_LIBS ${STAR_EXT_LIBS}
     PNG::PNG
     cpr::cpr
     $<IF:$<TARGET_EXISTS:Freetype::Freetype>,Freetype::Freetype,freetype>
-    $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>
+	zstd
     $<IF:$<TARGET_EXISTS:Opus::opus>,Opus::opus,opus>
     $<IF:$<TARGET_EXISTS:re2::re2>,re2::re2,re2>
-    imgui::imgui
+    imgui
     ${VORBISFILE_LIBRARY}
     ${VORBIS_LIBRARY}
     ${OGG_LIBRARY}
