@@ -127,29 +127,40 @@ endif()
127
127
128
128
# Specify link flags
129
129
130
+ function (add_toolchain_linker_flag Flag )
131
+ set (Config "${ARGV1} " )
132
+ set (CONFIG_SUFFIX "" )
133
+ if (NOT Config STREQUAL "" )
134
+ set (CONFIG_SUFFIX "_${Config} " )
135
+ endif ()
136
+ set ("CMAKE_EXE_LINKER_FLAGS${CONFIG_SUFFIX} " "${CMAKE_EXE_LINKER_FLAGS${CONFIG_SUFFIX} } ${Flag} " PARENT_SCOPE )
137
+ set ("CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX} " "${CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX} } ${Flag} " PARENT_SCOPE )
138
+ endfunction ()
139
+
140
+
130
141
if (TARGET_ARCH_NAME STREQUAL "armel" )
131
142
if (DEFINED TIZEN_TOOLCHAIN ) # For Tizen only
132
- add_link_options ("-B${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
133
- add_link_options ("-L${CROSS_ROOTFS} /lib" )
134
- add_link_options ("-L${CROSS_ROOTFS} /usr/lib" )
135
- add_link_options ("-L${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
143
+ add_toolchain_linker_flag ("-B${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
144
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /lib" )
145
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /usr/lib" )
146
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
136
147
endif ()
137
148
elseif (TARGET_ARCH_NAME STREQUAL "arm64" )
138
149
if (DEFINED TIZEN_TOOLCHAIN ) # For Tizen only
139
- add_link_options ("-B${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
140
- add_link_options ("-L${CROSS_ROOTFS} /lib64" )
141
- add_link_options ("-L${CROSS_ROOTFS} /usr/lib64" )
142
- add_link_options ("-L${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
143
-
144
- add_link_options ("-Wl,--rpath-link=${CROSS_ROOTFS} /lib64" )
145
- add_link_options ("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64" )
146
- add_link_options ("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
150
+ add_toolchain_linker_flag ("-B${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
151
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /lib64" )
152
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /usr/lib64" )
153
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
154
+
155
+ add_toolchain_linker_flag ("-Wl,--rpath-link=${CROSS_ROOTFS} /lib64" )
156
+ add_toolchain_linker_flag ("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64" )
157
+ add_toolchain_linker_flag ("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
147
158
endif ()
148
159
elseif (TARGET_ARCH_NAME STREQUAL "x86" )
149
- add_link_options (-m32 )
160
+ add_toolchain_linker_flag (-m32 )
150
161
elseif (ILLUMOS )
151
- add_link_options ("-L${CROSS_ROOTFS} /lib/amd64" )
152
- add_link_options ("-L${CROSS_ROOTFS} /usr/amd64/lib" )
162
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /lib/amd64" )
163
+ add_toolchain_linker_flag ("-L${CROSS_ROOTFS} /usr/amd64/lib" )
153
164
endif ()
154
165
155
166
# Specify compile options
0 commit comments