1if(_ARMCC_CMAKE_LOADED) 2 return() 3endif() 4set(_ARMCC_CMAKE_LOADED TRUE) 5 6# See ARM Compiler documentation at: 7# http://infocenter.arm.com/help/topic/com.arm.doc.set.swdev/index.html 8 9get_filename_component(_CMAKE_C_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH) 10get_filename_component(_CMAKE_CXX_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH) 11 12set(CMAKE_EXECUTABLE_SUFFIX ".elf") 13 14find_program(CMAKE_ARMCC_LINKER armlink HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" ) 15find_program(CMAKE_ARMCC_AR armar HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" ) 16 17set(CMAKE_LINKER "${CMAKE_ARMCC_LINKER}" CACHE FILEPATH "The ARMCC linker" FORCE) 18mark_as_advanced(CMAKE_ARMCC_LINKER) 19set(CMAKE_AR "${CMAKE_ARMCC_AR}" CACHE FILEPATH "The ARMCC archiver" FORCE) 20mark_as_advanced(CMAKE_ARMCC_AR) 21 22macro(__compiler_armcc lang) 23 string(APPEND CMAKE_${lang}_FLAGS_INIT " ") 24 string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g") 25 string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Ospace -DNDEBUG") 26 string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Otime -DNDEBUG") 27 string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g") 28 29 set(CMAKE_${lang}_OUTPUT_EXTENSION ".o") 30 set(CMAKE_${lang}_OUTPUT_EXTENSION_REPLACE 1) 31 set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "--via=") 32 33 set(CMAKE_${lang}_LINK_EXECUTABLE "<CMAKE_LINKER> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS> -o <TARGET> --list <TARGET_BASE>.map") 34 set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_AR> --create -cr <TARGET> <LINK_FLAGS> <OBJECTS>") 35 36 set(CMAKE_DEPFILE_FLAGS_${lang} "--depend=<DEP_FILE> --depend_single_line --no_depend_system_headers") 37 38 set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "-Xlinker" " ") 39endmacro() 40