]> O.S.I.I.S - jp/vkvg.git/commitdiff
try to better handle static/shared libraries and linkage
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 9 Jan 2022 18:45:05 +0000 (19:45 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 9 Jan 2022 18:45:05 +0000 (19:45 +0100)
CMakeLists.txt
tests/CMakeLists.txt
vkh

index 1866ef565450939bfcb8f1ffc1877539c0d2b38f..41e0aefa173e2576d739737dc63e194f6eceac55 100644 (file)
@@ -4,7 +4,7 @@ SET(LANG "CXX")
 SET(CMAKE_C_STANDARD 11)
 SET(CMAKE_CXX_STANDARD 11)
 
-OPTION (BUILD_SHARED_LIBS "Build using shared libraries" ON)
+OPTION (VKVG_BUILD_SHARED_LIB "Build using shared libraries" ON)
 
 PROJECT(vkvg VERSION 0.3.0 DESCRIPTION "Vulkan Vector Graphic")
 
@@ -215,116 +215,188 @@ ENDIF()
 CONFIGURE_FILE(vkvg.pc.in vkvg.pc @ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/vkvg.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
 
-ADD_LIBRARY("${PROJECT_NAME}" ${VKVG_SRC} ${SHADERS} ${SHADERS_H} )
 
-IF (VKVG_SVG AND NOT TARGET vkvk-svg)
-       ADD_SUBDIRECTORY (external/vkvg-svg)
-ENDIF()
+FUNCTION (setup_lib LibName)
+       LIST (APPEND VKVG_TARGETS ${LibName})
 
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
-               OUTPUT_NAME ${PROJECT_NAME}
-               VERSION ${vkvg_VERSION_MAJOR}.${vkvg_VERSION_MINOR}
-               SOVERSION ${vkvg_VERSION_MAJOR}
-               C_STANDARD 11
-               PUBLIC_HEADER "${VKVG_PUBLIC_HEADERS}"
-)
+       SET_TARGET_PROPERTIES(${LibName} PROPERTIES
+                       OUTPUT_NAME ${PROJECT_NAME}
+                       VERSION ${vkvg_VERSION_MAJOR}.${vkvg_VERSION_MINOR}
+                       SOVERSION ${vkvg_VERSION_MAJOR}
+                       C_STANDARD 11
+                       PUBLIC_HEADER "${VKVG_PUBLIC_HEADERS}"
+       )
 
-TARGET_INCLUDE_DIRECTORIES("${PROJECT_NAME}"
-       PRIVATE
-               ${CMAKE_CURRENT_SOURCE_DIR}/src
-               ${CMAKE_CURRENT_SOURCE_DIR}/vkh/src
-               $<$<BOOL:${VKVG_USE_FREETYPE}>:${FREETYPE_INCLUDE_DIRS}>
-               $<$<BOOL:${VKVG_USE_HARFBUZZ}>:${HarfBuzz_INCLUDE_DIRS}>
-               $<$<BOOL:${VKVG_USE_FONTCONFIG}>:${Fontconfig_INCLUDE_DIRS}>
-               $<$<NOT:$<BOOL:${VKVG_SVG}>>:${CMAKE_CURRENT_SOURCE_DIR}/src/nsvg>
-       PUBLIC
-               ${Vulkan_INCLUDE_DIRS}
-               ${CMAKE_CURRENT_SOURCE_DIR}/include
-               ${CMAKE_CURRENT_SOURCE_DIR}/vkh/include
-)
-TARGET_LINK_LIBRARIES("${PROJECT_NAME}"
-       PUBLIC
-               ${Vulkan_LIBRARIES}
-               vkh
-               "$<$<BOOL:${UNIX} AND ${BUILD_SHARED_LIBS}>:-lm>"
-       PRIVATE
-               "$<$<BOOL:${VKVG_USE_FREETYPE}>:${FREETYPE_LIBRARIES}>"
-               "$<$<BOOL:${VKVG_USE_HARFBUZZ}>:${HarfBuzz_LIBRARIES}>"
-               "$<$<BOOL:${VKVG_USE_FONTCONFIG}>:${Fontconfig_LIBRARIES}>"
-               "$<$<BOOL:${VKVG_FILL_NZ_GLUTESS}>:glutess>"
-)
+       TARGET_INCLUDE_DIRECTORIES("${LibName}"
+               PRIVATE
+                       ${CMAKE_CURRENT_SOURCE_DIR}/src
+                       ${CMAKE_CURRENT_SOURCE_DIR}/vkh/src
+                       $<$<BOOL:${VKVG_USE_FREETYPE}>:${FREETYPE_INCLUDE_DIRS}>
+                       $<$<BOOL:${VKVG_USE_HARFBUZZ}>:${HarfBuzz_INCLUDE_DIRS}>
+                       $<$<BOOL:${VKVG_USE_FONTCONFIG}>:${Fontconfig_INCLUDE_DIRS}>
+                       $<$<NOT:$<BOOL:${VKVG_SVG}>>:${CMAKE_CURRENT_SOURCE_DIR}/src/nsvg>
+                       $<$<BOOL:${VKVG_RECORDING}>:${CMAKE_CURRENT_SOURCE_DIR}/src/recording>
+               PUBLIC
+                       ${Vulkan_INCLUDE_DIRS}
+                       ${CMAKE_CURRENT_SOURCE_DIR}/include
+                       ${CMAKE_CURRENT_SOURCE_DIR}/vkh/include
+       )
 
-INSTALL(TARGETS "${PROJECT_NAME}"
-       LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-       ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-       PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+       TARGET_LINK_LIBRARIES("${LibName}"
+               PUBLIC
+                       ${Vulkan_LIBRARIES}
+                       vkh
+                       "$<$<BOOL:${UNIX} AND ${VKVG_BUILD_SHARED_LIB}>:-lm>"
+               PRIVATE
+                       "$<$<BOOL:${VKVG_USE_FREETYPE}>:${FREETYPE_LIBRARIES}>"
+                       "$<$<BOOL:${VKVG_USE_HARFBUZZ}>:${HarfBuzz_LIBRARIES}>"
+                       "$<$<BOOL:${VKVG_USE_FONTCONFIG}>:${Fontconfig_LIBRARIES}>"
+                       "$<$<BOOL:${VKVG_FILL_NZ_GLUTESS}>:glutess>"
+       )
 
-IF (SHADERS_H)
-       ADD_DEPENDENCIES("${PROJECT_NAME}" BuildShadersHeader)
-ENDIF ()
+       INSTALL(TARGETS "${LibName}"
+               LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+               ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+               PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ENDFUNCTION(setup_lib)
+
+GET_DIRECTORY_PROPERTY (vkvg_has_root_project PARENT_DIRECTORY)
+
+IF (vkvg_has_root_project)
+       IF (VKVG_BUILD_SHARED_LIBS)
+               ADD_LIBRARY("${PROJECT_NAME}" SHARED ${VKVG_SRC} ${SHADERS} ${SHADERS_H})
+               SET_PROPERTY(TARGET "${PROJECT_NAME}" PROPERTY POSITION_INDEPENDENT_CODE ON)
+               SET_PROPERTY(TARGET vkh PROPERTY POSITION_INDEPENDENT_CODE ON)
+               SET_PROPERTY(TARGET glutess PROPERTY POSITION_INDEPENDENT_CODE ON)
+               setup_lib ("${PROJECT_NAME}")
+       ELSE()
+               ADD_LIBRARY("${PROJECT_NAME}" STATIC ${VKVG_SRC} ${SHADERS} ${SHADERS_H} )
+               target_compile_definitions("${PROJECT_NAME}" PUBLIC -DVKVG_STATIC_BUILD)
+               SET_PROPERTY(TARGET "${PROJECT_NAME}" PROPERTY POSITION_INDEPENDENT_CODE OFF)
+               SET_PROPERTY(TARGET vkh PROPERTY POSITION_INDEPENDENT_CODE OFF)
+               SET_PROPERTY(TARGET glutess PROPERTY POSITION_INDEPENDENT_CODE OFF)
+               setup_lib ("${PROJECT_NAME}")
+       ENDIF()
+ELSE()
+       SET_PROPERTY(TARGET vkh PROPERTY POSITION_INDEPENDENT_CODE ON)
+       SET_PROPERTY(TARGET glutess PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+       ADD_LIBRARY("${PROJECT_NAME}_shared" SHARED ${VKVG_SRC} ${SHADERS} ${SHADERS_H})
+       SET_PROPERTY(TARGET "${PROJECT_NAME}_shared" PROPERTY POSITION_INDEPENDENT_CODE ON)
+       setup_lib ("${PROJECT_NAME}_shared")
+
+       ADD_LIBRARY("${PROJECT_NAME}_static" STATIC ${VKVG_SRC} ${SHADERS} ${SHADERS_H} )
+       target_compile_definitions("${PROJECT_NAME}_static" PUBLIC -DVKVG_STATIC_BUILD)
+       SET_PROPERTY(TARGET "${PROJECT_NAME}_static" PROPERTY POSITION_INDEPENDENT_CODE OFF)
+       setup_lib ("${PROJECT_NAME}_static")
+
+       IF (VKVG_BUILD_TESTS)
+               ADD_SUBDIRECTORY(tests)
+       ELSEIF (VKVG_BUILD_OFFSCREEN_TEST)
+               ADD_EXECUTABLE(test_offscreen "${CMAKE_CURRENT_SOURCE_DIR}/tests/offscreen.c")
+               TARGET_INCLUDE_DIRECTORIES(test_offscreen PRIVATE
+                       ${Vulkan_INCLUDE_DIRS}
+                       ${CMAKE_CURRENT_SOURCE_DIR}/include
+               )
+               TARGET_LINK_LIBRARIES(test_offscreen
+                       ${Vulkan_LIBRARIES}
+                       vkvg
+               )
+       ENDIF (VKVG_BUILD_TESTS)
+
+       IF (VKVG_BUILD_DOCS)
+               set(DOXYGEN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/doc)
+               set(DOXYGEN_INPUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
+               set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc)
+               set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/html/index.html)
+
+               set(DOXYFILE_IN ${DOXYGEN_DIR}/Doxygen.in)
+               set(DOXYFILE_OUT ${DOXYGEN_OUTPUT_DIR}/Doxyfile)
+
+               #configure_file(${DOXYGEN_DIR}/dox_layout.xml ${DOXYGEN_OUTPUT_DIR}/dox_layout.xml @ONLY)
+
+               configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
+
+               add_custom_target(copy-doc-files ALL
+                       COMMAND ${CMAKE_COMMAND} -E copy_directory "${DOXYGEN_DIR}/doxy_theme" ${DOXYGEN_OUTPUT_DIR})
+
+               add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
+                                                  DEPENDS "${VKVG_PUBLIC_HEADERS}" copy-doc-files
+                                                  COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
+                                                  MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
+                                                  COMMENT "Generating docs")
+               add_custom_target(doxygen ALL DEPENDS ${DOXYGEN_INDEX_FILE})
+
+               find_package(Sphinx)
+
+               IF (Sphinx_FOUND)
+
+                       set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/doc)
+                       set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR}/doc/sphinx)
+                       set(SPHINX_INDEX_FILE ${SPHINX_BUILD}/index.html)
+
+                       add_custom_command(OUTPUT ${SPHINX_INDEX_FILE}
+                                                       COMMAND
+                                                       ${SPHINX_EXECUTABLE} -b html
+                                                       -Dbreathe_projects.VKVG=${DOXYGEN_OUTPUT_DIR}/xml
+                                                       ${SPHINX_SOURCE} ${SPHINX_BUILD}
+                                                       WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+                                                       DEPENDS
+                                                                       doxygen
+                                                                       # Other docs files you want to track should go here (or in some variable)
+                                                                       ${SPHINX_SOURCE}/index.rst
+                                                                       ${DOXYGEN_INDEX_FILE}
+                                                       MAIN_DEPENDENCY ${SPHINX_SOURCE}/conf.py
+                                                       COMMENT "Generating documentation with Sphinx")
+
+                       add_custom_target(sphinx ALL DEPENDS ${SPHINX_INDEX_FILE})
+               ENDIF ()
+       ENDIF (VKVG_BUILD_DOCS)
 
