From 5f34d486b8fae3d654f85e3542bb6311488a2e95 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> Date: Tue, 16 Nov 2021 19:14:37 -0500 Subject: [PATCH] COMP: Fix configuration of client projects adding OpenVR_* to CACHE in iMSTKConfig Add variables OpenVR_INCLUDE_DIR and OpenVR_LIBRARY to the CACHE to workaround issue related to use of mark_as_advanced command in FindOpenVR and described in CMP0102. Indeed, this is required because CMP0102 is not automatically set to NEW and addressing this issue would required to update the FindOpenVR modules shipped in the different VTK version iMSTK can be built against. See https://cmake.org/cmake/help/latest/policy/CMP0102.html This commit fixes the following error reported when attempting to configure a project like iMSTKProject (see [1]) against an iMSTK build tree: CMake Error at /path/to/cmake-3.21.4-linux-x86_64/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find OpenVR (missing: OpenVR_LIBRARY OpenVR_INCLUDE_DIR) Call Stack (most recent call first): /path/to/cmake-3.21.4-linux-x86_64/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) /path/to/iMSTK-build/install/lib/cmake/vtk-9.0/FindOpenVR.cmake:45 (find_package_handle_standard_args) /path/to/iMSTK-build/install/lib/cmake/vtk-9.0/VTK-vtk-module-find-packages.cmake:162 (find_package) /path/to/iMSTK-build/install/lib/cmake/vtk-9.0/vtk-config.cmake:131 (include) /path/to/cmake-3.21.4-linux-x86_64/share/cmake-3.21/Modules/CMakeFindDependencyMacro.cmake:47 (find_package) /path/to/iMSTK-build/Innerbuild/iMSTKConfig.cmake:150 (find_dependency) CMakeLists.txt:8 (find_package) [1] https://gitlab.kitware.com/iMSTK/imstkexternalprojecttemplate/-/tree/master/iMSTKProject --- CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ac566f1f..145299b6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -502,8 +502,11 @@ else() set(CONFIG_CODE "${CONFIG_CODE}set(Libusb_LIBRARY_libusb-1.0-DEBUG \"${Libusb_LIBRARY_libusb-1.0-DEBUG}\")\n") endif() -set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_INCLUDE_DIR \"${OpenVR_INCLUDE_DIR}\")\n") -set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_LIBRARY \"${OpenVR_LIBRARY}\")\n") +set(CONFIG_CODE "${CONFIG_CODE}# Add variables to CACHE to workaround issue related to use of\n") +set(CONFIG_CODE "${CONFIG_CODE}# mark_as_advanced command in FindOpenVR and described in CMP0102\n") +set(CONFIG_CODE "${CONFIG_CODE}# See https://cmake.org/cmake/help/latest/policy/CMP0102.html\n") +set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_INCLUDE_DIR \"${OpenVR_INCLUDE_DIR}\" CACHE PATH \"\")\n") +set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_LIBRARY \"${OpenVR_LIBRARY}\" CACHE FILEPATH \"\")\n") set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_ROOT_DIR \"${OpenVR_ROOT_DIR}\")\n") set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_LIB_DIR \"${OpenVR_LIB_DIR}\")\n") -- GitLab