Skip to content

Commit a1b95d7

Browse files
committed
Added AGL CMake toolchain file and modified 3rd party cmake files for cross compiling
1 parent 77a9b3c commit a1b95d7

8 files changed

Lines changed: 151 additions & 44 deletions

File tree

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,9 @@ if(HMI STREQUAL "qt")
338338
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
339339
find_package(Qt4 ${qt_version} REQUIRED QtCore QtGui QtDBus QtDeclarative)
340340
else ()
341+
if (CROSS_HOST)
342+
set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS ${qt_bin_dir}) # Added By JC
343+
endif ()
341344
find_package(Qt5Core REQUIRED)
342345
find_package(Qt5DBus REQUIRED)
343346
find_package(Qt5Qml REQUIRED)

rcar_m2_agl_linux.cmake

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Setup Crosscompiling for AGL(Poky toolchain) on Renesas Rcar M2
2+
SET(CMAKE_SYSTEM_NAME Linux)
3+
SET(CMAKE_SYSTEM_PROCESSOR armv7)
4+
SET(CMAKE SYSTEM_VERSION 1)
5+
6+
# Setup the cross compiler
7+
SET(CMAKE_C_COMPILER ${CC})
8+
SET(CMAKE_CXX_COMPILER ${CXX})
9+
10+
ADD_DEFINITIONS(-DBLUEZ5)
11+
12+
SET(CROSS_HOST "arm-agl-linux-gnueabi")
13+
SET(CROSS_APR_VARS
14+
"ac_cv_file__dev_zero=yes"
15+
"ac_cv_func_setpgrp_void=yes"
16+
"apr_cv_tcp_nodelay_with_cork=yes"
17+
"apr_cv_process_shared_works=yes"
18+
"apr_cv_mutex_robust_shared=no"
19+
"ac_cv_sizeof_struct_iovec=8"
20+
"ac_cv_sizeof_long=4"
21+
"apr_cv_mutex_recursive=yes")
22+
23+
# Setup SysRoot
24+
SET(CMAKE_SYSROOT $ENV{SDKTARGETSYSROOT})
25+
SET(CMAKE_FIND_ROOT_PATH $ENV{SDKTARGETSYSROOT})
26+
27+
#Set searching directories
28+
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
29+
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
30+
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
31+
SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt

Lines changed: 47 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ set(COMMON_CONFIGURE_FLAGS
4646
"LDFLAGS=-L${EXPAT_LIBS_DIRECTORY}"
4747
)
4848

49+
if(CROSS_HOST)
50+
set(EXTRA_CONFIGURE_FLAGS
51+
"--host=${CROSS_HOST}"
52+
)
53+
else()
54+
set(EXTRA_CONFIGURE_FLAGS "")
55+
endif()
56+
4957
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5058
if (CMAKE_SYSTEM_PROCESSOR MATCHES arm*)
5159
set (ARCHITECTURE arm) # log4cxx doesn't recognize armv7
@@ -54,32 +62,48 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5462
endif ()
5563
set(CONFIGURE_FLAGS "--host=${ARCHITECTURE}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
5664
else()
57-
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
65+
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS} ${EXTRA_CONFIGURE_FLAGS})
5866
endif()
5967

60-
add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
61-
COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${LOG4CXX_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
62-
DEPENDS libapr-1
63-
DEPENDS apr-util
64-
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
65-
)
68+
if(CROSS_HOST)
69+
add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
70+
COMMAND ${LOG4CXX_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
71+
DEPENDS libapr-1
72+
DEPENDS apr-util
73+
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
74+
)
75+
else()
76+
add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
77+
COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${LOG4CXX_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
78+
DEPENDS libapr-1
79+
DEPENDS apr-util
80+
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
81+
)
82+
endif()
6683

