mirror of
https://github.com/decompals/wibo.git
synced 2025-12-13 07:06:18 +00:00
Add CMake toolchains and update CI
This commit is contained in:
33
cmake/toolchains/i586-alpine-linux-musl.cmake
Normal file
33
cmake/toolchains/i586-alpine-linux-musl.cmake
Normal file
@@ -0,0 +1,33 @@
|
||||
# Toolchain file for static 32-bit Linux builds with Clang and musl
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
|
||||
# Specify the compiler
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_ASM_COMPILER clang)
|
||||
set(CMAKE_LINKER_TYPE LLD)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET i586-alpine-linux-musl)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force 32-bit compilation
|
||||
set(CMAKE_C_FLAGS_INIT "-static")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-static")
|
||||
set(CMAKE_ASM_FLAGS_INIT "-static")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld -static")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld -static")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld -static")
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
# Inform mimalloc that we are using musl libc
|
||||
set(MI_LIBC_MUSL ON)
|
||||
36
cmake/toolchains/i686-linux-clang.cmake
Normal file
36
cmake/toolchains/i686-linux-clang.cmake
Normal file
@@ -0,0 +1,36 @@
|
||||
# Toolchain file for 32-bit Linux builds with Clang
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
|
||||
# Specify the compiler
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_ASM_COMPILER clang)
|
||||
set(CMAKE_LINKER_TYPE LLD)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET i686-linux-gnu)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force 32-bit compilation
|
||||
set(CMAKE_C_FLAGS_INIT "-m32")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-m32")
|
||||
set(CMAKE_ASM_FLAGS_INIT "-m32")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-m32 -fuse-ld=lld")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-m32 -fuse-ld=lld")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-m32 -fuse-ld=lld")
|
||||
|
||||
# Set library architecture
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu)
|
||||
|
||||
# Clang on Linux needs help finding the 32-bit headers
|
||||
include_directories(SYSTEM /usr/i686-linux-gnu/include)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
32
cmake/toolchains/i686-linux-gcc.cmake
Normal file
32
cmake/toolchains/i686-linux-gcc.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
# Toolchain file for 32-bit Linux builds with GCC
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
|
||||
# Specify the compiler
|
||||
set(CMAKE_C_COMPILER gcc)
|
||||
set(CMAKE_CXX_COMPILER g++)
|
||||
set(CMAKE_ASM_COMPILER gcc)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET i686-linux-gnu)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force 32-bit compilation
|
||||
set(CMAKE_C_FLAGS_INIT "-m32")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-m32")
|
||||
set(CMAKE_ASM_FLAGS_INIT "-m32")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-m32")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-m32")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-m32")
|
||||
|
||||
# Set library architecture
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
29
cmake/toolchains/x86_64-alpine-linux-musl.cmake
Normal file
29
cmake/toolchains/x86_64-alpine-linux-musl.cmake
Normal file
@@ -0,0 +1,29 @@
|
||||
# Toolchain file for static 64-bit Linux builds with Clang and musl
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
# Specify the compiler
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_ASM_COMPILER clang)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET x86_64-alpine-linux-musl)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force 64-bit compilation
|
||||
set(CMAKE_C_FLAGS_INIT "-static")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-static")
|
||||
set(CMAKE_ASM_FLAGS_INIT "-static")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld -static")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld -static")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld -static")
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
20
cmake/toolchains/x86_64-darwin.cmake
Normal file
20
cmake/toolchains/x86_64-darwin.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
# Toolchain file for x86_64 macOS builds
|
||||
set(CMAKE_SYSTEM_NAME Darwin)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET x86_64-apple-darwin)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force x86_64 architecture
|
||||
set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architecture for macOS" FORCE)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum macOS deployment version" FORCE)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
33
cmake/toolchains/x86_64-linux-clang.cmake
Normal file
33
cmake/toolchains/x86_64-linux-clang.cmake
Normal file
@@ -0,0 +1,33 @@
|
||||
# Toolchain file for 64-bit Linux builds with Clang
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
# Specify the compiler
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_ASM_COMPILER clang)
|
||||
set(CMAKE_LINKER_TYPE LLD)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET x86_64-linux-gnu)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force 64-bit compilation
|
||||
set(CMAKE_C_FLAGS_INIT "-m64")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-m64")
|
||||
set(CMAKE_ASM_FLAGS_INIT "-m64")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-m64 -fuse-ld=lld")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-m64 -fuse-ld=lld")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-m64 -fuse-ld=lld")
|
||||
|
||||
# Set library architecture
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE x86_64-linux-gnu)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
32
cmake/toolchains/x86_64-linux-gcc.cmake
Normal file
32
cmake/toolchains/x86_64-linux-gcc.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
# Toolchain file for 64-bit Linux builds with GCC
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
# Specify the compiler
|
||||
set(CMAKE_C_COMPILER gcc)
|
||||
set(CMAKE_CXX_COMPILER g++)
|
||||
set(CMAKE_ASM_COMPILER gcc)
|
||||
|
||||
# Set the target triple for cross-compilation
|
||||
set(TARGET x86_64-linux-gnu)
|
||||
set(CMAKE_C_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_CXX_COMPILER_TARGET ${TARGET})
|
||||
set(CMAKE_ASM_COMPILER_TARGET ${TARGET})
|
||||
|
||||
# Force 64-bit compilation
|
||||
set(CMAKE_C_FLAGS_INIT "-m64")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-m64")
|
||||
set(CMAKE_ASM_FLAGS_INIT "-m64")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-m64")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-m64")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-m64")
|
||||
|
||||
# Set library architecture
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE x86_64-linux-gnu)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# Search for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
Reference in New Issue
Block a user