cmake if(VERSION_LESS) examples

ornladios/ADIOS2 cmake/FindBZip2.cmake :7

if(CMAKE_VERSION VERSION_LESS 3.7)

ornladios/ADIOS2 cmake/upstream/FindPython/Support.cmake :902

if ((_PVL_EXACT AND NOT lib_VERSION VERSION_EQUAL version) OR (lib_VERSION VERSION_LESS version))

ornladios/ADIOS2 cmake/upstream/FindPython/Support.cmake :955

if ((_PVID_EXACT AND NOT inc_VERSION VERSION_EQUAL expected_version) OR (inc_VERSION VERSION_LESS expected_version))

ornladios/ADIOS2 source/adios2/CMakeLists.txt :477

if(CMAKE_VERSION VERSION_LESS 3.14)

ornladios/ADIOS2 thirdparty/GTest/googletest/googletest/cmake/internal_utils.cmake :107

if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0)

assimp/assimp contrib/draco/cmake/draco_build_definitions.cmake :117

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6")

assimp/assimp contrib/pugixml/CMakeLists.txt :73

if (NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED AND NOT DEFINED CMAKE_CXX_STANDARD AND NOT CMAKE_VERSION VERSION_LESS 3.8)

WebAssembly/binaryen CMakeLists.txt :231

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.0")

catchorg/Catch2 extras/CatchShardTests.cmake :14

if(${CMAKE_VERSION} VERSION_LESS "3.10.0")

USCiLab/cereal unittests/cmake-config-module.cmake :38

if(CMAKE_VERSION VERSION_LESS 3.1)

CGAL/cgal Installation/cmake/modules/FindTBB.cmake :94

  if("${_data}" MATCHES "INPUT \\(([^(]+)\\)")
    #extract out the .so name from REGEX MATCH command
    set(_proper_so_name "${CMAKE_MATCH_1}")

    #construct path to the real .so which is presumed to be in the same directory
    #as the input file
    get_filename_component(_so_dir "${library}" DIRECTORY)
    set(${real_library} "${_so_dir}/${_proper_so_name}" PARENT_SCOPE)
  else()
    #unable to determine what this library is so just hope everything works
    #and pass it unmodified.
    set(${real_library} "${library}" PARENT_SCOPE)
  endif()
endfunction()

#===============================================
# Do the final processing for the package find.
#===============================================
macro(findpkg_finish PREFIX TARGET_NAME)
  if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
    set(${PREFIX}_FOUND TRUE)
    set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
    set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
  else ()
    if (${PREFIX}_FIND_REQUIRED)
      message(FATAL_ERROR "Required library ${PREFIX} not found.")
    elseif (NOT ${PREFIX}_FIND_QUIETLY)
      message("Library ${PREFIX} not found.")
    endif()
    return()
  endif ()

  if (NOT TARGET "TBB::${TARGET_NAME}")
    if (${PREFIX}_LIBRARY_RELEASE)
      tbb_extract_real_library(${${PREFIX}_LIBRARY_RELEASE} real_release)
    endif ()
    if (${PREFIX}_LIBRARY_DEBUG)
      tbb_extract_real_library(${${PREFIX}_LIBRARY_DEBUG} real_debug)
    endif ()
    add_library(TBB::${TARGET_NAME} UNKNOWN IMPORTED)
    set_target_properties(TBB::${TARGET_NAME} PROPERTIES
      INTERFACE_INCLUDE_DIRECTORIES "${${PREFIX}_INCLUDE_DIR}")
    if (${PREFIX}_LIBRARY_DEBUG AND ${PREFIX}_LIBRARY_RELEASE)
      set_target_properties(TBB::${TARGET_NAME} PROPERTIES
        IMPORTED_LOCATION "${real_release}"
        IMPORTED_LOCATION_DEBUG "${real_debug}"
        IMPORTED_LOCATION_RELEASE "${real_release}")
    elseif (${PREFIX}_LIBRARY_RELEASE)
      set_target_properties(TBB::${TARGET_NAME} PROPERTIES
        IMPORTED_LOCATION "${real_release}")
    elseif (${PREFIX}_LIBRARY_DEBUG)
      set_target_properties(TBB::${TARGET_NAME} PROPERTIES
        IMPORTED_LOCATION "${real_debug}")
    endif ()
  endif ()

  #mark the following variables as internal variables
  mark_as_advanced(${PREFIX}_INCLUDE_DIR
                   ${PREFIX}_LIBRARY
                   ${PREFIX}_LIBRARY_DEBUG
                   ${PREFIX}_LIBRARY_RELEASE)