-IF (VKVG_BUILD_TESTS)
-       ADD_SUBDIRECTORY(tests)
-ELSEIF (VKVG_BUILD_OFFSCREEN_TEST)
-       ADD_EXECUTABLE(test_offscreen "${CMAKE_CURRENT_SOURCE_DIR}/tests/offscreen.c")
-       TARGET_INCLUDE_DIRECTORIES(test_offscreen PRIVATE
-               ${Vulkan_INCLUDE_DIRS}
-               ${CMAKE_CURRENT_SOURCE_DIR}/include
-       )
-       TARGET_LINK_LIBRARIES(test_offscreen
-               ${Vulkan_LIBRARIES}
-               vkvg
-       )
-ENDIF (VKVG_BUILD_TESTS)
+       IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
+               INCLUDE(InstallRequiredSystemLibraries)
 
-IF (VKVG_BUILD_DOCS)
-       set(DOXYGEN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/doc)
-       set(DOXYGEN_INPUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
-       set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc)
-       set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/html/index.html)
+               set(CPACK_ADD_LDCONFIG_CALL 1)
+               SET(CPACK_SET_DESTDIR "on")
+               SET(CPACK_PACKAGING_INSTALL_PREFIX "/tmp")
+               SET(CPACK_GENERATOR "DEB")
 
