forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
# CMakeLists.txt file for unit testing OpenMP host runtime library.
 | 
						|
include(CheckFunctionExists)
 | 
						|
include(CheckLibraryExists)
 | 
						|
 | 
						|
# Some tests use math functions
 | 
						|
check_library_exists(m sqrt "" LIBOMP_HAVE_LIBM)
 | 
						|
# When using libgcc, -latomic may be needed for atomics
 | 
						|
# (but when using compiler-rt, the atomics will be built-in)
 | 
						|
# Note: we can not check for __atomic_load because clang treats it
 | 
						|
# as special built-in and that breaks CMake checks
 | 
						|
check_function_exists(__atomic_load_1 LIBOMP_HAVE_BUILTIN_ATOMIC)
 | 
						|
if(NOT LIBOMP_HAVE_BUILTIN_ATOMIC)
 | 
						|
  check_library_exists(atomic __atomic_load_1 "" LIBOMP_HAVE_LIBATOMIC)
 | 
						|
else()
 | 
						|
  # not needed
 | 
						|
  set(LIBOMP_HAVE_LIBATOMIC 0)
 | 
						|
endif()
 | 
						|
 | 
						|
macro(pythonize_bool var)
 | 
						|
  if (${var})
 | 
						|
    set(${var} True)
 | 
						|
  else()
 | 
						|
    set(${var} False)
 | 
						|
  endif()
 | 
						|
endmacro()
 | 
						|
 | 
						|
pythonize_bool(LIBOMP_USE_HWLOC)
 | 
						|
pythonize_bool(LIBOMP_OMPT_SUPPORT)
 | 
						|
pythonize_bool(LIBOMP_OMPT_OPTIONAL)
 | 
						|
pythonize_bool(LIBOMP_HAVE_LIBM)
 | 
						|
pythonize_bool(LIBOMP_HAVE_LIBATOMIC)
 | 
						|
 | 
						|
add_openmp_testsuite(check-libomp "Running libomp tests" ${CMAKE_CURRENT_BINARY_DIR} DEPENDS omp)
 | 
						|
# Add target check-ompt, but make sure to not add the tests twice to check-openmp.
 | 
						|
add_openmp_testsuite(check-ompt "Running OMPT tests" ${CMAKE_CURRENT_BINARY_DIR}/ompt EXCLUDE_FROM_CHECK_ALL DEPENDS omp)
 | 
						|
 | 
						|
# Configure the lit.site.cfg.in file
 | 
						|
set(AUTO_GEN_COMMENT "## Autogenerated by libomp configuration.\n# Do not edit!")
 | 
						|
configure_file(lit.site.cfg.in lit.site.cfg @ONLY)
 |