endmacro()

#===============================================
# Generate debug names from given release names
#===============================================
macro(get_debug_names PREFIX)
  foreach(i ${${PREFIX}})
    set(${PREFIX}_DEBUG ${${PREFIX}_DEBUG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
  endforeach()
endmacro()

#===============================================
# See if we have env vars to help us find tbb
#===============================================
macro(getenv_path VAR)
   set(ENV_${VAR} $ENV{${VAR}})
   # replace won't work if var is blank
   if (ENV_${VAR})
     string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
   endif ()
endmacro()

#===============================================
# Couple a set of release AND debug libraries
#===============================================
macro(make_library_set PREFIX)
  if (${PREFIX}_RELEASE AND ${PREFIX}_DEBUG)
    set(${PREFIX} optimized ${${PREFIX}_RELEASE} debug ${${PREFIX}_DEBUG})
  elseif (${PREFIX}_RELEASE)
    set(${PREFIX} ${${PREFIX}_RELEASE})
  elseif (${PREFIX}_DEBUG)
    set(${PREFIX} ${${PREFIX}_DEBUG})
  endif ()
endmacro()


#=============================================================================
#  Now to actually find TBB
#

# Get path, convert backslashes as ${ENV_${var}}
getenv_path(TBB_ROOT)

#start with looking for TBB_DIR and TBB_ROOT
if((TBB_ROOT OR "$ENV{TBB_ROOT}" OR "$ENV{TBB_DIR}" ) AND NOT TBB_FOUND)
  find_package(TBB QUIET NO_MODULE NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
endif()
if(TBB_FOUND)
  return()
endif()#TBB_FOUND

#try CONFIG Mode
find_package(TBB 2019.0.11005 QUIET NO_MODULE)
if(TBB_FOUND)
  return()
endif()#TBB_FOUND

if(NOT ENV_TBB_ROOT)
  getenv_path(TBBROOT)
  set(ENV_TBB_ROOT ${ENV_TBBROOT})
endif()

# initialize search paths
set(TBB_PREFIX_PATH ${TBB_ROOT} ${ENV_TBB_ROOT})
set(TBB_INC_SEARCH_PATH "")
set(TBB_LIB_SEARCH_PATH "")


# If user built from sources
set(TBB_BUILD_PREFIX $ENV{TBB_BUILD_PREFIX})
if (TBB_BUILD_PREFIX AND ENV_TBB_ROOT)
  getenv_path(TBB_BUILD_DIR)
  if (NOT ENV_TBB_BUILD_DIR)
    set(ENV_TBB_BUILD_DIR ${ENV_TBB_ROOT}/build)
  endif ()

  # include directory under ${ENV_TBB_ROOT}/include
  list(APPEND TBB_LIB_SEARCH_PATH
    ${ENV_TBB_BUILD_DIR}/${TBB_BUILD_PREFIX}_release
    ${ENV_TBB_BUILD_DIR}/${TBB_BUILD_PREFIX}_debug)
endif ()


# For Windows, let's assume that the user might be using the precompiled
# TBB packages from the main website. These use a rather awkward directory
# structure (at least for automatically finding the right files) depending
# on platform and compiler, but we'll do our best to accommodate it.
# Not adding the same effort for the precompiled linux builds, though. Those
# have different versions for CC compiler versions and linux kernels which
# will never adequately match the user's setup, so there is no feasible way
# to detect the "best" version to use. The user will have to manually
# select the right files. (Chances are the distributions are shipping their
# custom version of tbb, anyway, so the problem is probably nonexistent.)
if (WIN32 AND MSVC)
  set(COMPILER_PREFIX "vc7.1")
  if (MSVC_VERSION EQUAL 1400)
    set(COMPILER_PREFIX "vc8")
  elseif(MSVC_VERSION EQUAL 1500)
    set(COMPILER_PREFIX "vc9")
  elseif(MSVC_VERSION EQUAL 1600)
    set(COMPILER_PREFIX "vc10")
  elseif(MSVC_VERSION EQUAL 1700)
    set(COMPILER_PREFIX "vc11")
  elseif(MSVC_VERSION EQUAL 1800)
    set(COMPILER_PREFIX "vc12")
  elseif(MSVC_VERSION GREATER_EQUAL 1900 AND MSVC_VERSION LESS_EQUAL 1939)
      # 1900-1925 actually spans three Visual Studio versions:
      # 1900      = VS 14.0 (v140 toolset) a.k.a. MSVC 2015
      # 1910-1919 = VS 15.0 (v141 toolset) a.k.a. MSVC 2017
      # 1920-1929 = VS 16.0 (v142 toolset) a.k.a. MSVC 2019
      # 1930-1939 = VS 17.0 (v143 toolset) a.k.a. MSVC 2022
      #
      # But these are binary compatible and TBB's open source distribution only
      # ships a single vs14 lib (as of 2020.0)
    set(COMPILER_PREFIX "vc14")
  else()
    # The next poor soul who finds themselves having to decode visual studio
    # version conventions may find these helpful:
    # - https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
    # - https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering
    message(AUTHOR_WARNING
      "Unrecognized MSVC version (${MSVC_VERSION}). "
      "Please update FindTBB.cmake. "
      "Some TBB_* CMake variables may need to be set manually."
    )
  endif ()

  # for each prefix path, add ia32/64\${COMPILER_PREFIX}\lib to the lib search path
  foreach (dir IN LISTS TBB_PREFIX_PATH)
    if (CMAKE_CL_64)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia64/${COMPILER_PREFIX}/lib)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia64/${COMPILER_PREFIX})
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/${COMPILER_PREFIX}/lib)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64/${COMPILER_PREFIX})
    else ()
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/${COMPILER_PREFIX}/lib)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${COMPILER_PREFIX})
    endif ()
  endforeach ()
