The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.8 KiB
95 lines
2.8 KiB
5 years ago
|
# fail noisily if attempt to use this file without setting:
|
||
|
# cmake_minimum_required(VERSION ${CMAKE_VERSION})
|
||
|
# project(... LANGUAGES ...)
|
||
|
|
||
|
cmake_policy(SET CMP0000 NEW)
|
||
|
|
||
|
set(PACKAGE_FOUND FALSE)
|
||
|
set(_packageName "${NAME}")
|
||
|
string(TOUPPER "${_packageName}" PACKAGE_NAME)
|
||
|
|
||
|
while(TRUE)
|
||
|
find_package("${NAME}" QUIET COMPONENTS ${COMPS})
|
||
|
|
||
|
# ARCHS has to be set via the CMD interface
|
||
|
if(${_packageName}_FOUND OR ${PACKAGE_NAME}_FOUND OR "${ARCHS}" STREQUAL "")
|
||
|
break()
|
||
|
endif()
|
||
|
|
||
|
list(GET ARCHS 0 CMAKE_LIBRARY_ARCHITECTURE)
|
||
|
list(REMOVE_AT ARCHS 0)
|
||
|
endwhile()
|
||
|
|
||
|
if(${_packageName}_FOUND OR ${PACKAGE_NAME}_FOUND)
|
||
|
set(PACKAGE_FOUND TRUE)
|
||
|
|
||
|
# Check the following variables:
|
||
|
# FOO_VERSION
|
||
|
# Foo_VERSION
|
||
|
# FOO_VERSION_STRING
|
||
|
# Foo_VERSION_STRING
|
||
|
if(NOT DEFINED PACKAGE_VERSION)
|
||
|
if(DEFINED ${_packageName}_VERSION)
|
||
|
set(PACKAGE_VERSION "${${_packageName}_VERSION}")
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_VERSION)
|
||
|
set(PACKAGE_VERSION "${${PACKAGE_NAME}_VERSION}")
|
||
|
elseif(DEFINED ${_packageName}_VERSION_STRING)
|
||
|
set(PACKAGE_VERSION "${${_packageName}_VERSION_STRING}")
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_VERSION_STRING)
|
||
|
set(PACKAGE_VERSION "${${PACKAGE_NAME}_VERSION_STRING}")
|
||
|
endif()
|
||
|
endif()
|
||
|
|
||
|
# Check the following variables:
|
||
|
# FOO_LIBRARIES
|
||
|
# Foo_LIBRARIES
|
||
|
# FOO_LIBS
|
||
|
# Foo_LIBS
|
||
|
set(libs)
|
||
|
if(DEFINED ${_packageName}_LIBRARIES)
|
||
|
set(libs ${_packageName}_LIBRARIES)
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_LIBRARIES)
|
||
|
set(libs ${PACKAGE_NAME}_LIBRARIES)
|
||
|
elseif(DEFINED ${_packageName}_LIBS)
|
||
|
set(libs ${_packageName}_LIBS)
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_LIBS)
|
||
|
set(libs ${PACKAGE_NAME}_LIBS)
|
||
|
endif()
|
||
|
|
||
|
# Check the following variables:
|
||
|
# FOO_INCLUDE_DIRS
|
||
|
# Foo_INCLUDE_DIRS
|
||
|
# FOO_INCLUDES
|
||
|
# Foo_INCLUDES
|
||
|
# FOO_INCLUDE_DIR
|
||
|
# Foo_INCLUDE_DIR
|
||
|
set(includes)
|
||
|
if(DEFINED ${_packageName}_INCLUDE_DIRS)
|
||
|
set(includes ${_packageName}_INCLUDE_DIRS)
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_INCLUDE_DIRS)
|
||
|
set(includes ${PACKAGE_NAME}_INCLUDE_DIRS)
|
||
|
elseif(DEFINED ${_packageName}_INCLUDES)
|
||
|
set(includes ${_packageName}_INCLUDES)
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_INCLUDES)
|
||
|
set(includes ${PACKAGE_NAME}_INCLUDES)
|
||
|
elseif(DEFINED ${_packageName}_INCLUDE_DIR)
|
||
|
set(includes ${_packageName}_INCLUDE_DIR)
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_INCLUDE_DIR)
|
||
|
set(includes ${PACKAGE_NAME}_INCLUDE_DIR)
|
||
|
endif()
|
||
|
|
||
|
# Check the following variables:
|
||
|
# FOO_DEFINITIONS
|
||
|
# Foo_DEFINITIONS
|
||
|
set(definitions)
|
||
|
if(DEFINED ${_packageName}_DEFINITIONS)
|
||
|
set(definitions ${_packageName}_DEFINITIONS)
|
||
|
elseif(DEFINED ${PACKAGE_NAME}_DEFINITIONS)
|
||
|
set(definitions ${PACKAGE_NAME}_DEFINITIONS)
|
||
|
endif()
|
||
|
|
||
|
set(PACKAGE_INCLUDE_DIRS "${${includes}}")
|
||
|
set(PACKAGE_DEFINITIONS "${${definitions}}")
|
||
|
set(PACKAGE_LIBRARIES "${${libs}}")
|
||
|
endif()
|