mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-25 18:10:22 -04:00 
			
		
		
		
	
		
			
	
	
		
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
|  | #
 | ||
|  | # Check if the file system is case sensitive or not
 | ||
|  | # Inspired by Andreas Lauser's cmake at:
 | ||
|  | # https://github.com/OPM/opm-parser/blob/master/cmake/Modules/CheckCaseSensitiveFileSystem.cmake
 | ||
|  | # Included in sdrangle (LGPL3) - with permission.
 | ||
|  | #
 | ||
|  | # Sets the following variable:
 | ||
|  | # HAVE_CASE_SENSITIVE_FILESYSTEM   True if the file system honors the case of files
 | ||
|  | #
 | ||
|  | # I dislike that we have to emit a file from CMake, but I can't think of a better way.
 | ||
|  | 
 | ||
|  | message(STATUS "Check for case-sensitive file systems")
 | ||
|  | string(RANDOM LENGTH 6 ALPHABET abcdefghijklmnopqrstuvwxyz TMP_FILE_L)
 | ||
|  | set(TMP_FILE_L "${TMP_FILE_L}.tmp")
 | ||
|  | string(TOUPPER ${TMP_FILE_L} TMP_FILE_U)
 | ||
|  | string(TIMESTAMP TMP_TIME)
 | ||
|  | set(TMP_FILE_CONTENTS "${TMP_FILE_L} ${TMP_TIME}")
 | ||
|  | # create a uppercase file
 | ||
|  | file(WRITE "${CMAKE_BINARY_DIR}/${TMP_FILE_U}" "${TMP_FILE_CONTENTS}")
 | ||
|  | 
 | ||
|  | # test if lowercase file can be opened
 | ||
|  | set(FileContents "")
 | ||
|  | if (EXISTS "${CMAKE_BINARY_DIR}/${TMP_FILE_L}")
 | ||
|  | 	file(READ "${CMAKE_BINARY_DIR}/${TMP_FILE_L}" FileContents)
 | ||
|  | endif()
 | ||
|  | 
 | ||
|  | # remove the file
 | ||
|  | file(REMOVE "${CMAKE_BINARY_DIR}/${TMP_FILE_U}")
 | ||
|  | 
 | ||
|  | # check the contents
 | ||
|  | # If it is empty, the file system is case sensitive.
 | ||
|  | if ("${FileContents}" STREQUAL "${TMP_FILE_CONTENTS}")
 | ||
|  | 	message(STATUS "File system is not case-sensitive")
 | ||
|  | 	set(HAVE_CASE_SENSITIVE_FILESYSTEM 0)
 | ||
|  | else()
 | ||
|  | 	message(STATUS "File system is case-sensitive")
 | ||
|  | 	set(HAVE_CASE_SENSITIVE_FILESYSTEM 1)
 | ||
|  | endif()
 |