cmmake
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
from __future__ import print_function
|
||||
|
||||
import setuptools
|
||||
from setuptools import setup
|
||||
from setuptools.extension import Extension
|
||||
from codecs import open
|
||||
@@ -49,7 +50,9 @@ from distutils.core import setup
|
||||
|
||||
pjoin = os.path.join
|
||||
here = os.path.abspath(os.path.dirname(__file__))
|
||||
pkg_root = pjoin(here, name)
|
||||
#pkg_root = pjoin(here, name)
|
||||
|
||||
sys.path.insert(0, "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
my_extra_link_args = []
|
||||
if platform.system() == 'Windows':
|
||||
@@ -64,13 +67,26 @@ else:
|
||||
# or dll in glob('yap/dlls/*'):
|
||||
# move( dll ,'lib' )
|
||||
|
||||
cplus = ['']
|
||||
bpy2yap = []
|
||||
native_sources = ['yap_wrap.cpp']
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
gmp_dir = path.abspath(path.dirname("${GMP_LIBRARIES}"))
|
||||
python_libdir = path.abspath(path.dirname("${PYTHON_LIBRARIES}"))
|
||||
native_sources = ["yap.i"]
|
||||
|
||||
for i in '${PYTHON_SOURCES}'.split(";"):
|
||||
copy2(i, 'yap4py')
|
||||
for i in '${pl_library}'.split(";") + '${pl_swi_library}'.split(";") :
|
||||
copy2(i, 'yap4py/prolog')
|
||||
for i in '${pl_os_library}'.split(";") :
|
||||
copy2(i, 'yap4py/prolog/os')
|
||||
for i in '${pl_boot_library}'.split(";") :
|
||||
copy2(i, 'yap4py/prolog/pl')
|
||||
my_libs0 = '${YAP_DLLS}'.split(";")+['${CMAKE_BINARY_DIR}/startup.yss']
|
||||
my_libs = []
|
||||
for i in my_libs0:
|
||||
my_libs = glob(i) + my_libs
|
||||
for i in my_libs:
|
||||
copy2(i, 'yap4py')
|
||||
bpy2yap = []
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
#gmp_dir = path.abspath(path.dirname("${GMP_LIBRARIES}"))
|
||||
#python_libdir = path.abspath(path.dirname("${PYTHON_LIBRARIES}")
|
||||
# Get the long description from the README file
|
||||
|
||||
|
||||
@@ -85,8 +101,9 @@ extensions = [Extension('_yap', native_sources,
|
||||
swig_opts=['-modern', '-c++', '-py3',
|
||||
'-DX_API', '-I${CMAKE_SOURCE_DIR}/CXX', '-I${CMAKE_SOURCE_DIR}/include',
|
||||
'-I${CMAKE_SOURCE_DIR}/H', '-I${CMAKE_SOURCE_DIR}/H/generated',
|
||||
'-I${CMAKE_SOURCE_DIR}/os', '-I${CMAKE_SOURCE_DIR}/OPTYap', '-I../../..'],
|
||||
library_dirs=['../../..', '../../../CXX', '..', "${dlls}", "${bindir}", 'c:/Anaconda3'],
|
||||
'-I${CMAKE_SOURCE_DIR}/os', '-I${CMAKE_SOURCE_DIR}/OPTYap',
|
||||
'-I${CMAKE_SOURCE_DIR}/packages/python'],
|
||||
library_dirs=['../../..', '../../../CXX', '..', "${bindir}"],
|
||||
extra_link_args=my_extra_link_args,
|
||||
libraries=['Yap','gmp']+win_libs+local_libs,
|
||||
include_dirs=['../../..',
|
||||
@@ -95,26 +112,18 @@ extensions = [Extension('_yap', native_sources,
|
||||
'${CMAKE_SOURCE_DIR}/H/generated',
|
||||
'${CMAKE_SOURCE_DIR}/OPTYap',
|
||||
'${CMAKE_SOURCE_DIR}/os',
|
||||
'${CMAKE_SOURCE_DIR}/packages/python',
|
||||
'${CMAKE_SOURCE_DIR}/include',
|
||||
'${CMAKE_SOURCE_DIR}/CXX', '.']
|
||||
)]
|
||||
)]#
|
||||
|
||||
packages = ['yap4py']
|
||||
packages = packages = setuptools.find_packages('${CMAKE_CURRENT_SOURCE_DIR}')
|
||||
|
||||
|
||||
def visit(d0, pls):
|
||||
for (r, ds, fs) in walk('.'):
|
||||
for f in fs:
|
||||
f0, ext = os.path.splitext(f)
|
||||
if (ext == 'yap' or ext == 'pl' or ext == 'so' or ext == 'dll' or ext == 'yss'):
|
||||
pls += [os.path.join(r, f)]
|
||||
for i in ds:
|
||||
pls = visit(os.path.join(d0, i), pls)
|
||||
return pls
|
||||
|
||||
|
||||
package_data = {
|
||||
'yap4py.prolog': """${PL}""".split(sep=";")
|
||||
'yap4py/prolog': 'prolog/*.*',
|
||||
'': '*.*'
|
||||
}
|
||||
|
||||
version_ns = {'__version__': '6.3.5', 'minor-version': '6', 'minor-version': '3', 'patch': '5'}
|
||||
@@ -124,7 +133,7 @@ setup_args = dict(
|
||||
version=version_ns['__version__'],
|
||||
scripts=glob(pjoin('scripts', '*')),
|
||||
packages=packages,
|
||||
py_modules=['yap'],
|
||||
py_modules=['yap','yap4py'],
|
||||
package_data=package_data,
|
||||
include_package_data=True,
|
||||
requirements=[
|
||||
|
Reference in New Issue
Block a user