@@ -31,6 +31,10 @@ else()
31
31
message (FATAL_ERROR "Arch is ${TARGET_ARCH_NAME} . Only armel, arm, arm64 and x86 are supported!" )
32
32
endif ()
33
33
34
+ if (DEFINED ENV{TOOLCHAIN} )
35
+ set (TOOLCHAIN $ENV{TOOLCHAIN} )
36
+ endif ()
37
+
34
38
# Specify include paths
35
39
if (TARGET_ARCH_NAME STREQUAL "armel" )
36
40
if (DEFINED TIZEN_TOOLCHAIN )
@@ -39,48 +43,25 @@ if(TARGET_ARCH_NAME STREQUAL "armel")
39
43
endif ()
40
44
endif ()
41
45
42
- # add_compile_param - adds only new options without duplicates.
43
- # arg0 - list with result options, arg1 - list with new options.
44
- # arg2 - optional argument, quick summary string for optional using CACHE FORCE mode.
45
- macro (add_compile_param )
46
- if (NOT ${ARGC} MATCHES "^(2|3)$" )
47
- message (FATAL_ERROR "Wrong using add_compile_param! Two or three parameters must be given! See add_compile_param description." )
48
- endif ()
49
- foreach (OPTION ${ARGV1} )
50
- if (NOT ${ARGV0} MATCHES "${OPTION} ($| )" )
51
- set (${ARGV0} "${${ARGV0} } ${OPTION} " )
52
- if (${ARGC} EQUAL "3" ) # CACHE FORCE mode
53
- set (${ARGV0} "${${ARGV0} }" CACHE STRING "${ARGV2} " FORCE )
54
- endif ()
55
- endif ()
56
- endforeach ()
57
- endmacro ()
46
+ set (CMAKE_SYSROOT "${CROSS_ROOTFS} " )
47
+ set (CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS} /usr" )
48
+ set (CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS} /usr" )
49
+ set (CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS} /usr" )
58
50
59
51
# Specify link flags
60
- add_compile_param (CROSS_LINK_FLAGS "--sysroot=${CROSS_ROOTFS} " )
61
- add_compile_param (CROSS_LINK_FLAGS "--gcc-toolchain=${CROSS_ROOTFS} /usr" )
62
- add_compile_param (CROSS_LINK_FLAGS "--target=${TOOLCHAIN} " )
63
- add_compile_param (CROSS_LINK_FLAGS "-fuse-ld=gold" )
64
52
65
53
if (TARGET_ARCH_NAME STREQUAL "armel" )
66
54
if (DEFINED TIZEN_TOOLCHAIN ) # For Tizen only
67
- add_compile_param ( CROSS_LINK_FLAGS "-B${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
68
- add_compile_param ( CROSS_LINK_FLAGS "-L${CROSS_ROOTFS} /lib" )
69
- add_compile_param ( CROSS_LINK_FLAGS "-L${CROSS_ROOTFS} /usr/lib" )
70
- add_compile_param ( CROSS_LINK_FLAGS "-L${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
55
+ add_link_options ( "-B${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
56
+ add_link_options ( "-L${CROSS_ROOTFS} /lib" )
57
+ add_link_options ( "-L${CROSS_ROOTFS} /usr/lib" )
58
+ add_link_options ( "-L${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
71
59
endif ()
72
60
elseif (TARGET_ARCH_NAME STREQUAL "x86" )
73
- add_compile_param ( CROSS_LINK_FLAGS " -m32" )
61
+ add_link_options ( -m32 )
74
62
endif ()
75
63
76
- add_compile_param (CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS} " "TOOLCHAIN_EXE_LINKER_FLAGS" )
77
- add_compile_param (CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS} " "TOOLCHAIN_EXE_LINKER_FLAGS" )
78
- add_compile_param (CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS} " "TOOLCHAIN_EXE_LINKER_FLAGS" )
79
-
80
64
# Specify compile options
81
- add_compile_options ("--sysroot=${CROSS_ROOTFS} " )
82
- add_compile_options ("--target=${TOOLCHAIN} " )
83
- add_compile_options ("--gcc-toolchain=${CROSS_ROOTFS} /usr" )
84
65
85
66
if (TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64)$" )
86
67
set (CMAKE_C_COMPILER_TARGET ${TOOLCHAIN} )
@@ -103,7 +84,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
103
84
add_compile_options (-Wno-error=unused-command-line-argument )
104
85
endif ()
105
86
106
- # Set LLDB include and library paths
87
+ # Set LLDB include and library paths for builds that need lldb.
107
88
if (TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$" )
108
89
if (TARGET_ARCH_NAME STREQUAL "x86" )
109
90
set (LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME} " )
@@ -131,7 +112,7 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
131
112
endif ()
132
113
endif ()
133
114
134
- set ( CMAKE_FIND_ROOT_PATH " ${CROSS_ROOTFS} " )
115
+
135
116
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
136
117
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
137
118
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
0 commit comments