Forráskód Böngészése

Add explicit check for Qml private headers

Alexey Edelev 5 éve
szülő
commit
6562445ce9
1 módosított fájl, 13 hozzáadás és 0 törlés
  1. 13 0
      src/protobuf/quick/CMakeLists.txt

+ 13 - 0
src/protobuf/quick/CMakeLists.txt

@@ -38,6 +38,19 @@ set_target_properties(${TARGET} PROPERTIES
     RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/QtProtobuf"
     RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/QtProtobuf")
 target_compile_definitions(${TARGET} PRIVATE QTPROTOBUFQUICK_LIB)
+
+#Check for QML private headers
+if(NOT DEFINED Qt5Qml_PRIVATE_INCLUDE_DIRS OR Qt5Qml_PRIVATE_INCLUDE_DIRS STREQUAL "")
+    message(FATAL_ERROR "Qt protobuf project requires Qml private headers defined in system")
+endif()
+
+foreach(QML_PRIVATE_HEADER IN LISTS Qt5Qml_PRIVATE_INCLUDE_DIRS)
+    message(STATUS "Check for QtQml private headers dir: ${QML_PRIVATE_HEADER}")
+    if(NOT IS_DIRECTORY ${QML_PRIVATE_HEADER})
+        message(FATAL_ERROR "Qt protobuf project requires Qml private headers defined in system ${QML_PRIVATE_HEADER}")
+    endif()
+endforeach()
+
 target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../ ${Qt5Qml_PRIVATE_INCLUDE_DIRS})
 install(TARGETS ${TARGET}
     PUBLIC_HEADER DESTINATION "${TARGET_INCLUDE_DIR}"