summaryrefslogtreecommitdiffstats
path: root/cmake/QtPostProcess.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtPostProcess.cmake')
-rw-r--r--cmake/QtPostProcess.cmake32
1 files changed, 32 insertions, 0 deletions
diff --git a/cmake/QtPostProcess.cmake b/cmake/QtPostProcess.cmake
new file mode 100644
index 0000000000..5e563d4c91
--- /dev/null
+++ b/cmake/QtPostProcess.cmake
@@ -0,0 +1,32 @@
+function(qt_internal_write_depends_file target)
+ set(module Qt${target})
+ set(outfile "${PROJECT_BINARY_DIR}/include/${module}/${module}Depends")
+ message("Generate ${outfile}...")
+ set(contents "/* This file was generated by cmake with the info from ${module} target. */\n")
+ string(APPEND contents "#ifdef __cplusplus /* create empty PCH in C mode */\n")
+ foreach (m ${ARGN})
+ string(APPEND contents "# include <Qt${m}/Qt${m}>\n")
+ endforeach()
+ string(APPEND contents "#endif\n")
+
+ file(GENERATE OUTPUT ${outfile} CONTENT ${contents})
+endfunction()
+
+function(qt_internal_create_depends_files)
+ message("Generating depends files for ${KNOWN_QT_MODULES}...")
+ foreach (target ${KNOWN_QT_MODULES})
+ get_target_property(depends "${target}" LINK_LIBRARIES)
+ foreach (dep ${depends})
+ list(FIND KNOWN_QT_MODULES "${dep}" _pos)
+ if (_pos GREATER -1)
+ list(APPEND qtdeps "${dep}")
+ endif()
+ endforeach()
+ get_target_property(hasModuleHeaders "${target}" MODULE_HAS_HEADERS)
+ if (${hasModuleHeaders})
+ qt_internal_write_depends_file("${target}" ${qtdeps})
+ endif()
+ endforeach()
+endfunction()
+
+qt_internal_create_depends_files()