Warning, /network/telepathy-logger-qt/cmake/modules/TpLoggerQtMacros.cmake is written in an unsupported language. File is not indexed.
0001 # - Common macros for TelepathyLoggerQt 0002 0003 # Copyright (c) 2014, Daniel Vrátil <dvratil@redhat.com> 0004 # 0005 # Redistribution and use is allowed according to the terms of the BSD license. 0006 0007 0008 0009 # Based on ecm_generate_headers from extra-cmake-modules 0010 # Unlike the ECM version, this one can find "lower-case.h" header files for given 0011 # CamelCase headers 0012 function(tplqt_generate_headers camelcase_headers_var) 0013 set(options) 0014 set(oneValueArgs REQUIRED_HEADERS) 0015 set(multiValueArgs HEADER_NAMES) 0016 cmake_parse_arguments(GH "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) 0017 foreach (_CLASSNAME ${GH_HEADER_NAMES}) 0018 set(FANCY_HEADER_FILE "${CMAKE_CURRENT_BINARY_DIR}/${_CLASSNAME}") 0019 if (${_CLASSNAME} MATCHES "([a-z]+)([A-Z][a-z]+)") 0020 string(REGEX REPLACE "([a-z]+)([A-Z][a-z]+)" "\\1-\\2" dashcamel ${_CLASSNAME}) 0021 string(TOLOWER ${dashcamel} lowercase) 0022 else() 0023 string(TOLOWER ${_CLASSNAME} lowercase) 0024 endif() 0025 set(_actualheader "${CMAKE_CURRENT_SOURCE_DIR}/${lowercase}.h") 0026 if (NOT EXISTS ${_actualheader}) 0027 message(FATAL_ERROR "Could not find \"${_actualheader}\"") 0028 endif() 0029 if (NOT EXISTS ${FANCY_HEADER_FILE}) 0030 file(WRITE ${FANCY_HEADER_FILE} "#include \"${lowercase}.h\"\n") 0031 endif() 0032 list(APPEND ${camelcase_headers_var} "${FANCY_HEADER_FILE}") 0033 list(APPEND ${GH_REQUIRED_HEADERS} "${_actualheader}") 0034 endforeach() 0035 set(${camelcase_headers_var} ${${camelcase_headers_var}} PARENT_SCOPE) 0036 if (NOT GH_REQUIRED_HEADERS STREQUAL "") 0037 set(${GH_REQUIRED_HEADERS} ${${GH_REQUIRED_HEADERS}} PARENT_SCOPE) 0038 endif () 0039 endfunction()