function(print)
    foreach(toPrint ${ARGN})
        message(STATUS "${toPrint} = ${${toPrint}}")
    endforeach()
endfunction()

macro(GET_HEADERS_FROM TARGET INPUT_SOURCES)
    unset(${TARGET})
    list(APPEND ${TARGET})
    foreach(CPP_FILE ${${INPUT_SOURCES}})
        string(REGEX REPLACE ".cpp" ".h" GET_HEADERS_FROM_TMP ${CPP_FILE})
        list(APPEND ${TARGET} ${GET_HEADERS_FROM_TMP})
    endforeach()
endmacro()