| cmake_minimum_required(VERSION 3.4.3) | 
 |  | 
 | if(CMAKE_COMPILER_IS_GNUCXX) | 
 |   if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8) | 
 |     message(FATAL_ERROR "host compiler - gcc version must be > 4.8") | 
 |   endif() | 
 | elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | 
 |   if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 3.6) | 
 |     message(FATAL_ERROR "host compiler - clang version must be > 3.6") | 
 |   endif() | 
 | endif() | 
 |  | 
 | if(MSVC) | 
 |   set(ComputeCpp_STL_CHECK_SRC __STL_check) | 
 |   file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${ComputeCpp_STL_CHECK_SRC}.cpp | 
 |     "#include <ios>\n" | 
 |     "int main() { return 0; }\n") | 
 |   execute_process( | 
 |     COMMAND ${ComputeCpp_DEVICE_COMPILER_EXECUTABLE} | 
 |             ${COMPUTECPP_DEVICE_COMPILER_FLAGS} | 
 |             -isystem ${ComputeCpp_INCLUDE_DIRS} | 
 |             -o ${ComputeCpp_STL_CHECK_SRC}.sycl | 
 |             -c ${ComputeCpp_STL_CHECK_SRC}.cpp | 
 |     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | 
 |     RESULT_VARIABLE ComputeCpp_STL_CHECK_RESULT | 
 |     ERROR_QUIET | 
 |     OUTPUT_QUIET) | 
 |   if(NOT ${ComputeCpp_STL_CHECK_RESULT} EQUAL 0) | 
 |     # Try disabling compiler version checks | 
 |     execute_process( | 
 |       COMMAND ${ComputeCpp_DEVICE_COMPILER_EXECUTABLE} | 
 |               ${COMPUTECPP_DEVICE_COMPILER_FLAGS} | 
 |               -D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH | 
 |               -isystem ${ComputeCpp_INCLUDE_DIRS} | 
 |               -o ${ComputeCpp_STL_CHECK_SRC}.cpp.sycl | 
 |               -c ${ComputeCpp_STL_CHECK_SRC}.cpp | 
 |       WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | 
 |       RESULT_VARIABLE ComputeCpp_STL_CHECK_RESULT | 
 |       ERROR_QUIET | 
 |       OUTPUT_QUIET) | 
 |     if(NOT ${ComputeCpp_STL_CHECK_RESULT} EQUAL 0) | 
 |       message(STATUS "Device compiler cannot consume hosted STL headers. Using any parts of the STL will likely result in device compiler errors.") | 
 |     else() | 
 |     message(STATUS "Device compiler does not meet certain STL version requirements. Disabling version checks and hoping for the best.") | 
 |       list(APPEND COMPUTECPP_DEVICE_COMPILER_FLAGS -D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH) | 
 |     endif() | 
 |   endif() | 
 |   file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/${ComputeCpp_STL_CHECK_SRC}.cpp | 
 |               ${CMAKE_CURRENT_BINARY_DIR}/${ComputeCpp_STL_CHECK_SRC}.cpp.sycl) | 
 | endif(MSVC) |