# SPDX-License-Identifier: LGPL-3.0-or-other
# Copyright (C) 2021 Contributors to the SLS Detector Package
"""
Setup file for slsdet
Build upon the pybind11 example found here: https://github.com/pybind/python_example
"""

import os
import sys
sys.path.append('../libs/pybind11')
from setuptools import setup, find_packages
from pybind11.setup_helpers import Pybind11Extension, build_ext

__version__ = os.environ.get('GIT_DESCRIBE_TAG', 'developer')


def get_conda_path():
    """
    Keep this a function if we need some fancier logic later
    """
    print('Prefix: ', os.environ['CONDA_PREFIX'])
    return os.environ['CONDA_PREFIX']


#TODO migrate to CMake build? 
ext_modules = [
    Pybind11Extension(
        '_slsdet',
        ['src/main.cpp',
        'src/current.cpp',
        'src/enums.cpp',
        'src/detector.cpp',
        'src/network.cpp',
        'src/pattern.cpp',
        'src/scan.cpp',],
        include_dirs=[
            os.path.join('../libs/pybind11/include'),
            os.path.join(get_conda_path(), 'include'),

        ],
        libraries=['SlsDetector', 'SlsSupport', 'SlsReceiver', 'zmq'],
        library_dirs=[
            os.path.join(get_conda_path(), 'lib'),
        ],
        language='c++'
    ),
]

setup(
    name='slsdet',
    version=__version__,
    author='Erik Frojdh',
    author_email='erik.frojdh@psi.ch',
    url='https://github.com/slsdetectorgroup/slsDetectorPackage',
    description='Detector API for SLS Detector Group detectors',
    long_description='',
    packages=find_packages(exclude=['contrib', 'docs', 'tests']),
    ext_modules=ext_modules,
    cmdclass={"build_ext": build_ext},
    zip_safe=False,
)