blob: d3bda8b208276d127ecfea4b266ed749de34b41f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
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()
|