From cb84f355cf9a6ae507b9e0f49c4f0cb07480dd96 Mon Sep 17 00:00:00 2001 From: redcode Date: Sat, 25 Jun 2022 01:37:26 +0200 Subject: [PATCH] Minimum "working" version of FindZ80.cmake (brief). --- CMake/FindZ80.cmake | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/CMake/FindZ80.cmake b/CMake/FindZ80.cmake index 1ebc956..6f46b50 100644 --- a/CMake/FindZ80.cmake +++ b/CMake/FindZ80.cmake @@ -10,41 +10,38 @@ include(FindPackageHandleStandardArgs) -find_path( - Z80_INCLUDE_DIR - "Z80.h" - HINTS ${PROJECT_BINARY_DIR} - ${PROJECT_SOURCE_DIR} - PATH_SUFFIXES - "deps/Z80/API" - "dependencies/Z80/API" - "extern/Z80/API" - "external/Z80/API" - "externals/Z80/API" - "kits/Z80/API/" - "Z80/API" - "../Z80/API" -) +find_path(Z80_INCLUDE_DIR "Z80.h") -if(Z80_INCLUDE_DIR) - file(READ "${Z80_INCLUDE_DIR}/Z80.h" _h) +if(Z80_INCLUDE_DIR AND EXISTS "${Z80_INCLUDE_DIR}/Z80.h") + file(READ "${Z80_INCLUDE_DIR}/Z80.h" _) - if(${_h} MATCHES ".*Z80_LIBRARY_VERSION_STRING \"([^\n]*)\".*") + if(_ MATCHES ".*Z80_LIBRARY_VERSION_STRING \"([^\n]*)\".*") set(Z80_VERSION ${CMAKE_MATCH_1}) endif() + + unset(_) endif() +find_library(Z80_LIBRARY Z80) + find_package_handle_standard_args( Z80 - REQUIRED_VARS Z80_INCLUDE_DIR - VERSION_VAR Z80_VERSION -) + FOUND_VAR Z80_FOUND + REQUIRED_VARS Z80_INCLUDE_DIR Z80_VERSION Z80_LIBRARY + VERSION_VAR Z80_VERSION) if(Z80_FOUND AND NOT TARGET Z80) - add_library(Z80 IMPORTED) - target_include_directories(Z80 INTERFACE ${Z80_INCLUDE_DIR}) + find_package(Zeta QUIET) + + add_library(Z80 SHARED IMPORTED) + + set_target_properties( + Z80 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${Z80_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "Zeta" + IMPORTED_LOCATION "${Z80_LIBRARY}") endif() -mark_as_advanced(Z80_INCLUDE_DIR) +mark_as_advanced(Z80_INCLUDE_DIR Z80_LIBRARY) # FindZ80.cmake EOF