endif ()

# For OS X binary distribution, choose libc++ based libraries for Mavericks (10.9)
# and above and AppleClang
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND
    NOT CMAKE_SYSTEM_VERSION VERSION_LESS 13.0)
  set (USE_LIBCXX OFF)
  cmake_policy(GET CMP0025 POLICY_VAR)

  if (POLICY_VAR STREQUAL "NEW")
    if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
      set (USE_LIBCXX ON)
    endif ()
  else ()
    if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
      set (USE_LIBCXX ON)
    endif ()
  endif ()

  if (USE_LIBCXX)
    foreach (dir IN LISTS TBB_PREFIX_PATH)
      list (APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/libc++ ${dir}/libc++/lib)
    endforeach ()
  endif ()
endif ()

# check compiler ABI
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  set(COMPILER_PREFIX)
  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
    list(APPEND COMPILER_PREFIX "gcc4.7")
  endif()
  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
    list(APPEND COMPILER_PREFIX "gcc4.4")
  endif()
  list(APPEND COMPILER_PREFIX "gcc4.1")
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  set(COMPILER_PREFIX)
  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.6)
    list(APPEND COMPILER_PREFIX "gcc4.7")
  endif()
  list(APPEND COMPILER_PREFIX "gcc4.4")
else() # Assume compatibility with 4.4 for other compilers
  list(APPEND COMPILER_PREFIX "gcc4.4")
endif ()

# if platform architecture is explicitly specified
set(TBB_ARCH_PLATFORM $ENV{TBB_ARCH_PLATFORM})
if (TBB_ARCH_PLATFORM)
  foreach (dir IN LISTS TBB_PREFIX_PATH)
    list(APPEND TBB_LIB_SEARCH_PATH ${dir}/${TBB_ARCH_PLATFORM}/lib)
    list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/${TBB_ARCH_PLATFORM})
  endforeach ()
