cmake if(AND) examples

86Box/86Box src/qt/CMakeLists.txt :227

if(MSVC OR (NOT MINGW AND CMAKE_VERSION VERSION_GREATER_EQUAL 3.22))

ornladios/ADIOS2 cmake/FindDAOS.cmake :28

if((NOT DAOS_ROOT) AND (NOT (ENV{DAOS_ROOT} STREQUAL "")))

ornladios/ADIOS2 cmake/upstream/FindPkgConfig.cmake :179

if(ARGC GREATER 2 AND _var STREQUAL "ENV")

ornladios/ADIOS2 cmake/upstream/FindPkgConfig.cmake :322

if(NOT DEFINED CMAKE_SYSTEM_NAME
    OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
        AND NOT CMAKE_CROSSCOMPILING))

ornladios/ADIOS2 cmake/upstream/FindPkgConfig.cmake :729

if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR
    (NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR
    (    "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}"))

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

if (name IN_LIST _${_PYTHON_PREFIX}_IRON_PYTHON_INTERPRETER_NAMES
    AND ext STREQUAL ".exe")

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

if (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version)

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

if (DEFINED _${_PYTHON_PREFIX}_FIND_ABI AND NOT lib_ABI IN_LIST _${_PYTHON_PREFIX}_ABIFLAGS)

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 cmake/upstream/FindPython/Support.cmake :1021

if (DEFINED ${_PYTHON_PREFIX}_FIND_VERSION_MAJOR
    AND NOT ${_PYTHON_PREFIX}_FIND_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)

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

if (CMAKE_HOST_APPLE AND _${_PYTHON_PREFIX}_FIND_FRAMEWORK STREQUAL "LAST")

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

if ("${_${_PYTHON_PREFIX}_VERSION_MAJOR}.${_${_PYTHON_PREFIX}_VERSION_MINOR}" VERSION_EQUAL "${${_PYTHON_PREFIX}_VERSION_MAJOR}.${${_PYTHON_PREFIX}_VERSION_MINOR}"
    AND "${_${_PYTHON_PREFIX}_INC_VERSION_MAJOR}.${_${_PYTHON_PREFIX}_INC_VERSION_MINOR}" VERSION_EQUAL "${_${_PYTHON_PREFIX}_VERSION_MAJOR}.${_${_PYTHON_PREFIX}_VERSION_MINOR}")

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

if (DEFINED ${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR
    AND IS_ABSOLUTE "${${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR}")

ornladios/ADIOS2 testing/adios2/engine/bp/operations/CMakeLists.txt :53

if(ADIOS2_HAVE_CUDA AND MGARD_ENABLE_CUDA)

ornladios/ADIOS2 testing/adios2/engine/common/CMakeLists.txt :25

if(ADIOS2_HAVE_HDF5 AND HDF5_IS_PARALLEL)

ornladios/ADIOS2 testing/adios2/engine/ssc/CMakeLists.txt :8

if(ADIOS2_HAVE_MPI AND NOT MSVC)

ornladios/ADIOS2 thirdparty/dill/dill/CMakeLists.txt :60

if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND
   CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0.0)

ornladios/ADIOS2 thirdparty/GTest/googletest/CMakeLists.txt :9

if(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX)

ornladios/ADIOS2 thirdparty/KWSys/adios2sys/CMakeLists.txt :981

if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND
   CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "19.0.23506")

alembic/alembic python/PyAlembic/CMakeLists.txt :143

IF ((19.00.24213.1 VERSION_LESS_EQUAL CMAKE_CXX_COMPILER_VERSION) AND
    (19.00.24234.1 VERSION_GREATER_EQUAL CMAKE_CXX_COMPILER_VERSION))

apache/arrow cpp/cmake_modules/BuildUtils.cmake :693

if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE)

apache/arrow cpp/cmake_modules/FindThriftAlt.cmake :173

if(WIN32 AND NOT MSVC_TOOLCHAIN)

apache/arrow cpp/cmake_modules/ThirdpartyToolchain.cmake :1165

if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER
                                              15)

assimp/assimp CMakeLists.txt :318