-       set(DOXYFILE_IN ${DOXYGEN_DIR}/Doxygen.in)
-       set(DOXYFILE_OUT ${DOXYGEN_OUTPUT_DIR}/Doxyfile)
+               SET(CPACK_PACKAGE_DESCRIPTION "Vulkan vector graphic library")
+               SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "2d vector drawing library using vulkan")
+               SET(CPACK_PACKAGE_VENDOR "jp Bruyere")
+               SET(CPACK_PACKAGE_CONTACT "jp_bruyere@hotmail.com")
 
-       #configure_file(${DOXYGEN_DIR}/dox_layout.xml ${DOXYGEN_OUTPUT_DIR}/dox_layout.xml @ONLY)
+               SET(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
+               SET(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
+               SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
+               SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+               SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 
-       configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
+               #dependencies for this service menu
+               SET(CPACK_DEBIAN_PACKAGE_DEPENDS " libharfbuzz-gobject0 , libfontconfig1 , libfreetype6 ")
 
-       add_custom_target(copy-doc-files ALL
-               COMMAND ${CMAKE_COMMAND} -E copy_directory "${DOXYGEN_DIR}/doxy_theme" ${DOXYGEN_OUTPUT_DIR})
+               SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+               SET(CPACK_DEBIAN_PACKAGE_SECTION "libraries")
+               SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
 
-       add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
-                                          DEPENDS "${VKVG_PUBLIC_HEADERS}" copy-doc-files
-                                          COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
-                                          MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
-                                          COMMENT "Generating docs")
-       add_custom_target(doxygen ALL DEPENDS ${DOXYGEN_INDEX_FILE})
+               SET(CPACK_COMPONENTS_ALL Libraries ApplicationData)
 
-       find_package(Sphinx)
 
-       IF (Sphinx_FOUND)
+               INCLUDE(CPack)
+       ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
 
-               set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/doc)
-               set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR}/doc/sphinx)
-               set(SPHINX_INDEX_FILE ${SPHINX_BUILD}/index.html)
-
-               add_custom_command(OUTPUT ${SPHINX_INDEX_FILE}
-                                               COMMAND
-                                               ${SPHINX_EXECUTABLE} -b html
-                                               -Dbreathe_projects.VKVG=${DOXYGEN_OUTPUT_DIR}/xml
-                                               ${SPHINX_SOURCE} ${SPHINX_BUILD}
-                                               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-                                               DEPENDS
-                                                               doxygen
-                                                               # Other docs files you want to track should go here (or in some variable)
-                                                               ${SPHINX_SOURCE}/index.rst
-                                                               ${DOXYGEN_INDEX_FILE}
-                                               MAIN_DEPENDENCY ${SPHINX_SOURCE}/conf.py
-                                               COMMENT "Generating documentation with Sphinx")
-
-               add_custom_target(sphinx ALL DEPENDS ${SPHINX_INDEX_FILE})
-       ENDIF ()
-ENDIF (VKVG_BUILD_DOCS)
+ENDIF()
+
+IF (SHADERS_H)
+       FOREACH(VKVG_TARGET IN ${VKVG_TARGETS})
+               MESSAGE(STATUS "TARGETS: ${VKVG_TARGET}")
+               ADD_DEPENDENCIES("${VKVG_TARGET}" BuildShadersHeader)
+       ENDFOREACH()
+ENDIF ()
+
+IF (VKVG_SVG AND NOT TARGET vkvk-svg)
+       ADD_SUBDIRECTORY (external/vkvg-svg)
+ENDIF()
 
 IF (BUILD_SHARED_LIBS)
        MESSAGE(STATUS  "Build Shared library.")
