@@ -31,6 +31,10 @@ else()
3131 message (FATAL_ERROR "Arch is ${TARGET_ARCH_NAME} . Only armel, arm, arm64 and x86 are supported!" )
3232endif ()
3333
34+ if (DEFINED ENV{TOOLCHAIN})
35+ set (TOOLCHAIN $ENV{TOOLCHAIN} )
36+ endif ()
37+
3438# Specify include paths
3539if (TARGET_ARCH_NAME STREQUAL "armel" )
3640 if (DEFINED TIZEN_TOOLCHAIN)
@@ -39,48 +43,25 @@ if(TARGET_ARCH_NAME STREQUAL "armel")
3943 endif ()
4044endif ()
4145
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" )
5850
5951# 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" )
6452
6553if (TARGET_ARCH_NAME STREQUAL "armel" )
6654 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} " )
7159 endif ()
7260elseif (TARGET_ARCH_NAME STREQUAL "x86" )
73- add_compile_param(CROSS_LINK_FLAGS " -m32" )
61+ add_link_options ( -m32)
7462endif ()
7563
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-
8064# 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" )
8465
8566if (TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64)$" )
8667 set (CMAKE_C_COMPILER_TARGET ${TOOLCHAIN} )
@@ -103,7 +84,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
10384 add_compile_options (-Wno-error=unused-command -line-argument)
10485endif ()
10586
106- # Set LLDB include and library paths
87+ # Set LLDB include and library paths for builds that need lldb.
10788if (TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$" )
10889 if (TARGET_ARCH_NAME STREQUAL "x86" )
10990 set (LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME} " )
@@ -131,7 +112,7 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
131112 endif ()
132113endif ()
133114
134- set (CMAKE_FIND_ROOT_PATH " ${CROSS_ROOTFS} " )
115+
135116set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
136117set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
137118set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
0 commit comments