Browse Source

Add explicit check for Qml private headers

Alexey Edelev 5 years ago
parent
commit
6562445ce9
1 changed files with 13 additions and 0 deletions
  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}"