diff options
author | Jacob Keeler <jacob.keeler@livioradio.com> | 2017-03-03 10:46:15 -0500 |
---|---|---|
committer | Jacob Keeler <jacob.keeler@livioradio.com> | 2017-03-03 10:46:15 -0500 |
commit | a1b95d77de818a06622557addeb9bb2db770cb1a (patch) | |
tree | 024c3a150cdf669cc377ae7fb9f459b60d4df27f | |
parent | 77a9b3c7a3d8ccc9654930b9008f586ea3159a77 (diff) | |
download | sdl_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.txt | 3 | ||||
-rw-r--r-- | rcar_m2_agl_linux.cmake | 31 | ||||
-rw-r--r-- | src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt | 70 | ||||
-rw-r--r-- | src/3rd_party/apr-cmake/CMakeLists.txt | 23 | ||||
-rw-r--r-- | src/3rd_party/apr-util-cmake/CMakeLists.txt | 32 | ||||
-rw-r--r-- | src/3rd_party/dbus-cmake/CMakeLists.txt | 28 | ||||
-rw-r--r-- | src/3rd_party/set_3rd_party_paths.cmake | 2 | ||||
-rw-r--r-- | tools/CMakeLists.txt | 6 |
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} |