endif ()

foreach (dir IN LISTS TBB_PREFIX_PATH)
  foreach (prefix IN LISTS COMPILER_PREFIX)
    if (CMAKE_SIZEOF_VOID_P EQUAL 8)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64/${prefix})
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/lib)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/${prefix}/lib)
    else ()
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${prefix})
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/lib)
      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/${prefix}/lib)
    endif ()
  endforeach()
endforeach ()

# add general search paths
foreach (dir IN LISTS TBB_PREFIX_PATH)
  list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib ${dir}/Lib ${dir}/lib/tbb
    ${dir}/Libs)
  list(APPEND TBB_INC_SEARCH_PATH ${dir}/include ${dir}/Include
    ${dir}/include/tbb)
endforeach ()

set(TBB_LIBRARY_NAMES tbb)
get_debug_names(TBB_LIBRARY_NAMES)

find_path(TBB_INCLUDE_DIR
          NAMES tbb/tbb.h
          PATHS ${TBB_INC_SEARCH_PATH})

find_library(TBB_LIBRARY_RELEASE
             NAMES ${TBB_LIBRARY_NAMES}
             PATHS ${TBB_LIB_SEARCH_PATH})
find_library(TBB_LIBRARY_DEBUG
             NAMES ${TBB_LIBRARY_NAMES_DEBUG}
             PATHS ${TBB_LIB_SEARCH_PATH})
make_library_set(TBB_LIBRARY)

findpkg_finish(TBB tbb)

#if we haven't found TBB no point on going any further
if (NOT TBB_FOUND)
  return()
endif ()

#=============================================================================
# Look for TBB's malloc package
set(TBB_MALLOC_LIBRARY_NAMES tbbmalloc)
get_debug_names(TBB_MALLOC_LIBRARY_NAMES)

find_path(TBB_MALLOC_INCLUDE_DIR
          NAMES tbb/tbb.h
          PATHS ${TBB_INC_SEARCH_PATH})

find_library(TBB_MALLOC_LIBRARY_RELEASE
             NAMES ${TBB_MALLOC_LIBRARY_NAMES}
             PATHS ${TBB_LIB_SEARCH_PATH})
find_library(TBB_MALLOC_LIBRARY_DEBUG
             NAMES ${TBB_MALLOC_LIBRARY_NAMES_DEBUG}
             PATHS ${TBB_LIB_SEARCH_PATH})
make_library_set(TBB_MALLOC_LIBRARY)

findpkg_finish(TBB_MALLOC tbbmalloc)

#=============================================================================
# Look for TBB's malloc proxy package
set(TBB_MALLOC_PROXY_LIBRARY_NAMES tbbmalloc_proxy)
get_debug_names(TBB_MALLOC_PROXY_LIBRARY_NAMES)

find_path(TBB_MALLOC_PROXY_INCLUDE_DIR
          NAMES tbb/tbbmalloc_proxy.h
          PATHS ${TBB_INC_SEARCH_PATH})

find_library(TBB_MALLOC_PROXY_LIBRARY_RELEASE
             NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES}
             PATHS ${TBB_LIB_SEARCH_PATH})
find_library(TBB_MALLOC_PROXY_LIBRARY_DEBUG
             NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES_DEBUG}
             PATHS ${TBB_LIB_SEARCH_PATH})
make_library_set(TBB_MALLOC_PROXY_LIBRARY)

findpkg_finish(TBB_MALLOC_PROXY tbbmalloc_proxy)