IF(CMAKE_CXX_COMPILER_VERSION GREATER_EQUAL 13 AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")

assimp/assimp code/CMakeLists.txt :471

IF(((CMAKE_CXX_COMPILER_ID MATCHES "GNU") AND NOT MINGW AND NOT HAIKU) AND CMAKE_CXX_COMPILER_VERSION GREATER_EQUAL 13)

assimp/assimp contrib/android-cmake/android.toolchain.cmake :1013

if( ARMEABI_V7A AND ANDROID_COMPILER_VERSION VERSION_EQUAL "4.7" AND ANDROID_NDK_RELEASE STREQUAL "r8d" )

assimp/assimp contrib/android-cmake/android.toolchain.cmake :1421

if( NOT (ANDROID_NATIVE_API_LEVEL LESS 16) AND (NOT DEFINED ANDROID_APP_PIE OR ANDROID_APP_PIE) AND (CMAKE_VERSION VERSION_GREATER 2.8.8) )

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)

OpenChemistry/avogadrolibs thirdparty/tinycolormap/CMakeLists.txt :28

if(APPLE AND EXISTS /usr/local/opt/qt5)

OpenChemistry/avogadrolibs thirdparty/tinycolormap/CMakeLists.txt :31

if(APPLE AND EXISTS /usr/local/opt/qt)

mono/boringssl third_party/android-cmake/android.toolchain.cmake :1431

if( DEFINED ANDROID_RTTI AND ANDROID_STL_FORCE_FEATURES )

mono/boringssl third_party/android-cmake/android.toolchain.cmake :1495

if( DEFINED LIBRARY_OUTPUT_PATH_ROOT
      OR EXISTS "${CMAKE_SOURCE_DIR}/AndroidManifest.xml"
      OR (EXISTS "${CMAKE_SOURCE_DIR}/../AndroidManifest.xml" AND EXISTS "${CMAKE_SOURCE_DIR}/../jni/") )

mono/boringssl util/android-cmake/android.toolchain.cmake :907

if( ARMEABI_V7A AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}/bits" )

mono/boringssl util/android-cmake/android.toolchain.cmake :1013

if( ARMEABI_V7A AND ANDROID_COMPILER_VERSION VERSION_EQUAL "4.7" AND ANDROID_NDK_RELEASE STREQUAL "r8d" )

mono/boringssl util/android-cmake/android.toolchain.cmake :1421

if( NOT (ANDROID_NATIVE_API_LEVEL LESS 16) AND (NOT DEFINED ANDROID_APP_PIE OR ANDROID_APP_PIE) AND (CMAKE_VERSION VERSION_GREATER 2.8.8) )

google/brotli CMakeLists.txt :288

if(path_length EQUAL value_length AND path STREQUAL value)

bulletphysics/bullet3 CMakeLists.txt :422

IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos3 AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos3)

CastXML/CastXML test/run.cmake :97

if("$ENV{TEST_UPDATE}" AND expect_xml_file AND EXISTS "${xml}")

ccache/ccache cmake/FindCppHttplib.cmake :12

if(NOT "${CMAKE_MATCH_0}" STREQUAL "" AND "${_cpphttplib_version_string}" VERSION_GREATER_EQUAL "${CppHttplib_FIND_VERSION}")

CGAL/cgal CGAL_ipelets/demo/CGAL_ipelets/CMakeLists.txt :4

if(NOT POLICY CMP0070 AND POLICY CMP0053)

CGAL/cgal Installation/CMakeLists.txt :773

if(IS_DIRECTORY auxiliary/gmp/include AND IS_DIRECTORY auxiliary/gmp/lib)

CGAL/cgal Installation/CMakeLists.txt :839

if(DEFINED CACHE{WITH_${name}} AND "${WITH_${name}}" AND CMAKE_PROJECT_NAME STREQUAL "CGAL")

CGAL/cgal Installation/cmake/modules/CGALHelpers.cmake :70

if(NOT ${entry} MATCHES ".*\\.svn\$" AND IS_DIRECTORY ${entry})

