- adm/cmake/gtest.cmake: check CMake version before using FetchContent; emit a warning and skip FetchContent-based GoogleTest setup when CMake < 3.11.
- adm/cmake/occt_macros.cmake: wrap list(REMOVE_DUPLICATES ...) calls in if() checks to avoid operating on empty/unset variables.
else()
message(STATUS "Googletest not found in system paths")
if(GTEST_USE_FETCHCONTENT)
+ # FetchContent requires CMake 3.11 or higher
+ if(CMAKE_VERSION VERSION_LESS "3.11")
+ message(WARNING "FetchContent requires CMake 3.11 or higher (current version: ${CMAKE_VERSION}). "
+ "Please either upgrade CMake, install Google Test manually, or disable BUILD_GTEST.")
+ set(GOOGLETEST_FOUND FALSE)
+ return()
+ endif()
include(FetchContent)
# Set option to disable GMock before declaring the content
list(APPEND OCCT_TOOLKIT_INCLUDE_FOLDERS ${DEP_INCLUDE_DIRS})
endforeach()
- list(REMOVE_DUPLICATES OCCT_TOOLKIT_FULL_DEPS)
- list(REMOVE_DUPLICATES OCCT_TOOLKIT_INCLUDE_FOLDERS)
+ if (OCCT_TOOLKIT_FULL_DEPS)
+ list(REMOVE_DUPLICATES OCCT_TOOLKIT_FULL_DEPS)
+ endif()
+
+ if (OCCT_TOOLKIT_INCLUDE_FOLDERS)
+ list(REMOVE_DUPLICATES OCCT_TOOLKIT_INCLUDE_FOLDERS)
+ endif()
set (${RESULT_TKS_AS_DEPS} ${OCCT_TOOLKIT_FULL_DEPS} PARENT_SCOPE)
set (${RESULT_INCLUDE_FOLDERS} ${OCCT_TOOLKIT_INCLUDE_FOLDERS} PARENT_SCOPE)