meta: add build system
This commit is contained in:
47
configure-build
Executable file
47
configure-build
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# vim: ft=bash
|
||||
|
||||
target_arch=$1
|
||||
|
||||
if [ ! -n "$target_arch" ]; then
|
||||
echo "Usage: $0 <target arch>"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
source_dir=$(realpath $(dirname "$0"))
|
||||
native_build_dir=$source_dir/build-native
|
||||
target_build_dir=$source_dir/build
|
||||
sysroot_dir=$target_build_dir/sysroot
|
||||
|
||||
if [ ! -d "$source_dir/arch/$target_arch" ]; then
|
||||
echo "FATAL: Specified target architecture $target_arch is not supported. See arch/ directory for a list of supported architectures."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
rm -rf $native_build_dir $target_build_dir
|
||||
mkdir -p $native_build_dir $target_build_dir
|
||||
|
||||
pushd $native_build_dir > /dev/null
|
||||
|
||||
cmake \
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY="$native_build_dir/bin" \
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="$native_build_dir/lib" \
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY="$native_build_dir/lib" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
$source_dir/kernel/tools
|
||||
|
||||
popd
|
||||
|
||||
pushd $target_build_dir > /dev/null
|
||||
|
||||
cmake \
|
||||
-DBUILD_TOOLS_DIR=$native_build_dir/bin \
|
||||
-DCMAKE_INSTALL_PREFIX=$sysroot_dir \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DTARGET_ARCH=$target_arch \
|
||||
$source_dir \
|
||||
-DCMAKE_MODULE_PATH=$source_dir/arch/$target_arch \
|
||||
-DCMAKE_SYSTEM_NAME=Rosetta \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$source_dir/arch/$target_arch/Platform/Rosetta.cmake
|
||||
|
||||
popd > /dev/null
|
||||
Reference in New Issue
Block a user