CGAL/cgal Installation/cmake/modules/CGAL_add_test.cmake :256

if((ANDROID OR CGAL_RUN_TESTS_THROUGH_SSH) AND NOT TEST push_of__${exe_name})

CGAL/cgal Installation/cmake/modules/CGAL_Boost_iostreams_support.cmake :2

if(Boost_IOSTREAMS_FOUND AND NOT TARGET CGAL::Boost_iostreams_support)

CGAL/cgal Installation/cmake/modules/CGAL_SetupVLD.cmake :3

if(DEFINED ENV{CGAL_ENABLE_VLD} AND NOT DEFINED CGAL_ENABLE_VLD)

CGAL/cgal Installation/cmake/modules/FindLEDA.cmake :101

if ( UNIX AND IS_DIRECTORY "${LEDA_INCLUDE_DIR}/LEDA/graphics")

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()

CGAL/cgal Installation/lib/cmake/CGAL/CGALConfig.cmake :35

  if(IS_DIRECTORY ${inc_dir}
AND IS_DIRECTORY ${package_dir}/package_info)

CGAL/cgal Lab/demo/Lab/CGALlab_macros.cmake :48

if(TARGET "compilation_of__demo_framework" AND TEST "compilation of  ${plugin_name}")

CGAL/cgal Point_set_processing_3/examples/Point_set_processing_3/CMakeLists.txt :153

if(CGAL_ACTIVATE_CONCURRENT_MESH_3 AND TARGET CGAL::TBB_support)

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)))

projectchrono/chrono cmake/FindSIMD.cmake :387

if(CLANG_VERSION_STRING VERSION_GREATER_EQUAL 15.0 AND NOT CMAKE_CROSSCOMPILING)

projectchrono/chrono src/CMakeLists.txt :148

if((${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND MSVC AND "${MSVC_VERSION}" GREATER_EQUAL 1915) OR NOT CH_USE_EIGEN_OPENMP)

projectchrono/chrono src/chrono/CMakeLists.txt :1538

if(MSVC AND MSVC_VERSION GREATER_EQUAL 1900)

projectchrono/chrono src/chrono_sensor/CMakeLists.txt :397

# if(MSVC AND MSVC_VERSION GREATER_EQUAL 1900)

projectchrono/chrono template_project_fmi2/CMakeLists.txt :107

if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "6.0")

civetweb/civetweb cmake/FindWinSock.cmake :87

if ("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "AMD64" AND "${CMAKE_SIZEOF_VOID_P}" EQUAL 4)

eranif/codelite wxcrafter/CMakeLists.txt :43

if(CMAKE_VERSION VERSION_GREATER 2.8.7 AND (UNIX AND NOT APPLE))

mono/corert cross/toolchain.cmake :122

if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}")

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/CorradeLibSuffix.cmake :50

if(LIB_SUFFIX AND NOT IS_SYMLINK /usr/lib64)

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"))

cp2k/cp2k cmake/modules/FindSCALAPACK.cmake :20

if(CP2K_SCALAPACK_VENDOR MATCHES "MKL|auto"
   AND TARGET cp2k::BLAS::MKL::scalapack_link)

zeromq/cppzmq CMakeLists.txt :25

if (ZeroMQ_FOUND AND NOT (TARGET libzmq OR TARGET libzmq-static))

zeromq/cppzmq CMakeLists.txt :98

if (CMAKE_CXX_STANDARD AND NOT CMAKE_CXX_STANDARD EQUAL 98 AND CMAKE_CXX_STANDARD GREATER_EQUAL 11)

curl/curl CMakeLists.txt :1615

if(HAVE_WIN32_WINNT AND HAVE_WIN32_WINNT GREATER_EQUAL 0x0600 AND  # Windows Vista or newer
   (MINGW OR MSVC) AND
   NOT WINCE AND NOT WINDOWS_STORE)

curl/curl CMake/PickyWarnings.cmake :164

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

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)

cp2k/dbcsr examples/CMakeLists.txt :22