#=============================================================================
# Parse all the version numbers from tbb.
if(NOT TBB_VERSION)
  if(EXISTS "${TBB_INCLUDE_DIR}/tbb/version.h")
    # The newer oneTBB provides tbb/version.h but no tbb/tbb_stddef.h.
    set(version_file "${TBB_INCLUDE_DIR}/tbb/version.h")
  else()
    # Older TBB provides tbb/tbb_stddef.h but no tbb/version.h.
    set(version_file "${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h")
  endif()

  file(STRINGS
      "${version_file}"
      TBB_VERSION_CONTENTS
      REGEX "VERSION")

  string(REGEX REPLACE
    ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1"
    TBB_VERSION_MAJOR "${TBB_VERSION_CONTENTS}")

  string(REGEX REPLACE
    ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1"
    TBB_VERSION_MINOR "${TBB_VERSION_CONTENTS}")

  string(REGEX REPLACE
        ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1"
        TBB_INTERFACE_VERSION "${TBB_VERSION_CONTENTS}")

  string(REGEX REPLACE
        ".*#define TBB_COMPATIBLE_INTERFACE_VERSION ([0-9]+).*" "\\1"
        TBB_COMPATIBLE_INTERFACE_VERSION "${TBB_VERSION_CONTENTS}")

  set(TBB_VERSION "${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR}")
endif()

projectchrono/chrono cmake/FindPackageHandleStandardArgs.cmake :311

if ((${package}_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE"
      AND version VERSION_GREATER_EQUAL ${package}_FIND_VERSION_MIN)
    AND ((${package}_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE"
        AND version VERSION_LESS_EQUAL ${package}_FIND_VERSION_MAX)
      OR (${package}_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE"
        AND version VERSION_LESS ${package}_FIND_VERSION_MAX)))

mosra/corrade CMakeLists.txt :497

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8.1")

mosra/corrade doc/snippets/CMakeLists.txt :85

if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.15"))

mosra/corrade modules/UseCorrade.cmake :77

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.0")

mosra/corrade src/Corrade/Containers/Test/CMakeLists.txt :145

if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.3") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.10"))

mosra/corrade src/Corrade/Utility/Test/CMakeLists.txt :406

if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.3") OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.10"))

danmar/cppcheck gui/test/filelist/CMakeLists.txt :19

if(QT_VERSION VERSION_LESS "6.0.0")

danmar/cppcheck gui/test/resultstree/CMakeLists.txt :42

if(QT_VERSION VERSION_LESS "6.0.0")

cpputest/cpputest cmake/Modules/CppUTest.cmake :94

if(${CMAKE_VERSION} VERSION_LESS "3.10")

curl/curl CMake/PickyWarnings.cmake :298

if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.0 AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)

curl/curl CMake/PickyWarnings.cmake :301

if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.3 AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)

davisking/dlib dlib/external/pybind11/CMakeLists.txt :77

if(OSX AND CMAKE_VERSION VERSION_LESS 3.7)

davisking/dlib dlib/external/pybind11/tools/FindCatch.cmake :63

if(NOT CATCH_VERSION OR CATCH_VERSION VERSION_LESS ${Catch_FIND_VERSION})

davisking/dlib dlib/external/pybind11/tools/pybind11Common.cmake :364

if(MSVC AND CMAKE_VERSION VERSION_LESS 3.11)

doxygen/doxygen CMakeLists.txt :245

if (FLEX_VERSION VERSION_LESS 2.6.0)

libfann/fann CMakeLists.txt :135

if (CMAKE_VERSION VERSION_LESS 2.8.8)

libfann/fann lib/googletest/googlemock/CMakeLists.txt :109

if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")

libfann/fann lib/googletest/googletest/cmake/internal_utils.cmake :178

