Added stb redistributables.
This commit is contained in:
parent
7d2dee5a4d
commit
10dcbeb55e
2
.gitignore
vendored
2
.gitignore
vendored
@ -6,3 +6,5 @@ riderModule.iml
|
||||
.idea
|
||||
.vscode
|
||||
nuget_repo
|
||||
*.redist/out
|
||||
*.redist/runtimes
|
2
Quik.StbImage.redist/.gitignore
vendored
2
Quik.StbImage.redist/.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
out
|
||||
runtimes
|
@ -1,17 +1,6 @@
|
||||
#include "quik_stbi.h"
|
||||
|
||||
QUIK_DEFINE_LIB(quik_stbi);
|
||||
|
||||
#define STB_IMAGE_IMPLEMENTATION 1
|
||||
#include "stb/stb_image.h"
|
||||
|
||||
quik_failed_assert_cb_t quik_stbi_failed_assert = quik_stbi_failed_assert_default;
|
||||
|
||||
void quik_stbi_failed_assert_store(quik_failed_assert_cb_t cb)
|
||||
{
|
||||
quik_stbi_failed_assert = cb != NULL ? cb : quik_stbi_failed_assert_default;
|
||||
|
||||
}
|
||||
|
||||
void quik_stbi_failed_assert_default(const char *expr, const char *file, int line, const char *function)
|
||||
{
|
||||
abort();
|
||||
}
|
@ -1,26 +1,9 @@
|
||||
#ifndef _QUIK_STB_CONFIG_H_
|
||||
#define _QUIK_STB_CONFIG_H_
|
||||
#ifndef _QUIK_STBI_H_
|
||||
#define _QUIK_STBI_H_
|
||||
|
||||
#include "stddef.h"
|
||||
#include "quik/quik_common.h"
|
||||
|
||||
#if __GNUC__ || __MSC_VER
|
||||
#define __QUIK_FUNCTION__ __FUNCTION__
|
||||
#define QEXTERN extern
|
||||
#else
|
||||
#define __QUIK_FUNCTION__ NULL
|
||||
#endif
|
||||
|
||||
/* TODO: Change this declaration so we can export a DLL properly in windows. */
|
||||
#define STBIDEF QEXTERN
|
||||
#define STBI_NO_STDIO 1
|
||||
|
||||
typedef void (*quik_failed_assert_cb_t)(const char *expr, const char *file, int line, const char* func);
|
||||
|
||||
QEXTERN quik_failed_assert_cb_t quik_stbi_failed_assert;
|
||||
QEXTERN void quik_stbi_failed_assert_store(quik_failed_assert_cb_t cb);
|
||||
QEXTERN void quik_stbi_failed_assert_default(const char * expr, const char *file, int line, const char *function);
|
||||
|
||||
/* Overwrite cstdlib functions so we can get as close as possible to freestanding environment. */
|
||||
QUIK_DECLARE_LIB(quik_stbi)
|
||||
|
||||
#define STBI_ASSERT(EXPR) do { \
|
||||
if (!(EXPR)) \
|
||||
|
12
Quik.StbTrueType.redist/CMakeLists.txt
Normal file
12
Quik.StbTrueType.redist/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(quik_stbtt LANGUAGES C VERSION 1.0)
|
||||
|
||||
add_compile_options(-static-libgcc)
|
||||
|
||||
add_library(stbtt SHARED "quik_stbtt.c")
|
||||
target_include_directories(stbtt PRIVATE "../lib")
|
||||
install(
|
||||
TARGETS stbtt
|
||||
RUNTIME DESTINATION .
|
||||
LIBRARY DESTINATION .)
|
19
Quik.StbTrueType.redist/Quik.StbTrueType.redist.nuspec
Normal file
19
Quik.StbTrueType.redist/Quik.StbTrueType.redist.nuspec
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Quik.StbTrueType.redist</id>
|
||||
<version>1.0.0</version>
|
||||
<authors>STBTT Authors, H. Utku Maden</authors>
|
||||
<owners>utkumaden</owners>
|
||||
<description>
|
||||
This is a redistribution of STBTT for use with the QUIK project.
|
||||
|
||||
Compiled with a custom assert function. Call `quik_stbtt_failed_assert_store`
|
||||
to replace.
|
||||
</description>
|
||||
<tags>native</tags>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="runtimes/**" target=""/>
|
||||
</files>
|
||||
</package>
|
6
Quik.StbTrueType.redist/quik_stbtt.c
Normal file
6
Quik.StbTrueType.redist/quik_stbtt.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include "quik_stbtt.h"
|
||||
|
||||
QUIK_DEFINE_LIB(quik_stbtt);
|
||||
|
||||
#define STB_TRUETYPE_IMPLEMENTATION 1
|
||||
#include "stb/stb_truetype.h"
|
14
Quik.StbTrueType.redist/quik_stbtt.h
Normal file
14
Quik.StbTrueType.redist/quik_stbtt.h
Normal file
@ -0,0 +1,14 @@
|
||||
#ifndef _QUIK_STBTT_H_
|
||||
#define _QUIK_STBTT_H_
|
||||
|
||||
#include "quik/quik_common.h"
|
||||
|
||||
QUIK_DECLARE_LIB(quik_stbtt);
|
||||
|
||||
#define STBTT_assert(EXPR) do { \
|
||||
quik_stbtt_failed_assert(#EXPR, __FILE__, __LINE__ - 2, __QUIK_FUNCTION__); \
|
||||
} while(0)
|
||||
|
||||
#include "stb/stb_truetype.h"
|
||||
|
||||
#endif
|
50
lib/quik/quik_common.h
Normal file
50
lib/quik/quik_common.h
Normal file
@ -0,0 +1,50 @@
|
||||
#ifndef _QUIK_COMMON_H_
|
||||
#define _QUIK_COMMON_H_
|
||||
|
||||
#include "stdlib.h"
|
||||
|
||||
#if __GNUC__ || __MSC_VER
|
||||
#define __QUIK_FUNCTION__ __FUNCTION__
|
||||
#define QEXTERN extern
|
||||
#else
|
||||
#define __QUIK_FUNCTION__ NULL
|
||||
#endif
|
||||
|
||||
/* TODO: Change this declaration so we can export a DLL properly in windows. */
|
||||
#define STBIDEF QEXTERN
|
||||
|
||||
/**
|
||||
* @brief Callback for failed assert function for QUIK redist libraries.
|
||||
* @param[in] expr The expression that failed.
|
||||
* @param[in] file The failing file (if available)
|
||||
* @param[in] line The failing line number (if available)
|
||||
* @param[in] func The failing function (if available)
|
||||
*/
|
||||
typedef void (*quik_failed_assert_cb_t)(const char *expr, const char *file, int line, const char* func);
|
||||
|
||||
#define DECLARE_ASSERT_CB(NAME) \
|
||||
QEXTERN quik_failed_assert_cb_t NAME##_failed_assert
|
||||
#define DECLARE_ASSERT_STORE(NAME) \
|
||||
QEXTERN void NAME##_failed_assert_store(quik_failed_assert_cb_t cb)
|
||||
|
||||
#define DEFINE_ASSERT_CB(NAME) \
|
||||
quik_failed_assert_cb_t NAME##_failed_assert
|
||||
#define DEFINE_ASSERT_STORE(NAME) \
|
||||
void NAME##_failed_assert_store(quik_failed_assert_cb_t cb) { \
|
||||
NAME##_failed_assert = cb != NULL ? cb : quik_default_assert; \
|
||||
}
|
||||
|
||||
#define QUIK_DECLARE_LIB(NAME) \
|
||||
DECLARE_ASSERT_CB(NAME); \
|
||||
DECLARE_ASSERT_STORE(NAME);
|
||||
|
||||
#define QUIK_DEFINE_LIB(NAME) \
|
||||
DEFINE_ASSERT_CB(NAME); \
|
||||
DEFINE_ASSERT_STORE(NAME);
|
||||
|
||||
inline static void quik_default_assert(const char *expr, const char *file, int line, const char *function)
|
||||
{
|
||||
abort();
|
||||
}
|
||||
|
||||
#endif
|
@ -1,3 +1,7 @@
|
||||
#!/bin/bash
|
||||
source $(dirname "$0")/quik_build_native.sh
|
||||
quik_build_native "Quik.StbImage.redist" "linux-arm linux-arm64 linux-x64 linux-x86 win-x64 win-x86"
|
||||
|
||||
ARCHS="linux-arm linux-arm64 linux-x64 linux-x86 win-x64 win-x86"
|
||||
quik_build_native "Quik.StbImage.redist" "$ARCHS"
|
||||
cd ..
|
||||
quik_build_native "Quik.StbTrueType.redist" "$ARCHS"
|
||||
|
Loading…
Reference in New Issue
Block a user