summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QtFeature.cmake17
1 files changed, 13 insertions, 4 deletions
diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake
index 618bf839bfe..e8ae3dd5163 100644
--- a/cmake/QtFeature.cmake
+++ b/cmake/QtFeature.cmake
@@ -1137,13 +1137,20 @@ function(qt_internal_generate_feature_line line feature)
endif()
endfunction()
-function(qt_internal_feature_write_file file features extra)
+function(qt_internal_feature_write_file target file features extra)
+ file(RELATIVE_PATH relative_path "${CMAKE_BINARY_DIR}" "${file}")
+
+ string(MAKE_C_IDENTIFIER "${target}_${relative_path}" inclusion_guard_suffix)
+
set(contents "")
+ string(APPEND contents "#ifndef QT_FEATURES_${inclusion_guard_suffix}_H\n")
+ string(APPEND contents "#define QT_FEATURES_${inclusion_guard_suffix}_H\n\n")
foreach(it ${features})
qt_internal_generate_feature_line(line "${it}")
string(APPEND contents "${line}")
endforeach()
- string(APPEND contents "${extra}")
+ string(APPEND contents "${extra}\n")
+ string(APPEND contents "#endif // QT_FEATURES_${inclusion_guard_suffix}_H\n")
file(GENERATE OUTPUT "${file}" CONTENT "${contents}")
endfunction()
@@ -1237,11 +1244,13 @@ function(qt_feature_module_end)
endforeach()
if(NOT arg_ONLY_EVALUATE_FEATURES)
- qt_internal_feature_write_file("${CMAKE_CURRENT_BINARY_DIR}/${__QtFeature_private_file}"
+ qt_internal_feature_write_file(${target}
+ "${CMAKE_CURRENT_BINARY_DIR}/${__QtFeature_private_file}"
"${__QtFeature_private_features}" "${__QtFeature_private_extra}"
)
- qt_internal_feature_write_file("${CMAKE_CURRENT_BINARY_DIR}/${__QtFeature_public_file}"
+ qt_internal_feature_write_file(${target}
+ "${CMAKE_CURRENT_BINARY_DIR}/${__QtFeature_public_file}"
"${__QtFeature_public_features}" "${__QtFeature_public_extra}"
)
endif()