mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	* There is no reason to require SDKROOT as an environment variable because we can derive it from xcrun * Setting CMAKE_RANLIB makes our static archives usable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232053 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# Toolchain config for iOS.
 | 
						|
#
 | 
						|
# Usage:
 | 
						|
# mkdir build; cd build
 | 
						|
# cmake ..; make
 | 
						|
# mkdir ios; cd ios
 | 
						|
# cmake -DLLVM_IOS_TOOLCHAIN_DIR=/path/to/ios/ndk \
 | 
						|
#   -DCMAKE_TOOLCHAIN_FILE=../../cmake/platforms/iOS.cmake ../..
 | 
						|
# make <target>
 | 
						|
 | 
						|
SET(CMAKE_SYSTEM_NAME Darwin)
 | 
						|
SET(CMAKE_SYSTEM_VERSION 13)
 | 
						|
SET(CMAKE_CXX_COMPILER_WORKS True)
 | 
						|
SET(CMAKE_C_COMPILER_WORKS True)
 | 
						|
SET(DARWIN_TARGET_OS_NAME ios)
 | 
						|
 | 
						|
IF(NOT DEFINED ENV{SDKROOT})
 | 
						|
 execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
 | 
						|
   OUTPUT_VARIABLE SDKROOT
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
ELSE()
 | 
						|
  execute_process(COMMAND xcodebuild -version -sdk $ENV{SDKROOT} Path
 | 
						|
   OUTPUT_VARIABLE SDKROOT
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
ENDIF()
 | 
						|
 | 
						|
IF(NOT EXISTS ${SDKROOT})
 | 
						|
  MESSAGE(FATAL_ERROR "SDKROOT could not be detected!")
 | 
						|
ENDIF()
 | 
						|
 | 
						|
set(CMAKE_OSX_SYSROOT ${SDKROOT})
 | 
						|
 | 
						|
IF(NOT CMAKE_C_COMPILER)
 | 
						|
  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find clang
 | 
						|
   OUTPUT_VARIABLE CMAKE_C_COMPILER
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
  message(STATUS "Using c compiler ${CMAKE_C_COMPILER}")
 | 
						|
ENDIF()
 | 
						|
 | 
						|
IF(NOT CMAKE_CXX_COMPILER)
 | 
						|
  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find clang++
 | 
						|
   OUTPUT_VARIABLE CMAKE_CXX_COMPILER
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
  message(STATUS "Using c compiler ${CMAKE_CXX_COMPILER}")
 | 
						|
ENDIF()
 | 
						|
 | 
						|
IF(NOT CMAKE_AR)
 | 
						|
  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find ar
 | 
						|
   OUTPUT_VARIABLE CMAKE_AR_val
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
  SET(CMAKE_AR ${CMAKE_AR_val} CACHE FILEPATH "Archiver")
 | 
						|
  message(STATUS "Using ar ${CMAKE_AR}")
 | 
						|
ENDIF()
 | 
						|
 | 
						|
IF(NOT CMAKE_RANLIB)
 | 
						|
  execute_process(COMMAND xcrun -sdk ${SDKROOT} -find ranlib
 | 
						|
   OUTPUT_VARIABLE CMAKE_RANLIB_val
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
  SET(CMAKE_RANLIB ${CMAKE_RANLIB_val} CACHE FILEPATH "Ranlib")
 | 
						|
  message(STATUS "Using ranlib ${CMAKE_RANLIB}")
 | 
						|
ENDIF()
 | 
						|
 | 
						|
IF (NOT DEFINED IOS_MIN_TARGET)
 | 
						|
execute_process(COMMAND xcodebuild -sdk ${SDKROOT} -version SDKVersion
 | 
						|
   OUTPUT_VARIABLE IOS_MIN_TARGET
 | 
						|
   ERROR_QUIET
 | 
						|
   OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
						|
ENDIF()
 | 
						|
 | 
						|
SET(IOS_COMMON_FLAGS "-mios-version-min=${IOS_MIN_TARGET}")
 | 
						|
SET(CMAKE_C_FLAGS "${IOS_COMMON_FLAGS}" CACHE STRING "toolchain_cflags" FORCE)
 | 
						|
SET(CMAKE_CXX_FLAGS "${IOS_COMMON_FLAGS}" CACHE STRING "toolchain_cxxflags" FORCE)
 | 
						|
SET(CMAKE_LINK_FLAGS "${IOS_COMMON_FLAGS}" CACHE STRING "toolchain_linkflags" FORCE)
 |