mirror of https://github.com/wolfpld/tracy.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import glob
|
|
import os
|
|
import shutil
|
|
|
|
from typing import List
|
|
|
|
from setuptools import setup, find_namespace_packages, Extension
|
|
from setuptools.command.build_ext import build_ext
|
|
|
|
MODULE_NAME = "tracy_client"
|
|
|
|
|
|
def find_files(pattern: str) -> List[str]:
|
|
return glob.glob(os.path.join(MODULE_NAME, pattern), recursive=True)
|
|
|
|
|
|
class ManualExtension(Extension):
|
|
def __init__(self) -> None:
|
|
super().__init__(name=MODULE_NAME, sources=[])
|
|
|
|
|
|
class DummyBuild(build_ext):
|
|
def build_extension(self, ext) -> None:
|
|
extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
|
|
extdir = os.path.join(extdir, MODULE_NAME)
|
|
|
|
for entry in find_files("*cpython*"):
|
|
shutil.copy(
|
|
os.path.abspath(entry),
|
|
os.path.join(extdir, os.path.basename(entry)),
|
|
)
|
|
|
|
|
|
setup(
|
|
name=MODULE_NAME,
|
|
version="0.10.0",
|
|
author="Bartosz Taudul",
|
|
author_email="wolf@nereid.pl",
|
|
description="A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.",
|
|
long_description="This package contains the client code only. See the documentation for further details.",
|
|
url="https://github.com/wolfpld/tracy",
|
|
ext_modules=[ManualExtension()],
|
|
cmdclass={"build_ext": DummyBuild},
|
|
package_dir={"": "."},
|
|
packages=find_namespace_packages(where="."),
|
|
package_data={"": ["py.typed"]},
|
|
data_files=[
|
|
("lib", find_files("lib*")),
|
|
("include/client", find_files("client/*.h*")),
|
|
("include/common", find_files("common/*.h*")),
|
|
("include/tracy", find_files("tracy/*.h*")),
|
|
],
|
|
include_package_data=True,
|
|
zip_safe=False,
|
|
)
|