if (NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")

spnda/fastgltf deps/CMakeLists.txt :32

if (SIMDJSON_HEADER_VERSION VERSION_LESS SIMDJSON_TARGET_VERSION)

FluidSynth/fluidsynth CMakeLists.txt :771

if ( TARGET OpenMP::OpenMP_C AND (( NOT OpenMP_C_SPEC_DATE LESS "201307" ) OR NOT ( OpenMP_C_VERSION VERSION_LESS "4.0" )) )

fontforge/fontforge cmake/FontForgeConfigure.cmake :133

if(${CMAKE_VERSION} VERSION_LESS "3.6.0") # so unfortunate

fontforge/fontforge cmake/backports/3.15.7/FindPython/Support.cmake :8

if (NOT ${CMAKE_VERSION} VERSION_LESS "3.14")

fontforge/fontforge cmake/backports/3.15.7/FindPython/Support.cmake :175

if (result OR (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version) OR (version VERSION_LESS expected_version))

fontforge/fontforge cmake/backports/3.15.7/FindPython/Support.cmake :251

if (result OR (_PVC_EXACT AND NOT version VERSION_EQUAL expected_version) OR (version VERSION_LESS expected_version))

FreeCAD/FreeCAD cMake/FreeCAD_Helpers/CopyLibpackDirectories.cmake :18

if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0" AND FREECAD_LIBPACK_VERSION VERSION_LESS "3.1.0")

FreeCAD/FreeCAD cMake/FreeCAD_Helpers/SetupEigen.cmake :14

if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.4.0")

FreeRDP/FreeRDP cmake/FindKRB5.cmake :179

if(KRB5_VERSION VERSION_LESS "1.14")

KDAB/GammaRay CMakeLists.txt :168

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1.0)

OSGeo/gdal cmake/modules/packages/FindKDU.cmake :99

if( DEFINED KDU_MAJOR_VERSION AND ${KDU_MAJOR_VERSION}.${KDU_MINOR_VERSION} VERSION_LESS 7.5 )

malaterre/GDCM Utilities/VTK/CMakeLists.txt :671

if(VTK_VERSION VERSION_LESS 8.90)

geographiclib/geographiclib doc/CMakeLists.txt :52

if (CMAKE_VERSION VERSION_LESS 3.17.0)

HDFGroup/hdf4 config/cmake/HDFCompilerFlags.cmake :310

if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 10.0)

HDFGroup/hdf4 config/cmake/ZLIBNG/CMakeLists.txt :918

if(NOT (CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 8.2))

HDFGroup/hdf4 HDF4Examples/config/cmake/HDFExampleMacros.cmake :167

if (HDF4_VERSION VERSION_LESS "4.3" AND NOT HDF4_shared_C_FOUND)

HDFGroup/hdf4 HDF4Examples/config/cmake/UseJava.cmake :706

if (Java_VERSION VERSION_LESS 1.8)

HDFGroup/hdf5 config/flags/HDFGnuCXXFlags.cmake :143

if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.3)

HDFGroup/hdf5 config/flags/HDFGnuFlags.cmake :115

if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)

HDFGroup/hdf5 config/flags/HDFGnuFortranFlags.cmake :49

if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.8)

InsightSoftwareConsortium/ITK Modules/ThirdParty/HDF5/src/itkhdf5/config/cmake/HDFCompilerFlags.cmake :245

if (CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0 AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)

InsightSoftwareConsortium/ITK Modules/ThirdParty/HDF5/src/itkhdf5/config/cmake/HDFCXXCompilerFlags.cmake :138

if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0)

InsightSoftwareConsortium/ITK Modules/ThirdParty/HDF5/src/itkhdf5/config/cmake/HDFCXXCompilerFlags.cmake :202

if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0 AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)

InsightSoftwareConsortium/ITK Modules/ThirdParty/HDF5/src/itkhdf5/config/cmake/HDFCXXCompilerFlags.cmake :219

if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)

InsightSoftwareConsortium/ITK Modules/ThirdParty/HDF5/src/itkhdf5/config/cmake/HDFFortranCompilerFlags.cmake :123

if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 5.0)

InsightSoftwareConsortium/ITK Modules/ThirdParty/HDF5/src/itkhdf5/config/cmake/HDFFortranCompilerFlags.cmake :140

if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0)

InsightSoftwareConsortium/ITK Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTests.cmake :69

if(CMAKE_VERSION VERSION_LESS 3.26)

InsightSoftwareConsortium/ITK Wrapping/Generators/SwigInterface/CMakeLists.txt :103

if(${CMAKE_VERSION} VERSION_LESS 3.24)

nlohmann/json tests/CMakeLists.txt :34

