diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2019-11-22 09:47:40 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-22 09:47:40 -0800 |
| commit | 45f4b820e5743b89bca3508ba2028cdd5d8bbd17 (patch) | |
| tree | f874a8c4a7392309bdbb86447288597ec0a4a281 /ports/mathgl | |
| parent | 62d67d3bf8eeff1afa8009041fd08b8822676b7b (diff) | |
| parent | 8831e8f25f1ff6546ee4a5291b91d599421637b3 (diff) | |
| download | vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.tar.gz vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.zip | |
Merge branch 'master' into vcpkg_nuget
Diffstat (limited to 'ports/mathgl')
| -rw-r--r-- | ports/mathgl/CONTROL | 2 | ||||
| -rw-r--r-- | ports/mathgl/fix_cmakelists_and_cpp.patch | 153 | ||||
| -rw-r--r-- | ports/mathgl/portfile.cmake | 98 |
3 files changed, 184 insertions, 69 deletions
diff --git a/ports/mathgl/CONTROL b/ports/mathgl/CONTROL index 211c435e8..a600207e3 100644 --- a/ports/mathgl/CONTROL +++ b/ports/mathgl/CONTROL @@ -1,5 +1,5 @@ Source: mathgl -Version: 2.4.3 +Version: 2.4.3-3 Description: MathGL is a free library of fast C++ routines for the plotting of the data varied in one or more dimensions Default-Features: opengl, jpeg, png, zlib diff --git a/ports/mathgl/fix_cmakelists_and_cpp.patch b/ports/mathgl/fix_cmakelists_and_cpp.patch new file mode 100644 index 000000000..a929f1ebe --- /dev/null +++ b/ports/mathgl/fix_cmakelists_and_cpp.patch @@ -0,0 +1,153 @@ +diff --git a/mgllab/CMakeLists.txt b/mgllab/CMakeLists.txt +index 1649104..eeec1c1 100644 +--- a/mgllab/CMakeLists.txt ++++ b/mgllab/CMakeLists.txt +@@ -38,7 +38,11 @@ if(MGL_HAVE_FLTK) + set(mgllab_src ${mgllab_src} mgllab.rc) + endif(WIN32) + add_executable(mgllab ${mgllab_src} ${mgllab_hdr}) +- target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) ++ if(WIN32) ++ target_link_libraries(mgllab mgl mgl-fltk mgl-fltk-static mgl-static getopt-static ${FLTK_LIBRARIES}) ++ else(WIN32) ++ target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) ++ endif(WIN32) + install( + TARGETS mgllab + RUNTIME DESTINATION bin ) +diff --git a/mgllab/table.cpp b/mgllab/table.cpp +index 5243549..23eebe5 100644 +--- a/mgllab/table.cpp ++++ b/mgllab/table.cpp +@@ -559,8 +559,13 @@ public: + o->tooltip(_("Change data values and close this window")); + w->set_modal(); w->end(); + } +- double min() { return wmin->value(); } +- double max() { return wmax->value(); } ++ #if WIN32 ++ double _min() { return wmin->value(); } ++ double _max() { return wmax->value(); } ++ #else ++ double min() { return wmin->value(); } ++ double max() { return wmax->value(); } ++ #endif + int sym() { return wsym->value(); } + bool ok() { return !result.empty(); } + void cb_ok() +@@ -581,8 +586,14 @@ void fill_cb(Fl_Widget*, void*v) + HMDT d = dynamic_cast<HMDT>(e->var); + HADT c = dynamic_cast<HADT>(e->var); + char ch = nrm_dlg.result[0]; +- if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } +- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } ++ #if WIN32 ++ if(d) { d->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); } ++ #else ++ if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } ++ #endif ++ + } + } + //----------------------------------------------------------------------------- +@@ -594,8 +605,13 @@ void normal_cb(Fl_Widget*, void*v) + { + HMDT d = dynamic_cast<HMDT>(e->var); + HADT c = dynamic_cast<HADT>(e->var); +- if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } +- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } ++ #if WIN32 ++ if(d) { d->Norm(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); } ++ #else ++ if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } ++ #endif + } + } + //----------------------------------------------------------------------------- +diff --git a/src/parser.cpp b/src/parser.cpp +index 577191d..e6909a1 100644 +--- a/src/parser.cpp ++++ b/src/parser.cpp +@@ -58,7 +58,10 @@ void mglParser::FillBaseCmd() + HMDT MGL_NO_EXPORT mglFormulaCalc(std::wstring string, mglParser *arg, const std::vector<mglDataA*> &head); + HADT MGL_NO_EXPORT mglFormulaCalcC(std::wstring string, mglParser *arg, const std::vector<mglDataA*> &head); + //----------------------------------------------------------------------------- ++#ifndef MGL_ASK_FUNC ++#define MGL_ASK_FUNC + MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0; ++#endif + void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res) + { printf("%ls\n",quest); if(!fgetws(res,1024,stdin)) *res=0; } + //----------------------------------------------------------------------------- +@@ -69,7 +72,10 @@ void MGL_EXPORT mgl_progress_txt(int value, int maximal, HMGL) + else for(int i=prev;i<value;i++) printf("#"); + prev = value; fflush(stdout); + } ++#ifndef MGL_PROGRESS_FUNC ++#define MGL_PROGRESS_FUNC + MGL_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL)=mgl_progress_txt; ++#endif + void MGL_EXPORT mgl_progress(int value, int maximal, HMGL gr) + { mgl_progress_func(value, maximal, gr); } + //----------------------------------------------------------------------------- +diff --git a/utils/mglview.cpp b/utils/mglview.cpp +index d360df3..7e2634b 100644 +--- a/utils/mglview.cpp ++++ b/utils/mglview.cpp +@@ -29,6 +29,18 @@ + #include "mgl2/qt.h" + #endif + //----------------------------------------------------------------------------- ++#ifdef WIN32 ++#ifndef MGL_ASK_FUNC ++#define MGL_ASK_FUNC ++MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0; ++#endif ++#ifndef MGL_PROGRESS_FUNC ++#define MGL_PROGRESS_FUNC ++MGL_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL)=0; ++#endif ++MGL_EXPORT std::string mglGlobalMess; ///< Buffer for receiving global messages ++#endif ++//----------------------------------------------------------------------------- + std::wstring str, opt; + std::vector<std::string> anim; + mglParse p(true); +diff --git a/include/mgl2/datac.h b/include/mgl2/datac.h +index f2c0251..0e69de7 100644 +--- a/include/mgl2/datac.h ++++ b/include/mgl2/datac.h +@@ -474,7 +474,7 @@ using mglDataA::Momentum; + void set_v(mreal val, long i,long j=0,long k=0) { a[i+nx*(j+ny*k)]=val; } + #else + /// Get the value in given cell of the data with border checking +- mreal v(long i,long j=0,long k=0) const { return mgl_abs(mgl_datac_get_value(this,i,j,k)); } ++ mreal v(long i,long j=0,long k=0) const { return abs(a[i+nx*(j+ny*k)]); } + /// Set the value in given cell of the data + void set_v(mreal val, long i,long j=0,long k=0) { mgl_datac_set_value(this,val,i,j,k); } + #endif +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d0c779d..acd9d7f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -579,10 +579,15 @@ if(enable-glut) + 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) ++ find_path(GLUT_INCLUDE_DIR freeglut.h PATH_SUFFIXES GL) ++ include(SelectLibraryConfigurations) ++ find_library(GLUT_LIBRARY_RELEASE NAMES freeglut) ++ find_library(GLUT_LIBRARY_DEBUG NAMES freeglutd) ++ select_library_configurations(GLUT) + if(NOT GLUT_FOUND) + message(SEND_ERROR "Couldn't find GLUT library.") + endif(NOT GLUT_FOUND) ++ include_directories(${GLUT_INCLUDE_DIR}/GL) + else(enable-glut) + set(MGL_HAVE_GLUT 0) + endif(enable-glut) diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake index dd44353e0..3556b917c 100644 --- a/ports/mathgl/portfile.cmake +++ b/ports/mathgl/portfile.cmake @@ -13,89 +13,38 @@ vcpkg_extract_source_archive_ex( REF ${MATHGL_VERSION} PATCHES type_fix.patch + fix_cmakelists_and_cpp.patch ) -set(enable-hdf5 OFF) -if("hdf5" IN_LIST FEATURES) - set(enable-hdf5 ON) -endif() - -set(enable-fltk OFF) -if("fltk" IN_LIST FEATURES) - set(enable-fltk ON) -endif() - -set(enable-gif OFF) -if("gif" IN_LIST FEATURES) - set(enable-gif ON) -endif() - -set(enable-png OFF) -if("png" IN_LIST FEATURES) - set(enable-png ON) -endif() - -set(enable-zlib OFF) -if("zlib" IN_LIST FEATURES) - set(enable-zlib ON) -endif() - -set(enable-jpeg OFF) -if("jpeg" IN_LIST FEATURES) - set(enable-jpeg ON) -endif() - -set(enable-gsl OFF) -if("gsl" IN_LIST FEATURES) - set(enable-gsl ON) -endif() - -set(enable-opengl OFF) -if("opengl" IN_LIST FEATURES) - set(enable-opengl ON) -endif() - -set(enable-glut OFF) -if("glut" IN_LIST FEATURES) - set(enable-glut ON) -endif() - -set(enable-wx OFF) -if("wx" IN_LIST FEATURES) - set(enable-wx ON) -endif() - -set(enable-qt5 OFF) -if("qt5" IN_LIST FEATURES) - set(enable-qt5 ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + hdf5 enable-hdf5 + fltk enable-fltk + gif enable-gif + png enable-png + zlib enable-zlib + jpeg enable-jpeg + gsl enable-gsl + opengl enable-opengl + glut enable-glut + wx enable-wx + qt5 enable-qt5 +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -Denable-hdf5=${enable-hdf5} - -Denable-fltk=${enable-fltk} - -Denable-gif=${enable-gif} - -Denable-png=${enable-png} - -Denable-zlib=${enable-zlib} - -Denable-jpeg=${enable-jpeg} - -Denable-gsl=${enable-gsl} - -Denable-opengl=${enable-opengl} - -Denable-glut=${enable-glut} - -Denable-wx=${enable-wx} - -Denable-qt5=${enable-qt5} + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/mathgl) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) file(REMOVE ${CURRENT_PACKAGES_DIR}/mathgl2-config.cmake) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/mathgl2-config.cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl TARGET_PATH share/mathgl) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) @@ -107,11 +56,24 @@ else() set(EXECUTABLE_SUFFIX "") endif() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgllab${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglview${EXECUTABLE_SUFFIX}) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglconv${EXECUTABLE_SUFFIX}) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgltask${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/udav${EXECUTABLE_SUFFIX}) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/mathgl/) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglconv${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglconv${EXECUTABLE_SUFFIX}) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgltask${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgltask${EXECUTABLE_SUFFIX}) +if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgllab${EXECUTABLE_SUFFIX}) +endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglview${EXECUTABLE_SUFFIX}) +endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/udav${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/udav${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/udav${EXECUTABLE_SUFFIX}) +endif() + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/mathgl) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) |
