Find libepoxy without pkg-config (MSVC + vcpkg); Windows build notes

This commit is contained in:
Gabrieal Jimmy
2026-10-02 15:43:53 -05:00
parent 83a1f16806
commit 5ec1ca43e9
2 changed files with 23 additions and 2 deletions

View File

@@ -23,9 +23,24 @@ include(FetchContent)
# --- Dependencies -----------------------------------------------------------
# System packages are preferred; anything missing is fetched.
find_package(OpenGL REQUIRED)
find_package(PkgConfig REQUIRED)
# libepoxy: pkg-config where available (Linux, MSYS2), else a plain header/library search
# (MSVC + vcpkg ships no pkg-config by default).
if(NOT TARGET PkgConfig::EPOXY)
pkg_check_modules(EPOXY REQUIRED IMPORTED_TARGET epoxy)
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(EPOXY QUIET IMPORTED_TARGET epoxy)
endif()
if(NOT TARGET PkgConfig::EPOXY)
find_path(EPOXY_INCLUDE_DIR epoxy/gl.h)
find_library(EPOXY_LIBRARY NAMES epoxy libepoxy epoxy-0)
if(NOT EPOXY_INCLUDE_DIR OR NOT EPOXY_LIBRARY)
message(FATAL_ERROR "libepoxy not found (install it, e.g. pacman -S libepoxy, "
"pacman -S mingw-w64-ucrt-x86_64-libepoxy or vcpkg install libepoxy)")
endif()
add_library(PkgConfig::EPOXY UNKNOWN IMPORTED)
set_target_properties(PkgConfig::EPOXY PROPERTIES IMPORTED_LOCATION "${EPOXY_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${EPOXY_INCLUDE_DIR}")
endif()
endif()
if(NOT TARGET glfw)