shstk_find_header fixes

This commit is contained in:
2020-09-05 01:22:43 +03:00
parent c350c61e36
commit 42d7579d77

View File

@@ -33,7 +33,7 @@ include(DeployMacros)
macro(shstk_define_option name desc) macro(shstk_define_option name desc)
if (NOT DEFINED ${name}) if (NOT DEFINED ${name})
option(${name} ${desc} ${ARGN}) option(${name} ${desc} ${ARGN})
message("define option ${name} ${desc} ${ARGN}") #message("define option ${name} ${desc} ${ARGN}")
endif() endif()
endmacro() endmacro()
@@ -117,7 +117,7 @@ macro(shstk_begin_project domain module)
set(BUILDING_${domain} ON CACHE BOOL "build ${domain}") set(BUILDING_${domain} ON CACHE BOOL "build ${domain}")
set(${domain}_ROOT_SRC "${CMAKE_CURRENT_SOURCE_DIR}" CACHE STRING "") set(${domain}_ROOT_SRC "${CMAKE_CURRENT_SOURCE_DIR}" CACHE STRING "")
set(${domain}_ROOT_BIN "${CMAKE_CURRENT_BINARY_DIR}" CACHE STRING "") set(${domain}_ROOT_BIN "${CMAKE_CURRENT_BINARY_DIR}" CACHE STRING "")
set(SET_TARGETS_${domain} OFF CACHE BOOL "") set(SET_TARGETS_${domain} OFF CACHE BOOL "" FORCE)
if(STATIC_LIB) if(STATIC_LIB)
add_definitions(-D${module}_STATIC_DEFINE) add_definitions(-D${module}_STATIC_DEFINE)
@@ -305,12 +305,21 @@ macro(shstk_set_find_dirs domain)
endmacro() endmacro()
macro(shstk_find_header module filename add_find_info) macro(shstk_find_header domain module filename add_find_info)
if(NOT ${module}_VERSION) if(NOT ${module}_VERSION)
find_file(${domain}_H_INCLUDE "${filename}" HINTS ${${domain}_INCDIR})
if (NOT ${domain}_H_INCLUDE)
message(FATAL_ERROR "Can`t find ${module} version file (\"${filename}\")!")
endif()
#if (DEFINED ANDROID_PLATFORM)
# set(CD_INCLUDES ${ANDROID_SYSTEM_LIBRARY_PATH}/usr/include/${domain})
#else()
get_filename_component(${domain}_INCLUDES ${${domain}_H_INCLUDE} PATH)
#endif()
include(CheckSymbolExists) include(CheckSymbolExists)
check_symbol_exists(${module}_VERSION_NAME "${${module}_INCLUDES}/${filename}" _version_found) check_symbol_exists(${module}_VERSION_NAME "${${domain}_INCLUDES}/${filename}" _version_found)
if (_version_found) if (_version_found)
file(STRINGS "${${module}_INCLUDES}/${filename}" _version REGEX "^[ \t]*#define[ \t]+${module}_VERSION_NAME+[ \t]+.*$") file(STRINGS "${${domain}_INCLUDES}/${filename}" _version REGEX "^[ \t]*#define[ \t]+${module}_VERSION_NAME+[ \t]+.*$")
string(REGEX MATCH "\".*\"" _version ${_version}) string(REGEX MATCH "\".*\"" _version ${_version})
string(LENGTH ${_version} SL) string(LENGTH ${_version} SL)
math(EXPR SL ${SL}-2) math(EXPR SL ${SL}-2)
@@ -325,7 +334,7 @@ macro(shstk_find_header module filename add_find_info)
message(STATUS "Found ${module}${_afi} (version \"${${module}_VERSION}\")") message(STATUS "Found ${module}${_afi} (version \"${${module}_VERSION}\")")
endif() endif()
else() else()
message(FATAL_ERROR "Can`t find ${module} version file (\"${filename}\")!") message(FATAL_ERROR "Can`t find ${module}_VERSION_NAME in \"${filename}\"!")
endif() endif()
endif() endif()
if(${module}_FIND_VERSION VERSION_GREATER ${module}_VERSION) if(${module}_FIND_VERSION VERSION_GREATER ${module}_VERSION)