endif(WIN32)
option(enable-double "Enable double precision in MathGL library" ON)
-option(enable-mpi "Enable mpi")
+option(enable-mpi "Enable mpi" ON)
option(enable-opengl "Enable OpenGL support" ON)
option(enable-all-docs "Enable all documentation building")
#option(enable-doc "Enable documentation building")
option(enable-lgpl "Enable only LGPL part of MathGL")
option(enable-mgl2 "Use names 'libmgl2-*' instead of 'libmgl-*'")
-option(enable-ltdl "Enable loading modules support")
+option(enable-ltdl "Enable loading modules support" ON)
option(enable-doc-site "Enable HTML documentation for website")
#CMAKE_DEPENDENT_OPTION(enable-doc-site "Enable HTML documentation for website" OFF "NOT enable-all-docs" ON)
CMAKE_DEPENDENT_OPTION(enable-doc-html "Enable HTML documentation" OFF "NOT enable-all-docs" ON)
CMAKE_DEPENDENT_OPTION(enable-zlib "Enable zlib support" ON "NOT enable-all" ON)
CMAKE_DEPENDENT_OPTION(enable-png "Enable png support" ON "NOT enable-all" ON)
-CMAKE_DEPENDENT_OPTION(enable-jpeg "Enable jpeg support" OFF "NOT enable-all" ON)
-MGL_DEPENDENT_OPTION(enable-gsl "Enable gsl support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
-MGL_DEPENDENT_OPTION(enable-hdf4 "Enable hdf4 support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
-MGL_DEPENDENT_OPTION(enable-hdf5 "Enable hdf5 support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
-CMAKE_DEPENDENT_OPTION(enable-pdf "Enable pdf support" OFF "NOT enable-all" ON)
-CMAKE_DEPENDENT_OPTION(enable-gif "Enable gif support" OFF "NOT enable-all" ON)
-CMAKE_DEPENDENT_OPTION(enable-glut "Enable glut support" OFF "NOT enable-all-widgets" ON)
-CMAKE_DEPENDENT_OPTION(enable-fltk "Enable fltk widget" OFF "NOT enable-all-widgets" ON)
-CMAKE_DEPENDENT_OPTION(enable-wx "Enable wxWidget widget" OFF "NOT enable-all-widgets" ON)
+CMAKE_DEPENDENT_OPTION(enable-jpeg "Enable jpeg support" ON "NOT enable-all" ON)
+MGL_DEPENDENT_OPTION(enable-gsl "Enable gsl support" ON "NOT enable-lgpl" ON "NOT enable-all" ON)
+MGL_DEPENDENT_OPTION(enable-hdf4 "Enable hdf4 support" ON "NOT enable-lgpl" ON "NOT enable-all" ON)
+MGL_DEPENDENT_OPTION(enable-hdf5 "Enable hdf5 support" ON "NOT enable-lgpl" ON "NOT enable-all" ON)
+CMAKE_DEPENDENT_OPTION(enable-pdf "Enable pdf support" ON "NOT enable-all" ON)
+CMAKE_DEPENDENT_OPTION(enable-gif "Enable gif support" ON "NOT enable-all" ON)
+CMAKE_DEPENDENT_OPTION(enable-glut "Enable glut support" ON "NOT enable-all-widgets" ON)
+CMAKE_DEPENDENT_OPTION(enable-fltk "Enable fltk widget" ON "NOT enable-all-widgets" ON)
+CMAKE_DEPENDENT_OPTION(enable-wx "Enable wxWidget widget" ON "NOT enable-all-widgets" ON)
CMAKE_DEPENDENT_OPTION(enable-qt4 "Enable Qt4 widget" OFF "NOT enable-all-widgets" ON)
CMAKE_DEPENDENT_OPTION(enable-qt4asqt "Set Qt4 as default libmgl-qt" OFF "enable-qt4" OFF)
-CMAKE_DEPENDENT_OPTION(enable-qt5 "Enable Qt5 widget" OFF "NOT enable-all-widgets" ON)
-CMAKE_DEPENDENT_OPTION(enable-qt5asqt "Set Qt5 as default libmgl-qt" OFF "enable-qt5" OFF)
+CMAKE_DEPENDENT_OPTION(enable-qt5 "Enable Qt5 widget" ON "NOT enable-all-widgets" ON)
+CMAKE_DEPENDENT_OPTION(enable-qt5asqt "Set Qt5 as default libmgl-qt" ON "enable-qt5" OFF)
# msvc fwprintf print char* for the specifier of "%s" format
if(MSVC AND MSVC_VERSION GREATER 1899)
# endif(NOT enable-opengl)
endif(enable-qt4 OR enable-qt5)
-CMAKE_DEPENDENT_OPTION(enable-json-sample "Enable JSON sample (WebKit variant is the default)." ON "QT_ENABLED" OFF)
-CMAKE_DEPENDENT_OPTION(enable-json-sample-we "Enable JSON sample (WebEngine variant)." OFF "enable-json-sample" OFF)
-MGL_DEPENDENT_OPTION(enable-python "Enable python interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
+CMAKE_DEPENDENT_OPTION(enable-json-sample "Enable JSON sample (WebKit variant is the default)." ON "QT_ENABLED" ON)
+CMAKE_DEPENDENT_OPTION(enable-json-sample-we "Enable JSON sample (WebEngine variant)." ON "enable-json-sample" ON)
+MGL_DEPENDENT_OPTION(enable-python "Enable python interface" ON "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
MGL_DEPENDENT_OPTION(enable-lua "Enable Lua (v.5.1) interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
-MGL_DEPENDENT_OPTION(enable-octave "Enable octave interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
+MGL_DEPENDENT_OPTION(enable-octave "Enable octave interface" ON "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
MGL_DEPENDENT_OPTION(enable-octave-install "Octave interface will install for all users" ON "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
include_directories( ${MathGL2_SOURCE_DIR}/include ${MathGL2_BINARY_DIR}/include)
--- a/lang/CMakeLists.txt
+++ b/lang/CMakeLists.txt
-@@ -18,17 +18,27 @@
+@@ -18,17 +18,17 @@
INCLUDE(${SWIG_USE_FILE})
if(enable-python)
- set(Python_ADDITIONAL_VERSIONS 2.7)
- FIND_PACKAGE(PythonInterp)
+ set(Python_ADDITIONAL_VERSIONS ${PY3VERSION_DOTTED})
-+ unset(PYTHONINTERP_FOUND)
-+ unset(PYTHON_EXECUTABLE CACHE)
+ FIND_PACKAGE(PythonInterp ${PY3VERSION_DOTTED} REQUIRED)
if(NOT PYTHONINTERP_FOUND)
message(SEND_ERROR "Couldn't find python interpreter.")
endif(NOT PYTHONINTERP_FOUND)
- FIND_PACKAGE(PythonLibs)
-+ unset(PYTHONLIBS_FOUND)
-+ unset(PYTHON_LIBRARIES CACHE)
-+ unset(PYTHON_INCLUDE_PATH CACHE)
-+ unset(PYTHON_INCLUDE_DIRS CACHE)
-+ unset(PYTHON_DEBUG_LIBRARIES CACHE)
-+ unset(PYTHONLIBS_VERSION_STRING CACHE)
-+ unset(PYTHON_LIBRARY CACHE)
-+ unset(PYTHON_INCLUDE_DIR CACHE)
+ FIND_PACKAGE(PythonLibs ${PY3VERSION_DOTTED} REQUIRED)
if(NOT PYTHONLIBS_FOUND)
message(SEND_ERROR "Couldn't find python development libraries.")
OUTPUT_VARIABLE NUMPY_INCLUDE_PATH
RESULT_VARIABLE NUMPY_ERR
OUTPUT_STRIP_TRAILING_WHITESPACE
-@@ -39,27 +49,27 @@
+@@ -39,11 +39,11 @@
include_directories(${PYTHON_INCLUDE_DIR} ${NUMPY_INCLUDE_PATH})
execute_process(
+ COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE MGL_PYTHON_SITE_PACKAGES
OUTPUT_STRIP_TRAILING_WHITESPACE)
-- set(SWIG_MODULE_mathgl_EXTRA_DEPS numpy.i ${src_imp_dep})
+ set(SWIG_MODULE_mathgl_EXTRA_DEPS numpy.i ${src_imp_dep})
- if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
-- SWIG_ADD_MODULE(mathgl python mathgl.i)
-+ set(SWIG_MODULE_mathglp3_EXTRA_DEPS numpy.i ${src_imp_dep})
+ if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
-+ SWIG_ADD_MODULE(mathglp3 python mathgl.i)
+ SWIG_ADD_MODULE(mathgl python mathgl.i)
else(${CMAKE_VERSION} VERSION_LESS "3.8.0")
-- SWIG_ADD_LIBRARY(mathgl LANGUAGE python SOURCES mathgl.i)
-+ SWIG_ADD_LIBRARY(mathglp3 LANGUAGE python SOURCES mathgl.i)
- endif(${CMAKE_VERSION} VERSION_LESS "3.8.0")
-- SWIG_LINK_LIBRARIES(mathgl mgl ${PYTHON_LIBRARIES})
-- set_target_properties(_mathgl PROPERTIES BUILD_WITH_INSTALL_RPATH ON)
-+ SWIG_LINK_LIBRARIES(mathglp3 mgl ${PYTHON_LIBRARIES})
-+ set_target_properties(_mathglp3 PROPERTIES BUILD_WITH_INSTALL_RPATH ON)
- add_custom_command(OUTPUT mathgl.pyc
- COMMAND ${PYTHON_EXECUTABLE}
- ARGS -c \"from py_compile import compile\; compile('mathgl.py') \"
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang
-- DEPENDS _mathgl
-+ DEPENDS _mathglp3
+ SWIG_ADD_LIBRARY(mathgl LANGUAGE python SOURCES mathgl.i)
+@@ -58,7 +58,7 @@
)
-- add_custom_target(mgl_python_module ALL DEPENDS _mathgl mathgl.pyc)
-+ add_custom_target(mglp3_python_module ALL DEPENDS _mathglp3 mathgl.pyc)
+ add_custom_target(mgl_python_module ALL DEPENDS _mathgl mathgl.pyc)
- install(FILES ${MathGL2_BINARY_DIR}/lang/mathgl.py ${MathGL2_BINARY_DIR}/lang/mathgl.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
-- install (TARGETS _mathgl LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
+ install(FILES ${MathGL2_BINARY_DIR}/lang/mathgl.py ${MathGL2_BINARY_DIR}/lang/__pycache__/mathgl.cpython-${PY3VERSION_NODOT}.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES}/__pycache__)
-+ install (TARGETS _mathglp3 LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
+ install (TARGETS _mathgl LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
set(mgl_clean_files ${mgl_clean_files} mathgl.py)
endif(enable-python)
-
--- a/lang/numpy.i
+++ b/lang/numpy.i
@@ -107,11 +107,9 @@
INCLUDE(${SWIG_USE_FILE})
if(enable-python)
- set(Python_ADDITIONAL_VERSIONS 2.7)
- FIND_PACKAGE(PythonInterp)
+ set(Python_ADDITIONAL_VERSIONS ${PY3VERSION_DOTTED})
+ FIND_PACKAGE(PythonInterp ${PY3VERSION_DOTTED} REQUIRED)
if(NOT PYTHONINTERP_FOUND)
message(SEND_ERROR "Couldn't find python interpreter.")
endif(NOT PYTHONINTERP_FOUND)
- FIND_PACKAGE(PythonLibs)
+ FIND_PACKAGE(PythonLibs ${PY3VERSION_DOTTED} REQUIRED)
if(NOT PYTHONLIBS_FOUND)
message(SEND_ERROR "Couldn't find python development libraries.")
endif(NOT PYTHONLIBS_FOUND)
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print numpy.get_include()"
+ COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print (numpy.get_include())"
OUTPUT_VARIABLE NUMPY_INCLUDE_PATH
RESULT_VARIABLE NUMPY_ERR
OUTPUT_STRIP_TRAILING_WHITESPACE
include_directories(${PYTHON_INCLUDE_DIR} ${NUMPY_INCLUDE_PATH})
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')"
+ COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE MGL_PYTHON_SITE_PACKAGES
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(SWIG_MODULE_mathgl_EXTRA_DEPS numpy.i ${src_imp_dep})
- if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
SWIG_ADD_MODULE(mathgl python mathgl.i)
else(${CMAKE_VERSION} VERSION_LESS "3.8.0")
SWIG_ADD_LIBRARY(mathgl LANGUAGE python SOURCES mathgl.i)
)
add_custom_target(mgl_python_module ALL DEPENDS _mathgl mathgl.pyc)
- install(FILES ${MathGL2_BINARY_DIR}/lang/mathgl.py ${MathGL2_BINARY_DIR}/lang/mathgl.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
+ install(FILES ${MathGL2_BINARY_DIR}/lang/mathgl.py ${MathGL2_BINARY_DIR}/lang/__pycache__/mathgl.cpython-${PY3VERSION_NODOT}.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES}/__pycache__)
install (TARGETS _mathgl LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
set(mgl_clean_files ${mgl_clean_files} mathgl.py)
endif(enable-python)
if (PyDict_Check( py_obj)) return "dict" ;
if (PyList_Check( py_obj)) return "list" ;
if (PyTuple_Check( py_obj)) return "tuple" ;
- if (PyFile_Check( py_obj)) return "file" ;
if (PyModule_Check( py_obj)) return "module" ;
- if (PyInstance_Check(py_obj)) return "instance" ;
- return "unknow type";
+ return "unknown type";
}
/* Given a NumPy typecode, return a string describing the type.