67-
add_custom_target(liblog4cxx ALL make
68-
COMMAND /bin/bash -c \"
69-
cd ${CMAKE_CURRENT_SOURCE_DIR}\;
70-
git log . 1>/dev/null 2>&1\;
71-
if [ \\$$? == 0 ]; then
72-
grep \\".commit_hash\\" ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
73-
if [ ! \\\$$? == 0 ]\; then
74-
cd ${CMAKE_CURRENT_SOURCE_DIR} &&
75-
git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null &&
76-
echo \\"Adding .commit_hash section\\" &&
77-
objcopy --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
78-
fi;
79-
fi\"
80-
DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
81-
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
82-
)
84+
if(CROSS_HOST)
85+
add_custom_target(liblog4cxx ALL make
86+
DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
87+
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
88+
)
89+
else()
90+
add_custom_target(liblog4cxx ALL make
91+
COMMAND /bin/bash -c \"
92+
cd ${CMAKE_CURRENT_SOURCE_DIR}\;
93+
git log . 1>/dev/null 2>&1\;
94+
if [ \\$$? == 0 ]; then
95+
grep \\".commit_hash\\" ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
96+
if [ ! \\\$$? == 0 ]\; then
97+
cd ${CMAKE_CURRENT_SOURCE_DIR} &&
98+
git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null &&
99+
echo \\"Adding .commit_hash section\\" &&
100+
objcopy --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
101+
fi;
102+
fi\"
103+
DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
104+
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
105+
)
106+
endif()
83107
84108
install(
85109
DIRECTORY ${LOG4CXX_LIBS_DIRECTORY}/

src/3rd_party/apr-cmake/CMakeLists.txt

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,28 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5555
"apr_cv_tcp_nodelay_with_cork=no"
5656
"ac_cv_sizeof_struct_iovec=8"
5757
)
58+
elseif(CROSS_HOST)
59+
set(CONFIGURE_FLAGS
60+
"--host=${CROSS_HOST}"
61+
${CROSS_APR_VARS}
62+
)
5863
else()
5964
set(CONFIGURE_FLAGS "")
6065
endif()
6166

62-
add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile
63-
COMMAND CC=${CMAKE_C_COMPILER} ${APR_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
64-
COMMAND ${CMAKE_COMMAND} -E copy include/apr.h ${APR_SOURCE_DIRECTORY}/include
65-
WORKING_DIRECTORY ${APR_BUILD_DIRECTORY}
66-
)
67+
if(CROSS_HOST)
68+
add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile
69+
COMMAND ${APR_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
70+
COMMAND ${CMAKE_COMMAND} -E copy include/apr.h ${APR_SOURCE_DIRECTORY}/include
71+
WORKING_DIRECTORY ${APR_BUILD_DIRECTORY}
72+
)
73+
else()
74+
add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile
75+
COMMAND CC=${CMAKE_C_COMPILER} ${APR_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
76+
COMMAND ${CMAKE_COMMAND} -E copy include/apr.h ${APR_SOURCE_DIRECTORY}/include
77+
WORKING_DIRECTORY ${APR_BUILD_DIRECTORY}
78+
)
79+
endif()
6780

6881
add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/include/private/apr_escape_test_char.h
6982
DEPENDS ${APR_BUILD_DIRECTORY}/Makefile

src/3rd_party/apr-util-cmake/CMakeLists.txt

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,35 @@ set(COMMON_CONFIGURE_FLAGS
4646
"--with-expat-build=${EXPAT_BUILD_DIRECTORY}"
4747
)
4848

49+
if(CROSS_HOST)
50+
set(EXTRA_CONFIGURE_FLAGS
51+
"--host=${CROSS_HOST}"
52+
)
53+
else()
54+
set(EXTRA_CONFIGURE_FLAGS "")
55+
endif()
56+
4957
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5058
set(CONFIGURE_FLAGS "--host=${CMAKE_SYSTEM_PROCESSOR}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
5159
else()
52-
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
60+
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS} ${EXTRA_CONFIGURE_FLAGS})
5361
endif()
5462

