Я разрабатываю C программу на основе GLib и OpenBLAS. Я надеюсь, что он будет работать на обеих платформах Windows и linux, поэтому я выбрал CMake для настройки проекта. Вот мой CMakeLists.txt:
# ...
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLib REQUIRED glib-2.0)
message(STATUS "GLib Found:")
message(STATUS " GLib include directories: ${GLib_INCLUDE_DIRS}")
message(STATUS " GLib library directories: ${GLib_LIBRARY_DIRS}")
message(STATUS " GLib libraries: ${GLib_LIBRARIES}")
pkg_check_modules(BLAS REQUIRED openblas)
message(STATUS "OpenBLAS Found:")
message(STATUS " BLAS include directories: ${BLAS_INCLUDE_DIRS}")
message(STATUS " BLAS library directories: ${BLAS_LIBRARY_DIRS}")
message(STATUS " BLAS libraries: ${BLAS_LIBRARIES}")
#...
Работая на MSYS2 / MinGW64, cmake дает:
-- GLib Found:
-- GLib include directories: X:/path/to/msys64/mingw64/include/glib-2.0;X:/path/to/msys64/mingw64/lib/glib-2.0/include;X:/path/to/msys64/mingw64/include
-- GLib library directories: X:/path/to/msys64/mingw64/lib
-- GLib libraries: glib-2.0;intl
-- OpenBLAS Found:
-- BLAS include directories: /mingw64/include/OpenBLAS
-- BLAS library directories:
-- BLAS libraries: openblas
Кажется, что pkg-config использует * nix путь в openblas, что приводит к ошибкам .
Добавить X:/path/to/msys64
в качестве префикса должно работать. Однако msys может быть установлен в разных местах, и я не знаю, как найти путь msys в cmake.
Спасибо за любую помощь заранее.
PS FindBLAS выдает тот же вывод.