From afde3a0e0d2bc49a5d890d16611432aa6eb76428 Mon Sep 17 00:00:00 2001 From: Maxime Gauduin Date: Thu, 22 Dec 2022 15:38:28 +0100 Subject: [PATCH] try for system libmgba first --- CMake/FindLIBMGBA.cmake | 15 +++++++++++++++ CMakeLists.txt | 7 +++++-- 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 CMake/FindLIBMGBA.cmake diff --git a/CMake/FindLIBMGBA.cmake b/CMake/FindLIBMGBA.cmake new file mode 100644 index 0000000000..21e2c84445 --- /dev/null +++ b/CMake/FindLIBMGBA.cmake @@ -0,0 +1,15 @@ +find_path(LIBMGBA_INCLUDE_DIR flags.h PATH_SUFFIXES mgba) +find_library(LIBMGBA_LIBRARY mgba) +mark_as_advanced(LIBMGBA_INCLUDE_DIR LIBMGBA_LIBRARY) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LIBMGBA DEFAULT_MSG + LIBMGBA_INCLUDE_DIR LIBMGBA_LIBRARY) + +if(LIBMGBA_FOUND AND NOT mGBA::mgba) + add_library(mGBA::mgba UNKNOWN IMPORTED) + set_target_properties(mGBA::mgba PROPERTIES + IMPORTED_LOCATION "${LIBMGBA_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${LIBMGBA_INCLUDE_DIR}" + ) +endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 799ddcb238..bf3a50789f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -944,8 +944,11 @@ if(NOT ENABLE_QT) set(USE_MGBA 0) endif() if(USE_MGBA) - message(STATUS "Using static libmgba from Externals") - add_subdirectory(Externals/mGBA) + find_package(LIBMGBA) + if(NOT LIBMGBA_FOUND) + message(STATUS "Using static libmgba from Externals") + add_subdirectory(Externals/mGBA) + endif() endif() find_package(SYSTEMD)