55-
56-
add_custom_command(OUTPUT ${APR_UTIL_BUILD_DIRECTORY}/Makefile
57-
COMMAND CC=${CMAKE_C_COMPILER} ${APR_UTIL_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
58-
DEPENDS libapr-1
59-
DEPENDS expat
60-
WORKING_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}
61-
)
63+
if(CROSS_HOST)
64+
add_custom_command(OUTPUT ${APR_UTIL_BUILD_DIRECTORY}/Makefile
65+
COMMAND ${APR_UTIL_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
66+
DEPENDS libapr-1
67+
DEPENDS expat
68+
WORKING_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}
69+
)
70+
else()
71+
add_custom_command(OUTPUT ${APR_UTIL_BUILD_DIRECTORY}/Makefile
72+
COMMAND CC=${CMAKE_C_COMPILER} ${APR_UTIL_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
73+
DEPENDS libapr-1
74+
DEPENDS expat
75+
WORKING_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}
76+
)
77+
endif()
6278

6379
add_custom_target(apr-util ALL make
6480
DEPENDS ${APR_UTIL_BUILD_DIRECTORY}/Makefile

src/3rd_party/dbus-cmake/CMakeLists.txt

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,33 @@ set(COMMON_CONFIGURE_FLAGS
5050
"LDFLAGS=-L${EXPAT_LIBS_DIRECTORY}"
5151
)
5252

53+
if(CROSS_HOST)
54+
set(EXTRA_CONFIGURE_FLAGS
55+
"--host=${CROSS_HOST}"
56+
)
57+
else()
58+
set(EXTRA_CONFIGURE_FLAGS "")
59+
endif()
60+
5361
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
5462
set(CONFIGURE_FLAGS "--host=${CMAKE_SYSTEM_PROCESSOR}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
5563
else ()
56-
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
64+
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS} ${EXTRA_CONFIGURE_FLAGS})
5765
endif ()
5866

59-
add_custom_command(OUTPUT ${DBUS_BUILD_DIRECTORY}/Makefile
60-
COMMAND CC=${CMAKE_C_COMPILER} ${DBUS_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
61-
DEPENDS expat
62-
WORKING_DIRECTORY ${DBUS_BUILD_DIRECTORY}
63-
)
67+
if(CROSS_HOST)
68+
add_custom_command(OUTPUT ${DBUS_BUILD_DIRECTORY}/Makefile
69+
COMMAND ${DBUS_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
70+
DEPENDS expat
71+
WORKING_DIRECTORY ${DBUS_BUILD_DIRECTORY}
72+
)
73+
else()
74+
add_custom_command(OUTPUT ${DBUS_BUILD_DIRECTORY}/Makefile
75+
COMMAND CC=${CMAKE_C_COMPILER} ${DBUS_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
76+
DEPENDS expat
77+
WORKING_DIRECTORY ${DBUS_BUILD_DIRECTORY}
78+
)
79+
endif()
6480

6581
add_custom_target(dbus ALL make
6682
COMMAND /bin/bash -c \"

src/3rd_party/set_3rd_party_paths.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ else()
4747
endif()
4848
set(3RD_PARTY_INSTALL_PREFIX_ARCH "$ENV{QNX_TARGET}/${QNX_ARCH}/usr")
4949
else()
50-
set(3RD_PARTY_INSTALL_PREFIX "/usr/local")
50+
set(3RD_PARTY_INSTALL_PREFIX "${CMAKE_SYSROOT}/usr/local")
5151
set(3RD_PARTY_INSTALL_PREFIX_ARCH ${3RD_PARTY_INSTALL_PREFIX})
5252
endif()
5353
endif()

tools/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ include(ExternalProject)
55
set(intergen_SOURCES "${CMAKE_CURRENT_LIST_DIR}/intergen")
66
set(intergen_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/intergen")
77
set(intergen_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/intergen")
8-
set(intergen_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
8+
if(CROSS_HOST)
9+
set(intergen_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
10+
else()
11+
set(intergen_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
12+
endif()
913

1014
ExternalProject_Add(intergen
1115
SOURCE_DIR ${intergen_SOURCES}

0 commit comments

Comments
 (0)