Minimum "working" version of FindZ80.cmake (brief).

This commit is contained in:
redcode
2022-06-25 01:37:26 +02:00
parent 1731d1b314
commit cb84f355cf

View File

@@ -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