include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake) if (NOT CMAKE_DSM_COMPILER) message(FATAL_ERROR "Need CMAKE_DSM_COMPILER set") endif() _cmake_find_compiler_path(DSM) mark_as_advanced(CMAKE_DSM_COMPILER) if (NOT CMAKE_DSM_COMPILER_ID) # Table of per-vendor compiler id flags with expected output. list(APPEND CMAKE_DSM_COMPILER_ID_VENDORS GNU ) set(CMAKE_DSM_COMPILER_ID_VENDOR_FLAGS_GNU "--version") set(CMAKE_DSM_COMPILER_ID_VENDOR_REGEX_GNU "(GNU assembler)|(GCC)|(Free Software Foundation)") include(CMakeDetermineCompilerId) cmake_determine_compiler_id_vendor(DSM "") endif() if (NOT _CMAKE_TOOLCHAIN_LOCATION) get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_DSM_COMPILER}" PATH) endif() if (CMAKE_DSM_COMPILER_ID) if (CMAKE_DSM_COMPILER_VERSION) set(_version " ${CMAKE_DSM_COMPILER_VERSION}") else() set(_version "") endif() message(STATUS "The DSM compiler identification is ${CMAKE_DSM_COMPILER_ID}${_version}") unset(_version) else() message(STATUS "The DSM compiler identification is unknown") endif() if (NOT _CMAKE_TOOLCHAIN_PREFIX) get_filename_component(COMPILER_BASENAME "${CMAKE_DSM_COMPILER}" NAME) if (COMPILER_BASENAME MATCHES "^(.+1)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$") set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1}) endif() endif() set(_CMAKE_PROCESSING_LANGUAGE "DSM") find_program(CMAKE_DSM_COMPILER_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) find_program(CMAKE_DSM_COMPILER_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) find_program(CMAKE_DSM_COMPILER_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) find_program(CMAKE_DSM_COMPILER_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) find_program(CMAKE_DSM_COMPILER_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) find_program(CMAKE_DSM_COMPILER_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) unset(_CMAKE_PROCESSING_LANGUAGE) set(CMAKE_DSM_COMPILER_ENV_VAR "DSM") if (CMAKE_DSM_COMPILER) message(STATUS "Found DSM assembler: ${CMAKE_DSM_COMPILER}") else() message(STATUS "Didn't find assembler") endif() foreach(_var COMPILER COMPILER_ID COMPILER_ARG1 COMPILER_ENV_VAR COMPILER_AR COMPILER_RANLIB COMPILER_VERSION ) set(_CMAKE_DSM_${_var} "${CMAKE_DSM_${_var}}") endforeach() configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeDSMCompiler.cmake.in" "${CMAKE_PLATFORM_INFO_DIR}/CMakeDSMCompiler.cmake" @ONLY) foreach(_var COMPILER COMPILER_ID COMPILER_ARG1 COMPILER_ENV_VAR COMPILER_AR COMPILER_VERSION ) unset(_CMAKE_DSM_${_var}) endforeach()