From: Dimitrios Eftaxiopoulos Date: Sun, 21 Apr 2013 15:56:10 +0000 (+0300) Subject: Merge tag 'upstream/2.1.2+svn722' into experimental X-Git-Tag: archive/raspbian/2.5-2+rpi1^2~151^2~24 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=118642a667ffd68dbc5d9a72a9b0c661bcbd9d5f;p=mathgl.git Merge tag 'upstream/2.1.2+svn722' into experimental Upstream version 2.1.2+svn722 Conflicts: CMakeLists.txt --- 118642a667ffd68dbc5d9a72a9b0c661bcbd9d5f diff --cc CMakeLists.txt.orig index 0000000,0000000..ae44f81 new file mode 100644 --- /dev/null +++ b/CMakeLists.txt.orig @@@ -1,0 -1,0 +1,448 @@@ ++cmake_minimum_required(VERSION 2.8.6) ++ ++project( MathGL ) ++ ++if(NOT CMAKE_BUILD_TYPE) ++ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: ++ None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE) ++endif(NOT CMAKE_BUILD_TYPE) ++ ++set(CMAKE_VERBOSE_MAKEFILE ON) ++set(MathGL_VERSION_MAJOR 2) ++set(MathGL_VERSION_MINOR 1.2) ++ ++ ++MACRO(MGL_DEPENDENT_OPTION option doc default depends1 force1 depends2 force2) ++ IF(${option}_ISSET MATCHES "^${option}_ISSET$") ++ SET(${option}_AVAILABLE 1) ++ IF(${force1}) ++ FOREACH(d ${depends1}) ++ STRING(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}") ++ IF(${CMAKE_DEPENDENT_OPTION_DEP}) ++ ELSE(${CMAKE_DEPENDENT_OPTION_DEP}) ++ SET(${option}_AVAILABLE 0) ++ SET(depends1_AVAILABLE 1) ++ ENDIF(${CMAKE_DEPENDENT_OPTION_DEP}) ++ ENDFOREACH(d) ++ ENDIF(${force1}) ++ IF(${force2}) ++ FOREACH(d ${depends2}) ++ STRING(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}") ++ IF(${CMAKE_DEPENDENT_OPTION_DEP}) ++ ELSE(${CMAKE_DEPENDENT_OPTION_DEP}) ++ SET(${option}_AVAILABLE 0) ++ SET(depends2_AVAILABLE 1) ++ ENDIF(${CMAKE_DEPENDENT_OPTION_DEP}) ++ ENDFOREACH(d) ++ ENDIF(${force2}) ++ IF(${option}_AVAILABLE) ++ OPTION(${option} "${doc}" "${default}") ++ SET(${option} "${${option}}" CACHE BOOL "${doc}" FORCE) ++ ELSE(${option}_AVAILABLE) ++ IF(${option} MATCHES "^${option}$") ++ ELSE(${option} MATCHES "^${option}$") ++ SET(${option} "${${option}}" CACHE INTERNAL "${doc}") ++ ENDIF(${option} MATCHES "^${option}$") ++ IF(depends1_AVAILABLE) ++ SET(${option} OFF) ++ ELSEIF(depends2_AVAILABLE) ++ SET(${option} ON) ++ ENDIF(depends1_AVAILABLE) ++ ENDIF(${option}_AVAILABLE) ++ ELSE(${option}_ISSET MATCHES "^${option}_ISSET$") ++ SET(${option} "${${option}_ISSET}") ++ ENDIF(${option}_ISSET MATCHES "^${option}_ISSET$") ++ENDMACRO(MGL_DEPENDENT_OPTION) ++include(CMakeDependentOption) ++ ++set(MGL_LIB_INSTALL_DIR "lib" CACHE STRING "Set library install directory") ++ ++option(enable-double "Enable double precision in MathGL library" ON) ++<<<<<<< HEAD ++option(enable-simple "Slightly increase drawing speed but disable mglDataA class" OFF) ++option(enable-mpi "Enable mpi" ON) ++option(enable-all "Enable all core features" ON) ++option(enable-all-widgets "Enable all Widgets" ON) ++option(enable-all-swig "Enable all SWIG based interfaces" ON) ++option(enable-lgpl "Enable only LGPL part of MathGL" OFF) ++#option(enable-ltdl "Enable loading modules support") ++option(enable-pthread "Enable POSIX threads support" ON) ++option(enable-gsl "Enable gsl support" ON) ++option(enable-jpeg "Enable jpeg support" ON) ++option(enable-png "Enable png support" ON) ++option(enable-zlib "Enable zlib support" ON) ++option(enable-pdf "Enable pdf support" ON) ++option(enable-gif "Enable gif support" ON) ++option(enable-hdf4 "Enable hdf4 support" ON) ++option(enable-hdf5 "Enable hdf5 support" ON) ++option(enable-opengl "Enable OpenGL support" ON) ++option(enable-glut "Enable glut support" ON) ++option(enable-fltk "Enable fltk widget" ON) ++option(enable-wx "Enable wxWidget widget" ON) ++option(enable-qt "Enable Qt4 widget" ON) ++option(enable-python "Enable python interface" ON) ++option(enable-octave "Enable octave interface" ON) ++option(enable-octave-install "Octave interface will install for all users" ON) ++option(enable-doc "Enable documentation building" ON) ++======= ++option(enable-simple "Slightly increase drawing speed but disable mglDataA class") ++option(enable-mpi "Enable mpi") ++option(enable-doc "Enable documentation building") ++option(enable-all "Enable all core features") ++option(enable-all-widgets "Enable all Widgets") ++option(enable-all-swig "Enable all SWIG based interfaces") ++option(enable-pthread "Enable POSIX threads support" ON) ++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") ++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-opengl "Enable OpenGL support" ON "NOT enable-mpi" OFF) ++MGL_DEPENDENT_OPTION(enable-glut "Enable glut support" OFF "NOT enable-lgpl;NOT enable-mpi" ON "NOT enable-all-widgets" ON) ++MGL_DEPENDENT_OPTION(enable-fltk "Enable fltk widget" OFF "NOT enable-lgpl;NOT enable-mpi" ON "NOT enable-all-widgets" ON) ++CMAKE_DEPENDENT_OPTION(enable-wx "Enable wxWidget widget" OFF "NOT enable-lgpl;NOT enable-mpi" OFF) ++MGL_DEPENDENT_OPTION(enable-qt "Enable Qt4 widget" OFF "NOT enable-lgpl;NOT enable-mpi" ON "NOT enable-all-widgets" ON) ++MGL_DEPENDENT_OPTION(enable-python "Enable python 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-install "Octave interface will install for all users" ON "NOT enable-lgpl" ON "NOT enable-all-swig" ON) ++>>>>>>> upstream/2.1.2+svn722 ++ ++include_directories( ${MathGL_SOURCE_DIR}/include ${MathGL_BINARY_DIR}/include) ++set(MGL_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/include/mgl2") ++ ++include(CheckFunctionExists) ++include(CMakePushCheckState) ++CHECK_FUNCTION_EXISTS(sin MGL_SIN) ++if(NOT MGL_SIN) ++ cmake_push_check_state() ++ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} m) ++ CHECK_FUNCTION_EXISTS(sin MGL_SIN_M) ++ cmake_pop_check_state() ++ if(MGL_SIN_M) ++ set(M_LIB m) ++ elseif(MGL_SIN_M) ++ message(SEND_ERROR "Math library not found") ++ endif(MGL_SIN_M) ++endif(NOT MGL_SIN) ++ ++if(enable-double) ++ set(MGL_USE_DOUBLE 1) ++else(enable-double) ++ set(MGL_USE_DOUBLE 0) ++endif(enable-double) ++ ++if(enable-simple) ++ set(MGL_NO_DATA_A 1) ++message(STATUS "Class mglDataA is switched off.") ++else(enable-simple) ++ set(MGL_NO_DATA_A 0) ++endif(enable-simple) ++ ++if(enable-mpi) ++ set(MGL_HAVE_MPI 1) ++ find_package(MPI REQUIRED) ++ set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) ++ set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS}) ++ include_directories(${MPI_INCLUDE_PATH}) ++else(enable-mpi) ++ set(MGL_HAVE_MPI 0) ++endif(enable-mpi) ++ ++if(enable-pthread) ++ set(MGL_HAVE_PTHREAD 1) ++ include(FindThreads) ++ if(NOT CMAKE_USE_PTHREADS_INIT) ++ message(SEND_ERROR "Couldn't find POSIX threads library.") ++ endif(NOT CMAKE_USE_PTHREADS_INIT) ++else(enable-pthread) ++ set(MGL_HAVE_PTHREAD 0) ++endif(enable-pthread) ++ ++if(enable-gsl) ++ set(MGL_HAVE_GSL 1) ++ find_library(GSL_LIB gsl) ++ find_library(GSL_CBLAS_LIB gslcblas) ++ find_path(GSL_INCLUDE_DIR gsl/gsl_fft_complex.h) ++ if(NOT GSL_LIB OR NOT GSL_CBLAS_LIB OR NOT GSL_INCLUDE_DIR) ++ message(SEND_ERROR "${GSL_LIB}") ++ message(SEND_ERROR "${GSL_CBLAS_LIB}") ++ message(SEND_ERROR "${GSL_INCLUDE_DIR}") ++ message(SEND_ERROR "Couldn't find GSL libraries.") ++ endif(NOT GSL_LIB OR NOT GSL_CBLAS_LIB OR NOT GSL_INCLUDE_DIR) ++else(enable-gsl) ++ set(MGL_HAVE_GSL 0) ++endif(enable-gsl) ++ ++#if(enable-all OR enable-ltdl) ++# set(MGL_HAVE_LTDL 1) ++# find_library(LTDL_LIB ltdl) ++# find_path(LTDL_INCLUDE_DIR ltdl.h) ++# if(NOT LTDL_LIB OR NOT LTDL_INCLUDE_DIR) ++# message(SEND_ERROR "${LTDL_LIB}") ++# message(SEND_ERROR "${LTDL_INCLUDE_DIR}") ++# message(SEND_ERROR "Couldn't find LTDL library.") ++# endif(NOT LTDL_LIB OR NOT LTDL_INCLUDE_DIR) ++#else(enable-all OR enable-ltdl) ++# set(MGL_HAVE_LTDL 0) ++#endif(enable-all OR enable-ltdl) ++ ++if(enable-hdf4) ++ set(MGL_HAVE_HDF4 1) ++ find_library(HDF4_LIB df) ++ find_library(HDF4MF_LIB mfhdf) ++ find_path(HDF4_INCLUDE_DIR hdf/mfhdf.h) ++ if(NOT HDF4_LIB OR NOT HDF4MF_LIB OR NOT HDF4_INCLUDE_DIR) ++ message(SEND_ERROR "${HDF4_LIB}") ++ message(SEND_ERROR "${HDF4MF_LIB}") ++ message(SEND_ERROR "${HDF4_INCLUDE_DIR}") ++ message(SEND_ERROR "Couldn't find HDF4 libraries.") ++ endif(NOT HDF4_LIB OR NOT HDF4MF_LIB OR NOT HDF4_INCLUDE_DIR) ++else(enable-hdf4) ++ set(MGL_HAVE_HDF4 0) ++endif(enable-hdf4) ++ ++if(enable-hdf5) ++# message(STATUS "enable hdf5") ++ set(MGL_HAVE_HDF5 1) ++ include(FindHDF5) ++ if(NOT HDF5_FOUND) ++ message(SEND_ERROR "Couldn't find HDF5 library.") ++ endif(NOT HDF5_FOUND) ++else(enable-hdf5) ++ set(MGL_HAVE_HDF5 0) ++endif(enable-hdf5) ++ ++if(enable-jpeg) ++ set(MGL_HAVE_JPEG 1) ++ include(FindJPEG) ++ if(NOT JPEG_FOUND) ++ message(SEND_ERROR "Couldn't find JPEG library.") ++ endif(NOT JPEG_FOUND) ++else(enable-jpeg) ++ set(MGL_HAVE_JPEG 0) ++endif(enable-jpeg) ++ ++ ++if(enable-zlib) ++ set(MGL_HAVE_ZLIB 1) ++ include(FindZLIB) ++ if(NOT ZLIB_FOUND) ++ message(SEND_ERROR "Couldn't find ZLib library.") ++ endif(NOT ZLIB_FOUND) ++else(enable-zlib) ++ set(MGL_HAVE_ZLIB 0) ++endif(enable-zlib) ++ ++if(enable-png) ++ set(MGL_HAVE_PNG 1) ++ if(NOT MGL_HAVE_ZLIB) ++ message(SEND_ERROR "You have to enable ZLib if you plan to use PNG export.") ++ endif(NOT MGL_HAVE_ZLIB) ++ include(FindPNG) ++ if(NOT PNG_FOUND) ++ message(SEND_ERROR "Couldn't find PNG library.") ++ endif(NOT PNG_FOUND) ++else(enable-png) ++ set(MGL_HAVE_PNG 0) ++endif(enable-png) ++ ++ ++if(enable-pdf) ++ set(MGL_HAVE_PDF 1) ++ if(NOT MGL_HAVE_PNG) ++ message(SEND_ERROR "You have to enable PNG if you plan to use PDF export.") ++ endif(NOT MGL_HAVE_PNG) ++ find_library(HPDF_LIB hpdf) ++ if(NOT HPDF_LIB) ++ message(SEND_ERROR "Couldn't find libHaru or libhpdf.") ++ endif(NOT HPDF_LIB) ++ find_path(HPDF_INCLUDE_DIR hpdf_u3d.h) ++ if(NOT HPDF_INCLUDE_DIR) ++ message(SEND_ERROR "Couldn't find headers of 3d-enabled version of libhpdf.") ++ endif(NOT HPDF_INCLUDE_DIR) ++# message(STATUS "Found libHaru library at: ${HPDF_LIB}") ++# message(STATUS "Found libHaru headers: ${HPDF_INCLUDE_DIR}") ++else(enable-pdf) ++ set(MGL_HAVE_PDF 0) ++endif(enable-pdf) ++ ++if(enable-gif) ++ set(MGL_HAVE_GIF 1) ++ include(FindGIF) ++ if(NOT GIF_FOUND) ++ message(SEND_ERROR "Couldn't find GIF library.") ++ endif(NOT GIF_FOUND) ++else(enable-gif) ++ set(MGL_HAVE_GIF 0) ++endif(enable-gif) ++ ++if(enable-opengl) ++ set(MGL_HAVE_OPENGL 1) ++ include(FindOpenGL) ++ if(NOT OPENGL_FOUND) ++ message(SEND_ERROR "Couldn't find OpenGL libraries.") ++ endif(NOT OPENGL_FOUND) ++else(enable-opengl) ++ set(MGL_HAVE_OPENGL 0) ++endif(enable-opengl) ++ ++if(enable-glut) ++ set(MGL_HAVE_GLUT 1) ++ if(NOT MGL_HAVE_OPENGL) ++ message(SEND_ERROR "You have to enable OpenGL if you plan to use GLUT.") ++ endif(NOT MGL_HAVE_OPENGL) ++ include(FindGLUT) ++ if(NOT GLUT_FOUND) ++ message(SEND_ERROR "Couldn't find GLUT library.") ++ endif(NOT GLUT_FOUND) ++else(enable-glut) ++ set(MGL_HAVE_GLUT 0) ++endif(enable-glut) ++ ++if(enable-fltk) ++ set(MGL_HAVE_FLTK 1) ++ include(FindFLTK) ++ if(NOT FLTK_FOUND) ++ message(SEND_ERROR "Couldn't find FLTK library.") ++ endif(NOT FLTK_FOUND) ++else(enable-fltk) ++ set(MGL_HAVE_FLTK 0) ++endif(enable-fltk) ++ ++#if((enable-all-widgets OR enable-wx) AND (NOT enable-lgpl) ) ++if(enable-wx) ++ set(MGL_HAVE_WX 1) ++ FIND_PACKAGE(wxWidgets COMPONENTS base core gl) ++ if(NOT wxWidgets_FOUND) ++ message(SEND_ERROR "Couldn't find wxWidgets library.") ++ endif(NOT wxWidgets_FOUND) ++#else((enable-all-widgets OR enable-wx) AND (NOT enable-lgpl) ) ++else(enable-wx) ++ set(MGL_HAVE_WX 0) ++#endif((enable-all-widgets OR enable-wx) AND (NOT enable-lgpl) ) ++endif(enable-wx) ++ ++if(enable-qt) ++ set(MGL_HAVE_QT 1) ++ FIND_PACKAGE(Qt4 4.8 REQUIRED QtCore QtGui QtNetwork QtWebKit) ++ if(NOT QT4_FOUND) ++ message(SEND_ERROR "Couldn't find Qt4 library.") ++ endif(NOT QT4_FOUND) ++else(enable-qt) ++ set(MGL_HAVE_QT 0) ++endif(enable-qt) ++ ++if(enable-python) ++ set(MGL_HAVE_PYTHON 1) ++ FIND_PACKAGE(PythonInterp) ++ if(NOT PYTHONINTERP_FOUND) ++ message(SEND_ERROR "Couldn't find python interpreter.") ++ endif(NOT PYTHONINTERP_FOUND) ++ FIND_PACKAGE(PythonLibs) ++ 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()" ++ OUTPUT_VARIABLE NUMPY_INCLUDE_PATH ++ RESULT_VARIABLE NUMPY_ERR ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ ) ++ if(NOT NUMPY_INCLUDE_PATH) ++ message(SEND_ERROR "Couldn't find numpy.") ++ endif(NOT NUMPY_INCLUDE_PATH) ++else(enable-python) ++ set(MGL_HAVE_PYTHON 0) ++endif(enable-python) ++ ++if(enable-octave) ++ set(MGL_HAVE_OCTAVE 1) ++ find_program(oct_prog octave-config) ++ if(NOT oct_prog) ++ message(SEND_ERROR "Couldn't find octave-config needed for octave interfaces compiling.") ++ endif(NOT oct_prog) ++ find_program(oct_exec octave) ++ if(NOT oct_exec) ++ message(SEND_ERROR "Couldn't find octave needed for octave interfaces compiling.") ++ endif(NOT oct_exec) ++ find_program(oct_mk mkoctfile) ++ if(NOT oct_mk) ++ message(SEND_ERROR "Couldn't find mkoctfile needed for octave interfaces compiling.") ++ endif(NOT oct_mk) ++ find_program(oct_tar tar) ++ if(NOT oct_tar) ++ message(SEND_ERROR "Couldn't find tar needed for octave interfaces creation.") ++ endif(NOT oct_tar) ++else(enable-octave) ++ set(MGL_HAVE_OCTAVE 0) ++endif(enable-octave) ++ ++if(enable-doc) ++ set(MGL_HAVE_DOC 1) ++ find_program(findmi makeinfo) ++ if(NOT findmi) ++ message(SEND_ERROR "Couldn't find makeinfo needed for documentation building.") ++ endif(NOT findmi) ++ find_program(findth texi2html) ++ if(NOT findth) ++ message(SEND_ERROR "Couldn't find texi2html needed for documentation building.") ++ endif(NOT findth) ++ find_program(findtp texi2pdf) ++ if(NOT findtp) ++ message(SEND_ERROR "Couldn't find texi2pdf needed for documentation building.") ++ endif(NOT findtp) ++else(enable-doc) ++ set(MGL_HAVE_DOC 0) ++endif(enable-doc) ++ ++if(MGL_HAVE_PYTHON OR MGL_HAVE_OCTAVE) ++ FIND_PACKAGE(SWIG) ++ if(NOT SWIG_FOUND) ++ message(SEND_ERROR "Couldn't find swig needed for interfaces compiling.") ++ endif(NOT SWIG_FOUND) ++ INCLUDE(${SWIG_USE_FILE}) ++endif(MGL_HAVE_PYTHON OR MGL_HAVE_OCTAVE) ++ ++#execute_process( ++# COMMAND ${oct_prog} -q --eval \'strcat\(octave_config_info\("canonical_host_type"\), "-", octave_config_info\("api_version"\)\)'|sed -e 's/ans = //' ++# OUTPUT_VARIABLE OCTAVE_ARCH ++# ) ++#message(SEND_ERROR "${OCTAVE_ARCH}") ++ ++if(UNIX) ++ add_definitions(-DNO_COLOR_ARRAY) ++endif(UNIX) ++ ++if(WIN32) ++ add_definitions(-DWIN32) ++endif(WIN32) ++ ++if(NOT WIN32) ++set(MGL_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/mathgl") ++set(MGL_DOC_PATH "${CMAKE_INSTALL_PREFIX}/share/doc/mathgl") ++set(MGL_MAN_PATH "${CMAKE_INSTALL_PREFIX}/share/man") ++set(MGL_INFO_PATH "${CMAKE_INSTALL_PREFIX}/share/info") ++set(MGL_FONT_PATH "${MGL_DATA_PATH}/fonts") ++install(DIRECTORY fonts/ DESTINATION ${MGL_FONT_PATH} ++ PATTERN ".svn" EXCLUDE ++ PATTERN "*.vfm") ++endif(NOT WIN32) ++ ++add_subdirectory( src ) ++add_subdirectory( widgets ) ++add_subdirectory( include ) ++add_subdirectory( udav ) ++add_subdirectory( json ) ++#add_subdirectory( mgllab ) ++add_subdirectory( lang ) ++if(NOT MSVC AND NOT BORLAND) ++add_subdirectory( utils ) ++add_subdirectory( examples ) ++add_subdirectory( texinfo ) ++endif(NOT MSVC AND NOT BORLAND)