from setuptools import setup, Extension
from setuptools.command.build_ext import build_ext
import sys
import os
import pybind11
class BuildExt(build_ext):
    def build_extensions(self):
        if sys.platform == 'win32':
            # Windows-specific compiler flags
            for ext in self.extensions:
                ext.extra_compile_args = ['/O2', '/Wall']
        else:
            # Linux/Mac flags
            for ext in self.extensions:
                ext.extra_compile_args = ['-O3', '-Wall', '-fPIC']
        build_ext.build_extensions(self)

setup(
    name="mesh_processor",
    ext_modules=[
        Extension(
            "mesh_processor",
            ["mesh_processor.cpp"],
            include_dirs=[
                pybind11.get_include(),
                pybind11.get_include(user=True)
            ],
            language='c++'
        ),
    ],
    cmdclass={'build_ext': BuildExt},
)