Compare commits
3 Commits
2318d04b94
...
56acaf4923
Author | SHA1 | Date | |
---|---|---|---|
56acaf4923 | |||
b9b76ca327 | |||
d722a4561d |
13
cmake/linux-arm.cmake
Normal file
13
cmake/linux-arm.cmake
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# QUIK Toolchain file for Linux-arm systems.
|
||||||
|
# Copyright (C) 2023
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH "/usr/arm-linux-gnueabihf")
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
13
cmake/linux-arm64.cmake
Normal file
13
cmake/linux-arm64.cmake
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# QUIK Toolchain file for Linux-arm64 (aarch64) systems.
|
||||||
|
# Copyright (C) 2023
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH "/usr/aarch64-linux-gnu")
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
9
cmake/linux-x64.cmake
Normal file
9
cmake/linux-x64.cmake
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# QUIK Toolchain file for Linux-x64 (amd64) systems.
|
||||||
|
# Copyright (C) 2023
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER g++)
|
||||||
|
|
||||||
|
add_compile_options(-m64)
|
14
cmake/linux-x86.cmake
Normal file
14
cmake/linux-x86.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# QUIK Toolchain file for Linux-x86 (i386) systems.
|
||||||
|
# Copyright (C) 2023
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER i686-linux-gnu-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER i686-linux-gnu-g++)
|
||||||
|
|
||||||
|
add_compile_options(-m32 -march=i686)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH "/usr/i686-linux-gnu")
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
14
cmake/win-x64.cmake
Normal file
14
cmake/win-x64.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# QUIK Toolchain file for Windows-x64 systems.
|
||||||
|
# Copyright (C) 2023
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Windows)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32")
|
||||||
|
add_compile_options(-m64)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
14
cmake/win-x86.cmake
Normal file
14
cmake/win-x86.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# QUIK Toolchain file for Windows-x86 systems.
|
||||||
|
# Copyright (C) 2023
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Windows)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32")
|
||||||
|
add_compile_options(-m32)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
54
sh/quik_build_native.sh
Normal file
54
sh/quik_build_native.sh
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# $1 Source path of the project.
|
||||||
|
# $2 Target architecture list.
|
||||||
|
# DST is the destination directory.
|
||||||
|
|
||||||
|
SRC=$1
|
||||||
|
ARCHS=$2
|
||||||
|
|
||||||
|
if [ -z "$SRC" ]
|
||||||
|
then
|
||||||
|
echo You need to provide a source path.
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$ARCHS" ]
|
||||||
|
then
|
||||||
|
ARCHS="linux-arm linux-arm64 linux-x64 win-x64 win-x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DST" ]
|
||||||
|
then
|
||||||
|
DST=$PWD
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$CMAKE_DIR"]
|
||||||
|
then
|
||||||
|
CMAKE_DIR="$SRC/Quik.Common/cmake"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for ARCH in $ARCHS; do
|
||||||
|
# Output directory.
|
||||||
|
PREFIX=$DST/runtimes/$ARCH/native
|
||||||
|
# Build directory.
|
||||||
|
BUILD=$DST/out/$ARCH
|
||||||
|
# Cmake toolchain file.
|
||||||
|
TOOLCHAIN=$CMAKE_DIR/cmake/$ARCH.cmake
|
||||||
|
|
||||||
|
# Create directories.
|
||||||
|
mkdir -p $PREFIX $BUILD
|
||||||
|
# Configure CMAKE.
|
||||||
|
cmake -B $BUILD -S $SRC \
|
||||||
|
-G Ninja \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_C_FLAGS=-static-libgcc \
|
||||||
|
-DCMAKE_CXX_FLAGS=-static-libgcc \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN \
|
||||||
|
$QUIK_ADDITIONAL_CMAKE
|
||||||
|
|
||||||
|
# Build and install.
|
||||||
|
ninja -C $BUILD all
|
||||||
|
ninja -C $BUILD install
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user