if ((CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
    AND (CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10))

microsoft/DirectXMath SHMath/CMakeLists.txt :144

if((MSVC_VERSION GREATER_EQUAL 1928)
   AND (CMAKE_SIZEOF_VOID_P EQUAL 8)
   AND ((NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)))

microsoft/DirectXMesh build/CompilerAndLinker.cmake :83

if((MSVC_VERSION GREATER_EQUAL 1928)
   AND (CMAKE_SIZEOF_VOID_P EQUAL 8)
   AND (NOT (TARGET OpenEXR::OpenEXR))
   AND ((NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)))

microsoft/DirectXTex CMakeLists.txt :420

if(ENABLE_LIBPNG_SUPPORT AND PNG_FOUND)

microsoft/DirectXTex build/CompilerAndLinker.cmake :78

if((${DIRECTX_ARCH} STREQUAL "x86")
   OR ((CMAKE_SIZEOF_VOID_P EQUAL 4) AND (NOT (${DIRECTX_ARCH} MATCHES "^arm"))))

microsoft/DirectXTex build/CompilerAndLinker.cmake :83

if((MSVC_VERSION GREATER_EQUAL 1928)
   AND (CMAKE_SIZEOF_VOID_P EQUAL 8)
   AND (NOT (TARGET OpenEXR::OpenEXR))
   AND ((NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)))

microsoft/DirectXTex build/CompilerAndLinker.cmake :190

if((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.31)
   AND (XBOX_CONSOLE_TARGET STREQUAL "durango"))

microsoft/DirectXTK build/CompilerAndLinker.cmake :83

if((MSVC_VERSION GREATER_EQUAL 1928)
   AND (CMAKE_SIZEOF_VOID_P EQUAL 8)
   AND (NOT (TARGET OpenEXR::OpenEXR))
   AND ((NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)))

davisking/dlib dlib/CMakeLists.txt :53

if (COMMAND pybind11_add_module AND MSVC)

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

if(OSX AND CMAKE_VERSION VERSION_LESS 3.7)

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

if(MSVC AND CMAKE_VERSION VERSION_LESS 3.11)

davisking/dlib dlib/external/pybind11/tools/pybind11Tools.cmake :23

if(NOT DEFINED PYBIND11_PYTHON_VERSION AND DEFINED PYTHON_VERSION)

davisking/dlib dlib/test/CMakeLists.txt :181

if ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 11.3.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 11.4.0) OR
   (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 14.0.1))

davisking/dlib dlib/test/CMakeLists.txt :191

if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 14.0.1)

duckdb/duckdb CMakeLists.txt :589

if(DEFINED STANDARD_VECTOR_SIZE AND NOT STANDARD_VECTOR_SIZE STREQUAL "")

ElmerCSC/elmerfem CMakeLists.txt :31

if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND USE_MACOS_PACKAGE_MANAGER)

ElmerCSC/elmerfem cmake/Modules/FindPARPACK.cmake :13

IF(PARPACK_LIBRARIES AND PARPACK_INCLUDE_DIR)

ElmerCSC/elmerfem elmerice/cmake/Modules/FindCSA.cmake :49

IF (CSA_INCLUDE_DIR AND CSA_LIB)

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

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

spnda/fastgltf cmake/compilers.cmake :42

if ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "16.0.0") OR (MSVC AND MSVC_VERSION GREATER_EQUAL 1931) OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "14.1.0"))

xiph/flac CMakeLists.txt :115

if(MSVC AND CMAKE_C_STANDARD GREATER_EQUAL 11)

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" )) )

FluidSynth/fluidsynth cmake_admin/FindPipeWire.cmake :63

if(_pipewire_major_re
   AND _pipewire_minor_re
   AND _pipewire_patch_re)

FluidSynth/fluidsynth src/CMakeLists.txt :410

if ( TARGET InstPatch::libinstpatch AND LIBINSTPATCH_SUPPORT )

fontforge/fontforge cmake/backports/3.15.7/FindX11.cmake :284

if (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)

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))

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

if (DEFINED ${_PYTHON_PREFIX}_FIND_VERSION_MAJOR
    AND NOT ${_PYTHON_PREFIX}_FIND_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)