if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10)

KhronosGroup/KTX external/fmt/test/CMakeLists.txt :247

if (${CMAKE_VERSION} VERSION_LESS 3.15)

lammps/lammps cmake/Modules/Packages/GPU.cmake :109

if(CUDA_VERSION VERSION_LESS 8.0)

lammps/lammps lib/kokkos/cmake/kokkos_tribits.cmake :104

if(NOT
   (Kokkos_INSTALL_TESTING
    OR Kokkos_ENABLE_SYCL
    OR Kokkos_ENABLE_HPX
    OR Kokkos_ENABLE_IMPL_SKIP_NO_RTTI_FLAG
    OR (KOKKOS_CXX_COMPILER_ID STREQUAL "NVIDIA" AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 11.3.0)
    OR (KOKKOS_CXX_COMPILER_ID STREQUAL "NVIDIA" AND KOKKOS_CXX_HOST_COMPILER_ID STREQUAL "MSVC"))
)

lexbor/lexbor test/unit/CMakeLists.txt :3

IF(CMAKE_VERSION VERSION_LESS "3.0")

analogdevicesinc/libiio deps/mdns/CMakeLists.txt :47

if(${CMAKE_VERSION} VERSION_LESS 3.14)

libsndfile/libsamplerate CMakeLists.txt :90

if((NOT VCPKG_TOOLCHAIN) AND PKG_CONFIG_FOUND AND (NOT CMAKE_VERSION VERSION_LESS 3.6))

libsndfile/libsndfile CMakeLists.txt :89

if (CMAKE_VERSION VERSION_LESS 3.14)

intel/libvpl examples/api1x_core/legacy-vpp/CMakeLists.txt :77

if(${CMAKE_VERSION} VERSION_LESS "3.26")

intel/libvpl libvpl/test/ext/googletest/googletest/CMakeLists.txt :133

if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")

intel/libvpl libvpl/test/ext/googletest/googletest/cmake/internal_utils.cmake :183

if ("${CMAKE_VERSION}" VERSION_LESS "3.1.0")

mosra/magnum src/Magnum/Trade/Test/CMakeLists.txt :161

if(CORRADE_TARGET_EMSCRIPTEN AND NOT EMSCRIPTEN_VERSION VERSION_LESS 3.1.27)

mfem/mfem CMakeLists.txt :129

if (CMAKE_VERSION VERSION_LESS 3.17.0)

wjakob/nanobind cmake/nanobind-config.cmake :30

if(DEFINED SKBUILD_SABI_VERSION AND SKBUILD_ABI_VERSION AND SKBUILD_SABI_VERSION VERSION_LESS "3.12")

YosysHQ/nextpnr 3rdparty/pybind11/CMakeLists.txt :9

if(NOT CMAKE_VERSION VERSION_LESS "3.27")

YosysHQ/nextpnr 3rdparty/pybind11/tests/CMakeLists.txt :301

if(NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))

ngtcp2/nghttp3 cmake/PickyWarningsC.cmake :104

if((CMAKE_C_COMPILER_ID STREQUAL "Clang"      AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6) OR
   (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.3))

ngtcp2/nghttp3 cmake/PickyWarningsC.cmake :113

if((CMAKE_C_COMPILER_ID STREQUAL "Clang"      AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.9) OR
   (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.3))

ngtcp2/nghttp3 cmake/PickyWarningsCXX.cmake :62

if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang"      AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.6) OR
   (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.3))

ngtcp2/ngtcp2 cmake/PickyWarningsC.cmake :119

if((CMAKE_C_COMPILER_ID STREQUAL "Clang"      AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 7.0) OR
   (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 10.3))

OGRECave/ogre CMake/InstallResources.cmake :92

if (NOT MINGW AND CMAKE_SYSTEM_VERSION VERSION_LESS "6.0")

openbabel/openbabel CMakeLists.txt :243

if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.0.0))

openbabel/openbabel CMakeLists.txt :248

if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.1.0))

AcademySoftwareFoundation/OpenColorIO share/cmake/macros/ocio_handle_dependency.cmake :184

