# this is the build file for project tbox
# it is autogenerated by the xmake build system.
# do not edit by hand.

# project
cmake_minimum_required(VERSION 3.13.0)
project(tbox VERSION 1.6.6)

# target
enable_language(ASM)
add_library(tbox STATIC
    src/tbox/hash/arch/crc32.S
    src/tbox/platform/arch/context.S
    src/tbox/tbox.c
    src/tbox/hash/bkdr.c
    src/tbox/hash/fnv32.c
    src/tbox/hash/adler32.c
    src/tbox/math/fixed16.c
    src/tbox/math/impl/math.c
    src/tbox/math/int32.c
    src/tbox/math/random/linear.c
    src/tbox/math/random/random.c
    src/tbox/libc/impl/libc.c
    src/tbox/libc/misc/time/gmmktime.c
    src/tbox/libc/misc/time/gmtime.c
    src/tbox/libc/misc/time/localtime.c
    src/tbox/libc/misc/time/mktime.c
    src/tbox/libc/misc/time/time.c
    src/tbox/libc/stdio/getchar.c
    src/tbox/libc/stdio/printf.c
    src/tbox/libc/stdio/printf_object.c
    src/tbox/libc/stdio/putchar.c
    src/tbox/libc/stdio/puts.c
    src/tbox/libc/stdio/snprintf.c
    src/tbox/libc/stdio/sprintf.c
    src/tbox/libc/stdio/swprintf.c
    src/tbox/libc/stdio/vsnprintf.c
    src/tbox/libc/stdio/vswprintf.c
    src/tbox/libc/stdio/wprintf.c
    src/tbox/libc/stdio/wputs.c
    src/tbox/libc/stdlib/mbstowcs.c
    src/tbox/libc/stdlib/random.c
    src/tbox/libc/stdlib/stdlib.c
    src/tbox/libc/stdlib/wcstombs.c
    src/tbox/libc/string/memcmp.c
    src/tbox/libc/string/memcpy.c
    src/tbox/libc/string/memdup.c
    src/tbox/libc/string/memmem.c
    src/tbox/libc/string/memmov.c
    src/tbox/libc/string/memset.c
    src/tbox/libc/string/strcat.c
    src/tbox/libc/string/strchr.c
    src/tbox/libc/string/strcmp.c
    src/tbox/libc/string/strcpy.c
    src/tbox/libc/string/strdup.c
    src/tbox/libc/string/strichr.c
    src/tbox/libc/string/stricmp.c
    src/tbox/libc/string/strirchr.c
    src/tbox/libc/string/strirstr.c
    src/tbox/libc/string/stristr.c
    src/tbox/libc/string/strlcpy.c
    src/tbox/libc/string/strlen.c
    src/tbox/libc/string/strncat.c
    src/tbox/libc/string/strnchr.c
    src/tbox/libc/string/strncmp.c
    src/tbox/libc/string/strncpy.c
    src/tbox/libc/string/strndup.c
    src/tbox/libc/string/strnichr.c
    src/tbox/libc/string/strnicmp.c
    src/tbox/libc/string/strnirchr.c
    src/tbox/libc/string/strnirstr.c
    src/tbox/libc/string/strnistr.c
    src/tbox/libc/string/strnlen.c
    src/tbox/libc/string/strnrchr.c
    src/tbox/libc/string/strnrstr.c
    src/tbox/libc/string/strnstr.c
    src/tbox/libc/string/strrchr.c
    src/tbox/libc/string/strrstr.c
    src/tbox/libc/string/strstr.c
    src/tbox/libc/string/wcscat.c
    src/tbox/libc/string/wcschr.c
    src/tbox/libc/string/wcscmp.c
    src/tbox/libc/string/wcscpy.c
    src/tbox/libc/string/wcsdup.c
    src/tbox/libc/string/wcsichr.c
    src/tbox/libc/string/wcsicmp.c
    src/tbox/libc/string/wcsirchr.c
    src/tbox/libc/string/wcsirstr.c
    src/tbox/libc/string/wcsistr.c
    src/tbox/libc/string/wcslcpy.c
    src/tbox/libc/string/wcslen.c
    src/tbox/libc/string/wcsncat.c
    src/tbox/libc/string/wcsncmp.c
    src/tbox/libc/string/wcsncpy.c
    src/tbox/libc/string/wcsndup.c
    src/tbox/libc/string/wcsnicmp.c
    src/tbox/libc/string/wcsnirchr.c
    src/tbox/libc/string/wcsnirstr.c
    src/tbox/libc/string/wcsnlen.c
    src/tbox/libc/string/wcsnrchr.c
    src/tbox/libc/string/wcsnrstr.c
    src/tbox/libc/string/wcsrchr.c
    src/tbox/libc/string/wcsrstr.c
    src/tbox/libc/string/wcsstr.c
    src/tbox/utils/base32.c
    src/tbox/utils/base64.c
    src/tbox/utils/bits.c
    src/tbox/utils/dump.c
    src/tbox/utils/lock_profiler.c
    src/tbox/utils/singleton.c
    src/tbox/utils/trace.c
    src/tbox/utils/url.c
    src/tbox/utils/used.c
    src/tbox/prefix/state.c
    src/tbox/memory/allocator.c
    src/tbox/memory/buffer.c
    src/tbox/memory/default_allocator.c
    src/tbox/memory/fixed_pool.c
    src/tbox/memory/impl/memory.c
    src/tbox/memory/impl/native_large_allocator.c
    src/tbox/memory/impl/static_fixed_pool.c
    src/tbox/memory/impl/static_large_allocator.c
    src/tbox/memory/large_allocator.c
    src/tbox/memory/native_allocator.c
    src/tbox/memory/queue_buffer.c
    src/tbox/memory/small_allocator.c
    src/tbox/memory/static_allocator.c
    src/tbox/memory/static_buffer.c
    src/tbox/memory/string_pool.c
    src/tbox/memory/virtual_allocator.c
    src/tbox/string/static_string.c
    src/tbox/string/string.c
    src/tbox/stream/filter.c
    src/tbox/stream/impl/filter/cache.c
    src/tbox/stream/impl/filter/chunked.c
    src/tbox/stream/impl/stream/data.c
    src/tbox/stream/impl/stream/file.c
    src/tbox/stream/impl/stream/filter.c
    src/tbox/stream/impl/stream/http.c
    src/tbox/stream/impl/stream/sock.c
    src/tbox/stream/static_stream.c
    src/tbox/stream/stream.c
    src/tbox/stream/transfer.c
    src/tbox/network/cookies.c
    src/tbox/network/dns/cache.c
    src/tbox/network/dns/looker.c
    src/tbox/network/dns/server.c
    src/tbox/network/http.c
    src/tbox/network/hwaddr.c
    src/tbox/network/impl/http/date.c
    src/tbox/network/impl/http/method.c
    src/tbox/network/impl/http/option.c
    src/tbox/network/impl/http/status.c
    src/tbox/network/impl/network.c
    src/tbox/network/ipaddr.c
    src/tbox/network/ipv4.c
    src/tbox/network/ipv6.c
    src/tbox/network/unixaddr.c
    src/tbox/network/url.c
    src/tbox/algorithm/binary_find.c
    src/tbox/algorithm/binary_find_if.c
    src/tbox/algorithm/bubble_sort.c
    src/tbox/algorithm/count.c
    src/tbox/algorithm/count_if.c
    src/tbox/algorithm/distance.c
    src/tbox/algorithm/find.c
    src/tbox/algorithm/find_if.c
    src/tbox/algorithm/heap_sort.c
    src/tbox/algorithm/insert_sort.c
    src/tbox/algorithm/predicate.c
    src/tbox/algorithm/quick_sort.c
    src/tbox/algorithm/remove.c
    src/tbox/algorithm/remove_first.c
    src/tbox/algorithm/remove_first_if.c
    src/tbox/algorithm/remove_if.c
    src/tbox/algorithm/rfind.c
    src/tbox/algorithm/rfind_if.c
    src/tbox/algorithm/rwalk.c
    src/tbox/algorithm/sort.c
    src/tbox/algorithm/walk.c
    src/tbox/container/array_iterator.c
    src/tbox/container/bloom_filter.c
    src/tbox/container/circle_queue.c
    src/tbox/container/element/hash.c
    src/tbox/container/element/long.c
    src/tbox/container/element/mem.c
    src/tbox/container/element/null.c
    src/tbox/container/element/ptr.c
    src/tbox/container/element/size.c
    src/tbox/container/element/str.c
    src/tbox/container/element/true.c
    src/tbox/container/element/uint16.c
    src/tbox/container/element/uint32.c
    src/tbox/container/element/uint8.c
    src/tbox/container/hash_map.c
    src/tbox/container/hash_set.c
    src/tbox/container/heap.c
    src/tbox/container/iterator.c
    src/tbox/container/list.c
    src/tbox/container/list_entry.c
    src/tbox/container/priority_queue.c
    src/tbox/container/queue.c
    src/tbox/container/single_list.c
    src/tbox/container/single_list_entry.c
    src/tbox/container/stack.c
    src/tbox/container/vector.c
    src/tbox/libm/impl/libm.c
    src/tbox/libm/idivi8.c
    src/tbox/libm/ilog2i.c
    src/tbox/libm/isqrti.c
    src/tbox/libm/isqrti64.c
    src/tbox/platform/addrinfo.c
    src/tbox/platform/atomic64.c
    src/tbox/platform/backtrace.c
    src/tbox/platform/cache_time.c
    src/tbox/platform/cpu.c
    src/tbox/platform/directory.c
    src/tbox/platform/dynamic.c
    src/tbox/platform/environment.c
    src/tbox/platform/event.c
    src/tbox/platform/file.c
    src/tbox/platform/filelock.c
    src/tbox/platform/hostname.c
    src/tbox/platform/ifaddrs.c
    src/tbox/platform/ltimer.c
    src/tbox/platform/mutex.c
    src/tbox/platform/native_memory.c
    src/tbox/platform/page.c
    src/tbox/platform/path.c
    src/tbox/platform/pipe.c
    src/tbox/platform/poller.c
    src/tbox/platform/print.c
    src/tbox/platform/process.c
    src/tbox/platform/sched.c
    src/tbox/platform/semaphore.c
    src/tbox/platform/socket.c
    src/tbox/platform/stdfile.c
    src/tbox/platform/syserror.c
    src/tbox/platform/thread.c
    src/tbox/platform/thread_local.c
    src/tbox/platform/thread_pool.c
    src/tbox/platform/time.c
    src/tbox/platform/timer.c
    src/tbox/platform/virtual_memory.c
    src/tbox/platform/impl/dns.c
    src/tbox/platform/impl/platform.c
    src/tbox/platform/impl/pollerdata.c
    src/tbox/libm/acos.c
    src/tbox/libm/acosf.c
    src/tbox/libm/asin.c
    src/tbox/libm/asinf.c
    src/tbox/libm/atan.c
    src/tbox/libm/atan2.c
    src/tbox/libm/atan2f.c
    src/tbox/libm/atanf.c
    src/tbox/libm/cos.c
    src/tbox/libm/cosf.c
    src/tbox/libm/exp.c
    src/tbox/libm/exp1.c
    src/tbox/libm/exp1f.c
    src/tbox/libm/expf.c
    src/tbox/libm/expi.c
    src/tbox/libm/expif.c
    src/tbox/libm/fmod.c
    src/tbox/libm/fmodf.c
    src/tbox/libm/isfin.c
    src/tbox/libm/isfinf.c
    src/tbox/libm/isinf.c
    src/tbox/libm/isinff.c
    src/tbox/libm/isnan.c
    src/tbox/libm/isnanf.c
    src/tbox/libm/log2.c
    src/tbox/libm/log2f.c
    src/tbox/libm/pow.c
    src/tbox/libm/powf.c
    src/tbox/libm/sin.c
    src/tbox/libm/sincos.c
    src/tbox/libm/sincosf.c
    src/tbox/libm/sinf.c
    src/tbox/libm/sqrt.c
    src/tbox/libm/sqrtf.c
    src/tbox/libm/tan.c
    src/tbox/libm/tanf.c
    src/tbox/xml/node.c
    src/tbox/xml/reader.c
    src/tbox/xml/writer.c
    src/tbox/regex/regex.c
    src/tbox/hash/ap.c
    src/tbox/hash/blizzard.c
    src/tbox/hash/crc16.c
    src/tbox/hash/crc32.c
    src/tbox/hash/crc8.c
    src/tbox/hash/djb2.c
    src/tbox/hash/fnv64.c
    src/tbox/hash/md5.c
    src/tbox/hash/murmur.c
    src/tbox/hash/rs.c
    src/tbox/hash/sdbm.c
    src/tbox/hash/sha.c
    src/tbox/hash/uuid.c
    src/tbox/coroutine/channel.c
    src/tbox/coroutine/coroutine.c
    src/tbox/coroutine/impl/coroutine.c
    src/tbox/coroutine/impl/scheduler.c
    src/tbox/coroutine/impl/scheduler_io.c
    src/tbox/coroutine/impl/stackless/scheduler_io.c
    src/tbox/coroutine/lock.c
    src/tbox/coroutine/scheduler.c
    src/tbox/coroutine/semaphore.c
    src/tbox/coroutine/stackless/coroutine.c
    src/tbox/coroutine/stackless/scheduler.c
    src/tbox/object/array.c
    src/tbox/object/boolean.c
    src/tbox/object/data.c
    src/tbox/object/date.c
    src/tbox/object/dictionary.c
    src/tbox/object/impl/object.c
    src/tbox/object/impl/reader/bin.c
    src/tbox/object/impl/reader/bplist.c
    src/tbox/object/impl/reader/json.c
    src/tbox/object/impl/reader/reader.c
    src/tbox/object/impl/writer/bin.c
    src/tbox/object/impl/writer/bplist.c
    src/tbox/object/impl/writer/json.c
    src/tbox/object/impl/writer/writer.c
    src/tbox/object/null.c
    src/tbox/object/number.c
    src/tbox/object/object.c
    src/tbox/object/string.c
    src/tbox/utils/option.c
    src/tbox/container/element/obj.c
    src/tbox/object/impl/reader/xml.c
    src/tbox/object/impl/reader/xplist.c
    src/tbox/object/impl/writer/xml.c
    src/tbox/object/impl/writer/xplist.c
    src/tbox/charset/ascii.c
    src/tbox/charset/charset.c
    src/tbox/charset/gb2312.c
    src/tbox/charset/iso8859.c
    src/tbox/charset/ucs2.c
    src/tbox/charset/ucs4.c
    src/tbox/charset/utf16.c
    src/tbox/charset/utf32.c
    src/tbox/charset/utf8.c
    src/tbox/platform/impl/charset.c
    src/tbox/stream/impl/filter/charset.c
    src/tbox/zip/zip.c
    src/tbox/stream/impl/filter/zip.c
    src/tbox/database/sql.c
    src/tbox/database/value.c
    src/tbox/algorithm/algorithm.h
    src/tbox/algorithm/binary_find.h
    src/tbox/algorithm/binary_find_if.h
    src/tbox/algorithm/bubble_sort.h
    src/tbox/algorithm/count.h
    src/tbox/algorithm/count_if.h
    src/tbox/algorithm/distance.h
    src/tbox/algorithm/find.h
    src/tbox/algorithm/find_if.h
    src/tbox/algorithm/for.h
    src/tbox/algorithm/for_if.h
    src/tbox/algorithm/heap_sort.h
    src/tbox/algorithm/insert_sort.h
    src/tbox/algorithm/predicate.h
    src/tbox/algorithm/prefix.h
    src/tbox/algorithm/quick_sort.h
    src/tbox/algorithm/remove.h
    src/tbox/algorithm/remove_first.h
    src/tbox/algorithm/remove_first_if.h
    src/tbox/algorithm/remove_if.h
    src/tbox/algorithm/rfind.h
    src/tbox/algorithm/rfind_if.h
    src/tbox/algorithm/rfor.h
    src/tbox/algorithm/rfor_if.h
    src/tbox/algorithm/rwalk.h
    src/tbox/algorithm/sort.h
    src/tbox/algorithm/walk.h
    src/tbox/charset/charset.h
    src/tbox/charset/prefix.h
    src/tbox/config.h
    src/tbox/container/array_iterator.h
    src/tbox/container/bloom_filter.h
    src/tbox/container/circle_queue.h
    src/tbox/container/container.h
    src/tbox/container/element.h
    src/tbox/container/element/hash.h
    src/tbox/container/element/prefix.h
    src/tbox/container/hash_map.h
    src/tbox/container/hash_set.h
    src/tbox/container/heap.h
    src/tbox/container/iterator.h
    src/tbox/container/list.h
    src/tbox/container/list_entry.h
    src/tbox/container/prefix.h
    src/tbox/container/priority_queue.h
    src/tbox/container/queue.h
    src/tbox/container/single_list.h
    src/tbox/container/single_list_entry.h
    src/tbox/container/stack.h
    src/tbox/container/vector.h
    src/tbox/coroutine/channel.h
    src/tbox/coroutine/coroutine.h
    src/tbox/coroutine/lock.h
    src/tbox/coroutine/prefix.h
    src/tbox/coroutine/scheduler.h
    src/tbox/coroutine/semaphore.h
    src/tbox/coroutine/stackless/core.h
    src/tbox/coroutine/stackless/coroutine.h
    src/tbox/coroutine/stackless/lock.h
    src/tbox/coroutine/stackless/prefix.h
    src/tbox/coroutine/stackless/scheduler.h
    src/tbox/coroutine/stackless/semaphore.h
    src/tbox/coroutine/stackless/stackless.h
    src/tbox/database/database.h
    src/tbox/database/prefix.h
    src/tbox/database/sql.h
    src/tbox/database/value.h
    src/tbox/hash/adler32.h
    src/tbox/hash/ap.h
    src/tbox/hash/bkdr.h
    src/tbox/hash/blizzard.h
    src/tbox/hash/crc16.h
    src/tbox/hash/crc32.h
    src/tbox/hash/crc8.h
    src/tbox/hash/djb2.h
    src/tbox/hash/fnv32.h
    src/tbox/hash/fnv64.h
    src/tbox/hash/hash.h
    src/tbox/hash/md5.h
    src/tbox/hash/murmur.h
    src/tbox/hash/prefix.h
    src/tbox/hash/rs.h
    src/tbox/hash/sdbm.h
    src/tbox/hash/sha.h
    src/tbox/hash/uuid.h
    src/tbox/libc/libc.h
    src/tbox/libc/misc/ctype.h
    src/tbox/libc/misc/limits.h
    src/tbox/libc/misc/misc.h
    src/tbox/libc/misc/prefix.h
    src/tbox/libc/misc/stdarg.h
    src/tbox/libc/misc/time/prefix.h
    src/tbox/libc/misc/time/time.h
    src/tbox/libc/misc/time/type.h
    src/tbox/libc/prefix.h
    src/tbox/libc/stdio/prefix.h
    src/tbox/libc/stdio/printf_object.h
    src/tbox/libc/stdio/stdio.h
    src/tbox/libc/stdlib/prefix.h
    src/tbox/libc/stdlib/setlocale.h
    src/tbox/libc/stdlib/stdlib.h
    src/tbox/libc/string/prefix.h
    src/tbox/libc/string/string.h
    src/tbox/libm/ceil.h
    src/tbox/libm/fabs.h
    src/tbox/libm/floor.h
    src/tbox/libm/inf.h
    src/tbox/libm/libm.h
    src/tbox/libm/maf.h
    src/tbox/libm/math.h
    src/tbox/libm/mif.h
    src/tbox/libm/nan.h
    src/tbox/libm/pi.h
    src/tbox/libm/prefix.h
    src/tbox/libm/round.h
    src/tbox/math/fixed.h
    src/tbox/math/fixed16.h
    src/tbox/math/fixed30.h
    src/tbox/math/fixed6.h
    src/tbox/math/int32.h
    src/tbox/math/math.h
    src/tbox/math/prefix.h
    src/tbox/math/random/linear.h
    src/tbox/math/random/prefix.h
    src/tbox/math/random/random.h
    src/tbox/memory/allocator.h
    src/tbox/memory/buffer.h
    src/tbox/memory/default_allocator.h
    src/tbox/memory/fixed_pool.h
    src/tbox/memory/large_allocator.h
    src/tbox/memory/memory.h
    src/tbox/memory/native_allocator.h
    src/tbox/memory/prefix.h
    src/tbox/memory/queue_buffer.h
    src/tbox/memory/small_allocator.h
    src/tbox/memory/static_allocator.h
    src/tbox/memory/static_buffer.h
    src/tbox/memory/string_pool.h
    src/tbox/memory/virtual_allocator.h
    src/tbox/network/cookies.h
    src/tbox/network/dns/cache.h
    src/tbox/network/dns/dns.h
    src/tbox/network/dns/looker.h
    src/tbox/network/dns/prefix.h
    src/tbox/network/dns/server.h
    src/tbox/network/http.h
    src/tbox/network/hwaddr.h
    src/tbox/network/ipaddr.h
    src/tbox/network/ipv4.h
    src/tbox/network/ipv6.h
    src/tbox/network/network.h
    src/tbox/network/prefix.h
    src/tbox/network/ssl.h
    src/tbox/network/unixaddr.h
    src/tbox/network/url.h
    src/tbox/object/array.h
    src/tbox/object/boolean.h
    src/tbox/object/data.h
    src/tbox/object/date.h
    src/tbox/object/dictionary.h
    src/tbox/object/null.h
    src/tbox/object/number.h
    src/tbox/object/object.h
    src/tbox/object/prefix.h
    src/tbox/object/string.h
    src/tbox/platform/addrinfo.h
    src/tbox/platform/android/android.h
    src/tbox/platform/android/prefix.h
    src/tbox/platform/arch/arm/frame.h
    src/tbox/platform/arch/arm/prefix.h
    src/tbox/platform/arch/arm64/prefix.h
    src/tbox/platform/arch/atomic.h
    src/tbox/platform/arch/atomic32.h
    src/tbox/platform/arch/atomic64.h
    src/tbox/platform/arch/frame.h
    src/tbox/platform/arch/mips/prefix.h
    src/tbox/platform/arch/prefix.h
    src/tbox/platform/arch/x64/atomic64.h
    src/tbox/platform/arch/x64/frame.h
    src/tbox/platform/arch/x64/prefix.h
    src/tbox/platform/arch/x86/atomic32.h
    src/tbox/platform/arch/x86/frame.h
    src/tbox/platform/arch/x86/prefix.h
    src/tbox/platform/atomic.h
    src/tbox/platform/atomic32.h
    src/tbox/platform/atomic64.h
    src/tbox/platform/backtrace.h
    src/tbox/platform/bsd/prefix.h
    src/tbox/platform/cache_time.h
    src/tbox/platform/compiler/gcc/atomic.h
    src/tbox/platform/compiler/gcc/atomic32.h
    src/tbox/platform/compiler/gcc/atomic64.h
    src/tbox/platform/compiler/gcc/prefix.h
    src/tbox/platform/compiler/prefix.h
    src/tbox/platform/context.h
    src/tbox/platform/cpu.h
    src/tbox/platform/deprecated/atomic.h
    src/tbox/platform/deprecated/atomic64.h
    src/tbox/platform/deprecated/deprecated.h
    src/tbox/platform/deprecated/prefix.h
    src/tbox/platform/directory.h
    src/tbox/platform/dynamic.h
    src/tbox/platform/environment.h
    src/tbox/platform/event.h
    src/tbox/platform/exception.h
    src/tbox/platform/file.h
    src/tbox/platform/filelock.h
    src/tbox/platform/hostname.h
    src/tbox/platform/ifaddrs.h
    src/tbox/platform/libc/atomic.h
    src/tbox/platform/libc/atomic32.h
    src/tbox/platform/libc/atomic64.h
    src/tbox/platform/libc/exception.h
    src/tbox/platform/libc/prefix.h
    src/tbox/platform/linux/prefix.h
    src/tbox/platform/ltimer.h
    src/tbox/platform/mach/ios/prefix.h
    src/tbox/platform/mach/prefix.h
    src/tbox/platform/mutex.h
    src/tbox/platform/native_memory.h
    src/tbox/platform/page.h
    src/tbox/platform/path.h
    src/tbox/platform/pipe.h
    src/tbox/platform/platform.h
    src/tbox/platform/poller.h
    src/tbox/platform/posix/prefix.h
    src/tbox/platform/posix/sockaddr.h
    src/tbox/platform/prefix.h
    src/tbox/platform/print.h
    src/tbox/platform/process.h
    src/tbox/platform/sched.h
    src/tbox/platform/semaphore.h
    src/tbox/platform/socket.h
    src/tbox/platform/spinlock.h
    src/tbox/platform/stdfile.h
    src/tbox/platform/syserror.h
    src/tbox/platform/systemv/prefix.h
    src/tbox/platform/thread.h
    src/tbox/platform/thread_local.h
    src/tbox/platform/thread_pool.h
    src/tbox/platform/time.h
    src/tbox/platform/timer.h
    src/tbox/platform/unix/prefix.h
    src/tbox/platform/unix/syscall.h
    src/tbox/platform/virtual_memory.h
    src/tbox/platform/windows/atomic.h
    src/tbox/platform/windows/atomic32.h
    src/tbox/platform/windows/atomic64.h
    src/tbox/platform/windows/exception.h
    src/tbox/platform/windows/interface/dbghelp.h
    src/tbox/platform/windows/interface/interface.h
    src/tbox/platform/windows/interface/iphlpapi.h
    src/tbox/platform/windows/interface/kernel32.h
    src/tbox/platform/windows/interface/mswsock.h
    src/tbox/platform/windows/interface/ole32.h
    src/tbox/platform/windows/interface/prefix.h
    src/tbox/platform/windows/interface/shell32.h
    src/tbox/platform/windows/interface/user32.h
    src/tbox/platform/windows/interface/ws2_32.h
    src/tbox/platform/windows/iocp_object.h
    src/tbox/platform/windows/ntstatus.h
    src/tbox/platform/windows/prefix.h
    src/tbox/platform/windows/socket_pool.h
    src/tbox/platform/windows/windows.h
    src/tbox/prefix.h
    src/tbox/prefix/abort.h
    src/tbox/prefix/arch.h
    src/tbox/prefix/assembler.h
    src/tbox/prefix/assert.h
    src/tbox/prefix/cache.h
    src/tbox/prefix/check.h
    src/tbox/prefix/compiler.h
    src/tbox/prefix/config.h
    src/tbox/prefix/cpu.h
    src/tbox/prefix/endian.h
    src/tbox/prefix/keyword.h
    src/tbox/prefix/limits.h
    src/tbox/prefix/malloc.h
    src/tbox/prefix/packed.h
    src/tbox/prefix/prefix.h
    src/tbox/prefix/state.h
    src/tbox/prefix/trace.h
    src/tbox/prefix/type.h
    src/tbox/prefix/utils.h
    src/tbox/prefix/version.h
    src/tbox/regex/prefix.h
    src/tbox/regex/regex.h
    src/tbox/stream/filter.h
    src/tbox/stream/prefix.h
    src/tbox/stream/static_stream.h
    src/tbox/stream/stream.h
    src/tbox/stream/transfer.h
    src/tbox/string/prefix.h
    src/tbox/string/static_string.h
    src/tbox/string/string.h
    src/tbox/tbox.h
    src/tbox/utils/base32.h
    src/tbox/utils/base64.h
    src/tbox/utils/bits.h
    src/tbox/utils/dump.h
    src/tbox/utils/lock_profiler.h
    src/tbox/utils/option.h
    src/tbox/utils/prefix.h
    src/tbox/utils/singleton.h
    src/tbox/utils/trace.h
    src/tbox/utils/url.h
    src/tbox/utils/used.h
    src/tbox/utils/utils.h
    src/tbox/xml/node.h
    src/tbox/xml/prefix.h
    src/tbox/xml/reader.h
    src/tbox/xml/writer.h
    src/tbox/xml/xml.h
    src/tbox/zip/gzip.h
    src/tbox/zip/prefix.h
    src/tbox/zip/zip.h
    src/tbox/zip/zlib.h
    src/tbox/zip/zlibraw.h
    src/tbox/prefix/arm/prefix.S
    src/tbox/prefix/arm64/prefix.S
    src/tbox/prefix/mips/prefix.S
    src/tbox/prefix/x64/prefix.S
    src/tbox/prefix/x86/prefix.S
    src/tbox/math/impl/fixed16_arm.h
    src/tbox/math/impl/fixed30_arm.h
    src/tbox/math/impl/impl.h
    src/tbox/math/impl/math.h
    src/tbox/math/impl/prefix.h
    src/tbox/utils/impl/bits_arm.h
    src/tbox/utils/impl/bits_gcc.h
    src/tbox/utils/impl/bits_sh4.h
    src/tbox/utils/impl/bits_x86.h
    src/tbox/utils/impl/impl.h
    src/tbox/utils/impl/prefix.h
    debian/tbox.config.h
)
target_include_directories(tbox PUBLIC
    src
    debian
)
target_compile_definitions(tbox PRIVATE
    __tb_prefix__="tbox"
    _GNU_SOURCE=1
)
target_link_libraries(tbox PUBLIC
    pthread
)

include(GNUInstallDirs)
install(TARGETS tbox DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(DIRECTORY "src/tbox/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/tbox"
        FILES_MATCHING PATTERN "*.h")
install(FILES "debian/tbox.config.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/tbox")
