From a6f8d87bf25efca48b5dfc1b67cf2404f6f0a505 Mon Sep 17 00:00:00 2001 From: wyc <1104749580@qq.com> Date: Wed, 29 Jul 2026 20:57:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E4=B9=8B=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 0_cmake_library/register/export.cmake | 5 ++++- 3rdParty/cmake/Qt5.cmake | 32 ++++++++++++++++++++------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/0_cmake_library/register/export.cmake b/0_cmake_library/register/export.cmake index ee932d5..d3bdfa0 100644 --- a/0_cmake_library/register/export.cmake +++ b/0_cmake_library/register/export.cmake @@ -5,5 +5,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/computer_graphics.cmake") include("${CMAKE_CURRENT_LIST_DIR}/libarchive.cmake") include("${CMAKE_CURRENT_LIST_DIR}/with_qt.cmake") include("${CMAKE_CURRENT_LIST_DIR}/osg_earth.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/vsg_cesium.cmake") + +if(DEFINED ENV{VULKAN_SDK} OR NOT "$ENV{VULKAN_SDK}" STREQUAL "") + include("${CMAKE_CURRENT_LIST_DIR}/vsg_cesium.cmake") +endif () diff --git a/3rdParty/cmake/Qt5.cmake b/3rdParty/cmake/Qt5.cmake index 53c964c..03e8ae4 100644 --- a/3rdParty/cmake/Qt5.cmake +++ b/3rdParty/cmake/Qt5.cmake @@ -3,22 +3,38 @@ #set(CMAKE_AUTORCC ON) #set(CMAKE_AUTOUIC ON) +macro(select_first_existing_directory out_var) + unset(${out_var}) + foreach(candidate ${ARGN}) + if(IS_DIRECTORY "${candidate}") + set(${out_var} "${candidate}") + break() + endif() + endforeach() + if(NOT DEFINED ${out_var}) + message(FATAL_ERROR "No candidate directory exists for ${out_var}: ${ARGN}") + endif() +endmacro() set(Qt5_Plugin_DIR) if(${G_Architecture_Name} MATCHES "^cl_Windows" OR ${G_Architecture_Name} MATCHES "^vs") # include_directories(C:/Qt/5.15.2/Src) # set(Qt5_BaseDIR C:/Qt/5.15.2/msvc2019_64) + set(ver 5.14.2) + + set(qt_candidates + "D:/Qt/Qt${ver}" + "C:/Qt/Qt${ver}" + "D:/Qt/${ver}" + "C:/Qt/${ver}" + ) set(t msvc2017_64) - -# set(ver 5.15.2) -# set(t msvc2019_64) - - set(qb D:/Qt/Qt${ver}) - include_directories(${qb}/Src) - set(Qt5_BaseDIR ${qb}/${ver}/${t}) - set(Qt5_Plugin_DIR ${Qt5_BaseDIR}/plugins) + select_first_existing_directory(qb ${qt_candidates}) + include_directories("${qb}/Src") + set(Qt5_BaseDIR "${qb}/${ver}/${t}") + set(Qt5_Plugin_DIR "${Qt5_BaseDIR}/plugins") elseif(${G_Architecture_Name} MATCHES "^gxx_Windows") set(Qt5_BaseDIR D:/Qt5.14.2/5.14.2/mingw73_64)