summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Keeler <jacob.keeler@livioradio.com>2017-03-03 10:46:15 -0500
committerJacob Keeler <jacob.keeler@livioradio.com>2017-03-03 10:46:15 -0500
commita1b95d77de818a06622557addeb9bb2db770cb1a (patch)
tree024c3a150cdf669cc377ae7fb9f459b60d4df27f
parent77a9b3c7a3d8ccc9654930b9008f586ea3159a77 (diff)
downloadsdl_core-feature/agl_port.tar.gz
Added AGL CMake toolchain file and modified 3rd party cmake files for cross compilingfeature/agl_port
-rw-r--r--CMakeLists.txt3
-rw-r--r--rcar_m2_agl_linux.cmake31
-rw-r--r--src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt70
-rw-r--r--src/3rd_party/apr-cmake/CMakeLists.txt23
-rw-r--r--src/3rd_party/apr-util-cmake/CMakeLists.txt32
-rw-r--r--src/3rd_party/dbus-cmake/CMakeLists.txt28
-rw-r--r--src/3rd_party/set_3rd_party_paths.cmake2
-rw-r--r--tools/CMakeLists.txt6
8 files changed, 151 insertions, 44 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07dd4e8bea..02eafb7000 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -338,6 +338,9 @@ if(HMI STREQUAL "qt")
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
find_package(Qt4 ${qt_version} REQUIRED QtCore QtGui QtDBus QtDeclarative)
else ()
+ if (CROSS_HOST)
+ set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS ${qt_bin_dir}) # Added By JC
+ endif ()
find_package(Qt5Core REQUIRED)
find_package(Qt5DBus REQUIRED)
find_package(Qt5Qml REQUIRED)
diff --git a/rcar_m2_agl_linux.cmake b/rcar_m2_agl_linux.cmake
new file mode 100644
index 0000000000..2f6932dedf
--- /dev/null
+++ b/rcar_m2_agl_linux.cmake
@@ -0,0 +1,31 @@
+# Setup Crosscompiling for AGL(Poky toolchain) on Renesas Rcar M2
+SET(CMAKE_SYSTEM_NAME Linux)
+SET(CMAKE_SYSTEM_PROCESSOR armv7)
+SET(CMAKE SYSTEM_VERSION 1)
+
+# Setup the cross compiler
+SET(CMAKE_C_COMPILER ${CC})
+SET(CMAKE_CXX_COMPILER ${CXX})
+
+ADD_DEFINITIONS(-DBLUEZ5)
+
+SET(CROSS_HOST "arm-agl-linux-gnueabi")
+SET(CROSS_APR_VARS
+ "ac_cv_file__dev_zero=yes"
+ "ac_cv_func_setpgrp_void=yes"
+ "apr_cv_tcp_nodelay_with_cork=yes"
+ "apr_cv_process_shared_works=yes"
+ "apr_cv_mutex_robust_shared=no"
+ "ac_cv_sizeof_struct_iovec=8"
+ "ac_cv_sizeof_long=4"
+ "apr_cv_mutex_recursive=yes")
+
+# Setup SysRoot
+SET(CMAKE_SYSROOT $ENV{SDKTARGETSYSROOT})
+SET(CMAKE_FIND_ROOT_PATH $ENV{SDKTARGETSYSROOT})
+
+#Set searching directories
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
diff --git a/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt b/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt
index 57291f88a4..7b1f6132b3 100644
--- a/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt
+++ b/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt
@@ -46,6 +46,14 @@ set(COMMON_CONFIGURE_FLAGS
"LDFLAGS=-L${EXPAT_LIBS_DIRECTORY}"
)
+if(CROSS_HOST)
+ set(EXTRA_CONFIGURE_FLAGS
+ "--host=${CROSS_HOST}"
+ )
+else()
+ set(EXTRA_CONFIGURE_FLAGS "")
+endif()
+
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
if (CMAKE_SYSTEM_PROCESSOR MATCHES arm*)
set (ARCHITECTURE arm) # log4cxx doesn't recognize armv7
@@ -54,32 +62,48 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
endif ()
set(CONFIGURE_FLAGS "--host=${ARCHITECTURE}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
else()
- set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
+ set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS} ${EXTRA_CONFIGURE_FLAGS})
endif()
-add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
- COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${LOG4CXX_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
- DEPENDS libapr-1
- DEPENDS apr-util
- WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
-)
+if(CROSS_HOST)
+ add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
+ COMMAND ${LOG4CXX_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ DEPENDS libapr-1
+ DEPENDS apr-util
+ WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
+ )
+else()
+ add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
+ COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${LOG4CXX_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ DEPENDS libapr-1
+ DEPENDS apr-util
+ WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
+ )
+endif()
-add_custom_target(liblog4cxx ALL make
- COMMAND /bin/bash -c \"
- cd ${CMAKE_CURRENT_SOURCE_DIR}\;
- git log . 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]; then
- grep \\".commit_hash\\" ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
- if [ ! \\\$$? == 0 ]\; then
- cd ${CMAKE_CURRENT_SOURCE_DIR} &&
- git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null &&
- echo \\"Adding .commit_hash section\\" &&
- objcopy --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
- fi;
- fi\"
- DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
- WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
-)
+if(CROSS_HOST)
+ add_custom_target(liblog4cxx ALL make
+ DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
+ WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
+ )
+else()
+ add_custom_target(liblog4cxx ALL make
+ COMMAND /bin/bash -c \"
+ cd ${CMAKE_CURRENT_SOURCE_DIR}\;
+ git log . 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]; then
+ grep \\".commit_hash\\" ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
+ if [ ! \\\$$? == 0 ]\; then
+ cd ${CMAKE_CURRENT_SOURCE_DIR} &&
+ git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null &&
+ echo \\"Adding .commit_hash section\\" &&
+ objcopy --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
+ fi;
+ fi\"
+ DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
+ WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
+ )
+endif()
install(
DIRECTORY ${LOG4CXX_LIBS_DIRECTORY}/
diff --git a/src/3rd_party/apr-cmake/CMakeLists.txt b/src/3rd_party/apr-cmake/CMakeLists.txt
index 0acbea90bb..adc5244e17 100644
--- a/src/3rd_party/apr-cmake/CMakeLists.txt
+++ b/src/3rd_party/apr-cmake/CMakeLists.txt
@@ -55,15 +55,28 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
"apr_cv_tcp_nodelay_with_cork=no"
"ac_cv_sizeof_struct_iovec=8"
)
+elseif(CROSS_HOST)
+ set(CONFIGURE_FLAGS
+ "--host=${CROSS_HOST}"
+ ${CROSS_APR_VARS}
+ )
else()
set(CONFIGURE_FLAGS "")
endif()
-add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile
- COMMAND CC=${CMAKE_C_COMPILER} ${APR_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
- COMMAND ${CMAKE_COMMAND} -E copy include/apr.h ${APR_SOURCE_DIRECTORY}/include
- WORKING_DIRECTORY ${APR_BUILD_DIRECTORY}
-)
+if(CROSS_HOST)
+ add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile
+ COMMAND ${APR_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ COMMAND ${CMAKE_COMMAND} -E copy include/apr.h ${APR_SOURCE_DIRECTORY}/include
+ WORKING_DIRECTORY ${APR_BUILD_DIRECTORY}
+ )
+else()
+ add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile
+ COMMAND CC=${CMAKE_C_COMPILER} ${APR_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ COMMAND ${CMAKE_COMMAND} -E copy include/apr.h ${APR_SOURCE_DIRECTORY}/include
+ WORKING_DIRECTORY ${APR_BUILD_DIRECTORY}
+ )
+endif()
add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/include/private/apr_escape_test_char.h
DEPENDS ${APR_BUILD_DIRECTORY}/Makefile
diff --git a/src/3rd_party/apr-util-cmake/CMakeLists.txt b/src/3rd_party/apr-util-cmake/CMakeLists.txt
index dd856d5852..ffbc896bbf 100644
--- a/src/3rd_party/apr-util-cmake/CMakeLists.txt
+++ b/src/3rd_party/apr-util-cmake/CMakeLists.txt
@@ -46,19 +46,35 @@ set(COMMON_CONFIGURE_FLAGS
"--with-expat-build=${EXPAT_BUILD_DIRECTORY}"
)
+if(CROSS_HOST)
+ set(EXTRA_CONFIGURE_FLAGS
+ "--host=${CROSS_HOST}"
+ )
+else()
+ set(EXTRA_CONFIGURE_FLAGS "")
+endif()
+
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
set(CONFIGURE_FLAGS "--host=${CMAKE_SYSTEM_PROCESSOR}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
else()
- set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
+ set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS} ${EXTRA_CONFIGURE_FLAGS})
endif()
-
-add_custom_command(OUTPUT ${APR_UTIL_BUILD_DIRECTORY}/Makefile
- COMMAND CC=${CMAKE_C_COMPILER} ${APR_UTIL_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
- DEPENDS libapr-1
- DEPENDS expat
- WORKING_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}
-)
+if(CROSS_HOST)
+ add_custom_command(OUTPUT ${APR_UTIL_BUILD_DIRECTORY}/Makefile
+ COMMAND ${APR_UTIL_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ DEPENDS libapr-1
+ DEPENDS expat
+ WORKING_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}
+ )
+else()
+ add_custom_command(OUTPUT ${APR_UTIL_BUILD_DIRECTORY}/Makefile
+ COMMAND CC=${CMAKE_C_COMPILER} ${APR_UTIL_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ DEPENDS libapr-1
+ DEPENDS expat
+ WORKING_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}
+ )
+endif()
add_custom_target(apr-util ALL make
DEPENDS ${APR_UTIL_BUILD_DIRECTORY}/Makefile
diff --git a/src/3rd_party/dbus-cmake/CMakeLists.txt b/src/3rd_party/dbus-cmake/CMakeLists.txt
index 141335414c..37528ab6f5 100644
--- a/src/3rd_party/dbus-cmake/CMakeLists.txt
+++ b/src/3rd_party/dbus-cmake/CMakeLists.txt
@@ -50,17 +50,33 @@ set(COMMON_CONFIGURE_FLAGS
"LDFLAGS=-L${EXPAT_LIBS_DIRECTORY}"
)
+if(CROSS_HOST)
+ set(EXTRA_CONFIGURE_FLAGS
+ "--host=${CROSS_HOST}"
+ )
+else()
+ set(EXTRA_CONFIGURE_FLAGS "")
+endif()
+
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
set(CONFIGURE_FLAGS "--host=${CMAKE_SYSTEM_PROCESSOR}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
else ()
- set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
+ set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS} ${EXTRA_CONFIGURE_FLAGS})
endif ()
-add_custom_command(OUTPUT ${DBUS_BUILD_DIRECTORY}/Makefile
- COMMAND CC=${CMAKE_C_COMPILER} ${DBUS_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
- DEPENDS expat
- WORKING_DIRECTORY ${DBUS_BUILD_DIRECTORY}
-)
+if(CROSS_HOST)
+ add_custom_command(OUTPUT ${DBUS_BUILD_DIRECTORY}/Makefile
+ COMMAND ${DBUS_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ DEPENDS expat
+ WORKING_DIRECTORY ${DBUS_BUILD_DIRECTORY}
+ )
+else()
+ add_custom_command(OUTPUT ${DBUS_BUILD_DIRECTORY}/Makefile
+ COMMAND CC=${CMAKE_C_COMPILER} ${DBUS_SOURCE_DIRECTORY}/configure ${CONFIGURE_FLAGS}
+ DEPENDS expat
+ WORKING_DIRECTORY ${DBUS_BUILD_DIRECTORY}
+ )
+endif()
add_custom_target(dbus ALL make
COMMAND /bin/bash -c \"
diff --git a/src/3rd_party/set_3rd_party_paths.cmake b/src/3rd_party/set_3rd_party_paths.cmake
index 6213b1a9f2..eab95e0065 100644
--- a/src/3rd_party/set_3rd_party_paths.cmake
+++ b/src/3rd_party/set_3rd_party_paths.cmake
@@ -47,7 +47,7 @@ else()
endif()
set(3RD_PARTY_INSTALL_PREFIX_ARCH "$ENV{QNX_TARGET}/${QNX_ARCH}/usr")
else()
- set(3RD_PARTY_INSTALL_PREFIX "/usr/local")
+ set(3RD_PARTY_INSTALL_PREFIX "${CMAKE_SYSROOT}/usr/local")
set(3RD_PARTY_INSTALL_PREFIX_ARCH ${3RD_PARTY_INSTALL_PREFIX})
endif()
endif()
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index cf3e2c692c..b8d69d8571 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -5,7 +5,11 @@ include(ExternalProject)
set(intergen_SOURCES "${CMAKE_CURRENT_LIST_DIR}/intergen")
set(intergen_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/intergen")
set(intergen_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/intergen")
-set(intergen_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
+if(CROSS_HOST)
+ set(intergen_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
+else()
+ set(intergen_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR})
+endif()
ExternalProject_Add(intergen
SOURCE_DIR ${intergen_SOURCES}