50 lines
2.0 KiB
Diff
50 lines
2.0 KiB
Diff
From 0cb6a763c1626848a833bccb33023bad49988850 Mon Sep 17 00:00:00 2001
|
|
From: TheCharlatan <seb.kung@gmail.com>
|
|
Date: Fri, 22 Feb 2019 15:18:32 +0000
|
|
Subject: [PATCH] cmake: ARCH_ID fixes for cross compilation
|
|
|
|
---
|
|
CMakeLists.txt | 3 +++
|
|
contrib/depends/toolchain.cmake.in | 7 +++++++
|
|
2 files changed, 10 insertions(+)
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 125642b140..371c92f360 100644
|
|
--- CMakeLists.txt
|
|
+++ CMakeLists.txt
|
|
@@ -115,6 +115,9 @@ string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
|
|
# to identify the target architecture, to direct logic in this cmake script.
|
|
# Since ARCH is a cached variable, it will not be set on first cmake invocation.
|
|
if (NOT ARCH OR ARCH STREQUAL "" OR ARCH STREQUAL "native" OR ARCH STREQUAL "default")
|
|
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "")
|
|
+ set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
|
+ endif()
|
|
set(ARCH_ID "${CMAKE_SYSTEM_PROCESSOR}")
|
|
else()
|
|
set(ARCH_ID "${ARCH}")
|
|
diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
|
|
index 66168facb4..f11e7e922c 100644
|
|
--- contrib/depends/toolchain.cmake.in
|
|
+++ contrib/depends/toolchain.cmake.in
|
|
@@ -41,6 +41,8 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host
|
|
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target
|
|
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
|
|
|
|
+set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_HOST_SYSTEM_PROCESSOR} CACHE STRING "" FORCE)
|
|
+
|
|
# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
SET(CMAKE_C_COMPILER @prefix@/native/bin/clang)
|
|
@@ -85,6 +87,11 @@ endif()
|
|
|
|
if(ARCHITECTURE STREQUAL "i686" AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
SET(LINUX_32 ON)
|
|
+ SET(ARCH_ID "i386")
|
|
+endif()
|
|
+
|
|
+if(ARCHITECTURE STREQUAL "x86_64" AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
+ SET(ARCH_ID "x86_64")
|
|
endif()
|
|
|
|
#Create a new global cmake flag that indicates building with depends
|