36 строки
1.2 KiB
CMake
36 строки
1.2 KiB
CMake
# Distributed under the GDAL/OGR MIT style License. See accompanying
|
|
# file LICENSE.TXT.
|
|
|
|
#[=======================================================================[.rst:
|
|
TargetPublicHeader
|
|
------------------
|
|
|
|
|
|
#]=======================================================================]
|
|
|
|
function(_convert_to_full_path _result_var _files_var)
|
|
set(${_result_var})
|
|
foreach(f IN LISTS ${_files_var})
|
|
if(IS_ABSOLUTE ${f} OR
|
|
f MATCHES "^\$") # expressions
|
|
list(APPEND ${_result_var} ${f})
|
|
else()
|
|
get_filename_component(r ${f} ABSOLUTE)
|
|
list(APPEND ${_result_var} ${r})
|
|
endif()
|
|
endforeach()
|
|
set(${_result_var} ${${_result_var}} PARENT_SCOPE)
|
|
endfunction()
|
|
|
|
function(target_public_header)
|
|
set(_options BUILTIN)
|
|
set(_oneValueArgs TARGET)
|
|
set(_multiValueArgs HEADERS)
|
|
cmake_parse_arguments(_PUBLIC "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
|
|
if(NOT _PUBLIC_HEADERS)
|
|
message(FATAL_ERROR "add_public_header: HEADERS is mandatory argument")
|
|
endif()
|
|
_convert_to_full_path(FILE_LISTS _PUBLIC_HEADERS)
|
|
set_property(TARGET ${GDAL_LIB_TARGET_NAME} APPEND PROPERTY PUBLIC_HEADER "${FILE_LISTS}")
|
|
endfunction()
|