if (ocio_dep_VERSION VERSION_LESS ocio_dep_RECOMMENDED_VERSION)

opencv/opencv cmake/FindCUDA.cmake :1096

if(CUDA_SEPARABLE_COMPILATION AND CMAKE_VERSION VERSION_LESS "2.8.10.1")

opencv/opencv cmake/FindCUDA.cmake :1227

if (CUDA_VERSION VERSION_LESS  "3.0" OR
    CUDA_VERSION VERSION_EQUAL "4.1" OR
    CUDA_VERSION VERSION_EQUAL "4.2"
    )

opencv/opencv cmake/OpenCVCompilerOptions.cmake :157

if(CV_GCC AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0 OR ARM))

opencv/opencv cmake/OpenCVCompilerOptions.cmake :393

if(UNIX AND ((NOT APPLE OR NOT CMAKE_VERSION VERSION_LESS "3.2") AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD"))

opencv/opencv cmake/OpenCVDetectTBB.cmake :88

if(NOT (CMAKE_VERSION VERSION_LESS "3.16.0"))  # https://gitlab.kitware.com/cmake/cmake/-/issues/19434

opencv/opencv cmake/OpenCVPCHSupport.cmake :334

if(CMAKE_GENERATOR MATCHES "^Visual.*$"
   AND (CMAKE_VERSION VERSION_LESS "3.16" OR OPENCV_SKIP_CMAKE_BUILTIN_PCH)) # with 3.16+ we use target_precompile_headers

opencv/opencv cmake/OpenCVUtils.cmake :2044

if(NOT BUILD_SHARED_LIBS AND (CMAKE_VERSION VERSION_LESS "3.14.0"))

opencv/opencv hal/carotene/hal/CMakeLists.txt :34

if((ANDROID_COMPILER_IS_CLANG OR NOT ANDROID_COMPILER_VERSION VERSION_LESS "4.7") AND ANDROID_NDK_RELEASE STRGREATER "r8d" )

opencv/opencv samples/sycl/CMakeLists.txt :19

if(CMAKE_VERSION VERSION_LESS "3.5")

AcademySoftwareFoundation/OpenImageIO src/libutil/CMakeLists.txt :12

if (CMAKE_COMPILER_IS_GNUCC AND NOT ${GCC_VERSION} VERSION_LESS 9.0)

openscenegraph/OpenSceneGraph CMakeLists.txt :90

IF(OSG_OSX_VERSION VERSION_LESS 10.5)

openscenegraph/OpenSceneGraph CMakeLists.txt :922

IF(CMAKE_VERSION VERSION_LESS "2.8.5")

PixarAnimationStudios/OpenSubdiv CMakeLists.txt :142

if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)

PixarAnimationStudios/OpenSubdiv cmake/FindOpenCL.cmake :192

if (NOT OPENCL_VERSION OR OPENCL_VERSION VERSION_LESS ${VERSION})

AcademySoftwareFoundation/openvdb openvdb/openvdb/CMakeLists.txt :134

if(${TBB_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION)

AcademySoftwareFoundation/openvdb openvdb/openvdb/CMakeLists.txt :152

if(${Log4cplus_VERSION} VERSION_LESS FUTURE_MINIMUM_LOG4CPLUS_VERSION)

AcademySoftwareFoundation/openvdb openvdb/openvdb/CMakeLists.txt :171

if((Blosc_VERSION VERSION_GREATER_EQUAL 1.11.0 AND
    Blosc_VERSION VERSION_LESS 1.14.0) OR
   (Blosc_VERSION VERSION_GREATER_EQUAL 1.16.0 AND
    Blosc_VERSION VERSION_LESS 1.16.2))

mccdo/osgworks tests/decimationdebugviewer/CMakeLists.txt :2

if( OPENSCENEGRAPH_VERSION VERSION_LESS "3.1.9" )

podofo/podofo test/common/cmake/Catch2Targets.cmake :61

if(CMAKE_VERSION VERSION_LESS 3.0.0)