5 changed files with 104 additions and 59 deletions
@ -0,0 +1 @@ |
|||||||
|
debian-cross-pkg-config.sh |
||||||
@ -1,26 +1,29 @@ |
|||||||
message(STATUS "Using 32-bit toolchain") |
message(STATUS "Using 32-bit toolchain") |
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS -m32 CACHE STRING "") |
set(CMAKE_CXX_FLAGS -m32 CACHE STRING "") |
||||||
set(CMAKE_C_FLAGS -m32 CACHE STRING "") |
set(CMAKE_C_FLAGS -m32 CACHE STRING "") |
||||||
|
|
||||||
# Affects pkg-config |
# Affects pkg-config |
||||||
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE) |
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE) |
||||||
# Used by pkg-config on Debian |
# Used by pkg-config on Debian |
||||||
set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu) |
set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu) |
||||||
# Silly hack required to get the pkg-config path code to activate |
# Silly hack required to get the pkg-config path code to activate |
||||||
list(APPEND CMAKE_PREFIX_PATH /usr) |
list(APPEND CMAKE_PREFIX_PATH /usr) |
||||||
|
|
||||||
# Find where 32-bit CMake modules are stored |
# Find where 32-bit CMake modules are stored |
||||||
find_path(DIR NAMES cmake PATHS /usr/lib32 /usr/lib/i386-linux-gnu NO_DEFAULT_PATH) |
find_path(DIR NAMES cmake PATHS /usr/lib32 /usr/lib/i386-linux-gnu NO_DEFAULT_PATH) |
||||||
|
|
||||||
if(DIR) |
if(DIR) |
||||||
message(STATUS "Using 32-bit libraries from ${DIR}") |
message(STATUS "Using 32-bit libraries from ${DIR}") |
||||||
# Read CMake modules from 32-bit packages |
# Read CMake modules from 32-bit packages |
||||||
# set(CMAKE_FIND_ROOT_PATH ${DIR}) |
# set(CMAKE_FIND_ROOT_PATH ${DIR}) |
||||||
# set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
# set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
||||||
# set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
# set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
||||||
# set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) |
# set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) |
||||||
endif() |
endif() |
||||||
|
|
||||||
# 32-bit NASM |
set(PKG_CONFIG_EXECUTABLE "${CMAKE_CURRENT_LIST_DIR}/i386-linux-gnu-pkg-config" CACHE STRING "Path to pkg-config") |
||||||
set(CMAKE_ASM_NASM_OBJECT_FORMAT elf) |
|
||||||
|
# 32-bit NASM |
||||||
|
set(CMAKE_ASM_NASM_OBJECT_FORMAT elf) |
||||||
|
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386) |
||||||
|
|||||||
@ -0,0 +1,10 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
set -euo pipefail |
||||||
|
set -x |
||||||
|
|
||||||
|
sudo dpkg --add-architecture i386 |
||||||
|
sudo apt-get update |
||||||
|
sudo apt-get install --ignore-hold -y \ |
||||||
|
cmake g++-multilib git smpq gettext \ |
||||||
|
libsdl2-dev:i386 libsdl2-image-dev:i386 libsodium-dev:i386 \ |
||||||
|
libpng-dev:i386 libbz2-dev:i386 libfmt-dev:i386 |
||||||
Loading…
Reference in new issue