Skip to content

Commit 8701781

Browse files
committed
Install a custom cmake toolchain file to simplify usage
Signed-off-by: falkTX <[email protected]>
1 parent 33fc406 commit 8701781

File tree

3 files changed

+29
-12
lines changed

3 files changed

+29
-12
lines changed

local.env

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,7 @@ alias g++=${CXX}
8585
alias ld=${ld}
8686
alias strip=${strip}
8787

88-
CMAKE="cmake -DCMAKE_TOOLCHAIN_FILE='${HOST_DIR}/usr/share/buildroot/toolchainfile.cmake'"
89-
90-
if [ x"${BR2_arm}" = x"y" ]; then
91-
CMAKE="${CMAKE} -DCMAKE_CROSSCOMPILING_EMULATOR='qemu-arm-static -E LD_LIBRARY_PATH=${TARGET_DIR}/usr/lib -L ${TARGET_DIR}'"
92-
elif [ x"${BR2_aarch64}" = x"y" ]; then
93-
CMAKE="${CMAKE} -DCMAKE_CROSSCOMPILING_EMULATOR='qemu-aarch64-static -E LD_LIBRARY_PATH=${TARGET_DIR}/usr/lib -L ${TARGET_DIR}'"
94-
elif [ x"${BR2_x86_64}" = x"y" ]; then
95-
CMAKE="${CMAKE} -DCMAKE_CROSSCOMPILING_EMULATOR='qemu-x86_64-static -E LD_LIBRARY_PATH=${TARGET_DIR}/usr/lib -L ${TARGET_DIR}'"
96-
fi
97-
88+
CMAKE="cmake -DCMAKE_TOOLCHAIN_FILE='${HOST_DIR}/usr/share/mod-plugin-builder/toolchainfile.cmake'"
9889
alias cmake="$CMAKE"
9990

10091
#######################################################################################################################

plugins-dep/package/mod-plugin-builder/mod-plugin-builder.mk

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
#
55
######################################
66

7-
MOD_PLUGIN_BUILDER_VERSION = 1
7+
MOD_PLUGIN_BUILDER_VERSION = 2
88
MOD_PLUGIN_BUILDER_SOURCE = .
99
MOD_PLUGIN_BUILDER_SITE = .
1010
MOD_PLUGIN_BUILDER_SITE_METHOD = file
11-
MOD_PLUGIN_BUILDER_DEPENDENCIES = host-cmake
11+
MOD_PLUGIN_BUILDER_DEPENDENCIES = host-cmake host-mod-plugin-builder
1212

1313
ifdef BR2_cortex_a7
1414
MOD_PLUGIN_BUILDER_RUST_FLAGS = ["-Ctarget-cpu=cortex-a7","-Ctarget-feature=+a7,+neonfp,+vfp4sp","-Clink-args=--sysroot=$(STAGING_DIR)"]
@@ -43,7 +43,16 @@ define MOD_PLUGIN_BUILDER_DOWNLOAD_WITH_SUBMODULES
4343
fi
4444
endef
4545

46+
define HOST_MOD_PLUGIN_BUILDER_EXTRACT_CMDS
47+
endef
48+
49+
define HOST_MOD_PLUGIN_BUILDER_INSTALL_CMDS
50+
$(INSTALL) -d $(HOST_DIR)/usr/share/mod-plugin-builder
51+
$(INSTALL) -m 644 $($(PKG)_PKGDIR)/toolchainfile.cmake $(HOST_DIR)/usr/share/mod-plugin-builder/
52+
endef
53+
4654
$(eval $(generic-package))
55+
$(eval $(host-generic-package))
4756

4857
# force flags for other packages here
4958

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# CMake toolchain file for Darkglass and MOD builds
2+
3+
set(HOST_DIR "$ENV{HOST_DIR}")
4+
get_filename_component(TARGET_DIR "${HOST_DIR}/../target" REALPATH)
5+
6+
include("${HOST_DIR}/usr/share/buildroot/toolchainfile.cmake")
7+
8+
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
9+
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64-static -E LD_LIBRARY_PATH="${TARGET_DIR}/usr/lib" -L "${TARGET_DIR}")
10+
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
11+
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-arm-static -E LD_LIBRARY_PATH="${TARGET_DIR}/usr/lib" -L "${TARGET_DIR}")
12+
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
13+
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-x86_64-static -E LD_LIBRARY_PATH="${TARGET_DIR}/usr/lib" -L "${TARGET_DIR}")
14+
endif()
15+
16+
set(CMAKE_CROSSCOMPILING TRUE)
17+
separate_arguments(CMAKE_CROSSCOMPILING_EMULATOR)

0 commit comments

Comments
 (0)