mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-10-27 02:20:31 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 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)
 | 
