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()