[hamradio-commits] [gnss-sdr] 180/303: Allow building with OpenEmbedded

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Mon Feb 13 22:35:59 UTC 2017


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.

commit 4a02a1d294678c3733c29bf65e7aa88ebf9a4bfa
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Tue Dec 20 02:35:52 2016 +0100

    Allow building with OpenEmbedded
---
 CMakeLists.txt           | 37 +++++++++++++++++++++++++------------
 src/tests/CMakeLists.txt |  6 +++++-
 2 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 499bf65..6255044 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -293,7 +293,11 @@ endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
 # Check if the compiler defines the architecture as ARM
 ################################################################################
 if(NOT OS_IS_MACOSX)
-     include(TestForARM)
+    if(CMAKE_CROSSCOMPILING)
+        set(IS_ARM TRUE)
+    else(CMAKE_CROSSCOMPILING)
+        include(TestForARM)
+    endif(CMAKE_CROSSCOMPILING)
 endif(NOT OS_IS_MACOSX)
 
 
@@ -458,8 +462,12 @@ if(NOT VOLK_GNSSSDR_FOUND)
     message(STATUS " volk_gnsssdr will be built along with gnss-sdr when doing 'make'")
     set(CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
     set(C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
-    set(VOLK_GNSSSDR_CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-                                -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+    if(CMAKE_CROSSCOMPILING)  
+        set(VOLK_GNSSSDR_COMPILER "") 
+    else(CMAKE_CROSSCOMPILING)   
+        set(VOLK_GNSSSDR_COMPILER "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
+    endif(CMAKE_CROSSCOMPILING)
+    set(VOLK_GNSSSDR_CMAKE_ARGS ${VOLK_GNSSSDR_COMPILER}
                                 -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install
                                 -DENABLE_STATIC_LIBS=ON
                                 -DENABLE_PROFILING=${ENABLE_PROFILING}
@@ -467,9 +475,12 @@ if(NOT VOLK_GNSSSDR_FOUND)
                                 -DCMAKE_C_FLAGS=${C_FLAGS}
                                 ${STRIP_VOLK_GNSSSDR_PROFILE}
                                 ${USE_THIS_PYTHON} )
-    if(CMAKE_TOOLCHAIN_FILE)
-        set(VOLK_GNSSSDR_CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
-    endif(CMAKE_TOOLCHAIN_FILE)
+    if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
+        set(VOLK_GNSSSDR_CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS} 
+                                    -DENABLE_ORC=OFF
+                                    -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/Toolchains/oe-sdk_cross.cmake
+                                    -DCROSSCOMPILE_MULTILIB=TRUE )
+    endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
     ExternalProject_Add(volk_gnsssdr_module
          PREFIX ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module
          SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
@@ -1203,12 +1214,14 @@ if (NOT ARCH_COMPILER_FLAGS)
         else(OS_IS_MACOSX)
             if(NOT ${ENABLE_GENERIC_ARCH})
                 if(IS_ARM) # ARM-specific options (https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html)
-                    if(ARM_VERSION STREQUAL "arm")
-                        # Unknown arm version - try our best to detect
-                        set(ARCH_COMPILER_FLAGS "-mcpu=native")
-                    else(ARM_VERSION STREQUAL "arm")
-                        set(ARCH_COMPILER_FLAGS "-march=${ARM_VERSION}")
-	                endif(ARM_VERSION STREQUAL "arm")
+                    if(NOT CMAKE_CROSSCOMPILING)
+                        if(ARM_VERSION STREQUAL "arm")
+                            # Unknown arm version - try our best to detect
+                            set(ARCH_COMPILER_FLAGS "-mcpu=native")
+                        else(ARM_VERSION STREQUAL "arm")
+                            set(ARCH_COMPILER_FLAGS "-march=${ARM_VERSION}")
+	                    endif(ARM_VERSION STREQUAL "arm")
+	                endif(NOT CMAKE_CROSSCOMPILING)
                 else(IS_ARM)
                     set(ARCH_COMPILER_FLAGS "-march=native -mfpmath=sse")
 	            endif(IS_ARM)
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 1ac7430..c57c035 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -38,13 +38,17 @@ endif(GTEST_INCLUDE_DIRS)
 if(NOT ${GTEST_DIR_LOCAL})
      # if GTEST_DIR is not defined, we download and build it
      set(gtest_RELEASE 1.8.0)
+     set(TOOLCHAIN_ARG "")
+     if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
+         set(TOOLCHAIN_ARG -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Toolchains/oe-sdk_cross.cmake)
+     endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
      ExternalProject_Add(
          gtest-${gtest_RELEASE}
          GIT_REPOSITORY https://github.com/google/googletest
          GIT_TAG release-${gtest_RELEASE}
          SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gtest/gtest-${gtest_RELEASE}
          BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gtest-${gtest_RELEASE}
-         CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF
+         CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF ${TOOLCHAIN_ARG}
          UPDATE_COMMAND ""
          PATCH_COMMAND ""
          INSTALL_COMMAND ""

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list