@@ -391,7 +463,7 @@ ELSE ()
        MESSAGE(STATUS "Font filtering\t= Grayscale.")
 ENDIF ()
 IF (VKVG_FILL_NZ_GLUTESS)
-       MESSAGE(STATUS "Fill NON ZERO\t= glu tessellatro.")
+       MESSAGE(STATUS "Fill NON ZERO\t= glu tessellator.")
 ELSE ()
        MESSAGE(STATUS "Fill NON ZERO\t= ear clipping.")
 ENDIF ()
@@ -405,36 +477,3 @@ IF (VKVG_BUILD_DOCS)
 ELSE ()
        MESSAGE(STATUS "Build documentation\t= disabled.")
 ENDIF ()
-
-
-IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
-       INCLUDE(InstallRequiredSystemLibraries)
-
-       set(CPACK_ADD_LDCONFIG_CALL 1)
-       SET(CPACK_SET_DESTDIR "on")
-       SET(CPACK_PACKAGING_INSTALL_PREFIX "/tmp")
-       SET(CPACK_GENERATOR "DEB")
-
-       SET(CPACK_PACKAGE_DESCRIPTION "Vulkan vector graphic library")
-       SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "2d vector drawing library using vulkan")
-       SET(CPACK_PACKAGE_VENDOR "jp Bruyere")
-       SET(CPACK_PACKAGE_CONTACT "jp_bruyere@hotmail.com")
-
-       SET(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
-       SET(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
-       SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
-       SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
-       SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
-
-       #dependencies for this service menu
-       SET(CPACK_DEBIAN_PACKAGE_DEPENDS " libharfbuzz-gobject0 , libfontconfig1 , libfreetype6 ")
-
-       SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-       SET(CPACK_DEBIAN_PACKAGE_SECTION "libraries")
-       SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
-
-       SET(CPACK_COMPONENTS_ALL Libraries ApplicationData)
-
-
-       INCLUDE(CPack)
-ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
index e281c645fe0c1e80237448e28c8b3387f8d886d4..73bfec8a28eaa9beb205a89fd244be36d8b7dd83 100644 (file)
@@ -32,7 +32,8 @@ TARGET_LINK_LIBRARIES(tests_common
        PUBLIC
                ${Vulkan_LIBRARIES}
                ${GLFW3_LIBRARY}
-               vkvg
+               $<$<TARGET_EXISTS:vkvg_static>:vkvg_static>
+               $<$<TARGET_EXISTS:vkvg>:vkvg>
                $<$<BOOL:${VKVG_SVG}>:vkvg-svg>
 )
 
diff --git a/vkh b/vkh
index b3013732ffe957758ba1c857e11b1c9bebc68d7c..58085f9026d05d57a36520138fdfa3102ec03e45 160000 (submodule)
--- a/vkh
+++ b/vkh
@@ -1 +1 @@
-Subproject commit b3013732ffe957758ba1c857e11b1c9bebc68d7c
+Subproject commit 58085f9026d05d57a36520138fdfa3102ec03e45