diff options
| author | Alvin <52727318+AlvinZhangH@users.noreply.github.com> | 2019-09-13 04:31:04 +0800 |
|---|---|---|
| committer | Griffin Downs <35574547+grdowns@users.noreply.github.com> | 2019-09-12 13:31:04 -0700 |
| commit | 595363d842bab763dbd36c7a0cbc5247423b6b19 (patch) | |
| tree | fb9b479bc6a92d56cd262ac2a93192160392999e | |
| parent | fba465af91b7be88eadbfc75bc0ead7c18d7d4fd (diff) | |
| download | vcpkg-595363d842bab763dbd36c7a0cbc5247423b6b19.tar.gz vcpkg-595363d842bab763dbd36c7a0cbc5247423b6b19.zip | |
[mathgl]Fix build failure on x86-windows. (#8145)
* [mathgl]Add function declare, change member function name, add link lib in Windows.
* [mathgl]Determine whether there is a file then duplicate.
| -rw-r--r-- | ports/mathgl/CONTROL | 2 | ||||
| -rw-r--r-- | ports/mathgl/fix_cmakelists_and_cpp.patch | 87 | ||||
| -rw-r--r-- | ports/mathgl/portfile.cmake | 10 |
3 files changed, 98 insertions, 1 deletions
diff --git a/ports/mathgl/CONTROL b/ports/mathgl/CONTROL index 9337e5f2d..5854d5d6d 100644 --- a/ports/mathgl/CONTROL +++ b/ports/mathgl/CONTROL @@ -1,5 +1,5 @@ Source: mathgl -Version: 2.4.3-1 +Version: 2.4.3-2 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..1e7a253bf --- /dev/null +++ b/ports/mathgl/fix_cmakelists_and_cpp.patch @@ -0,0 +1,87 @@ +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/utils/mglview.cpp b/utils/mglview.cpp +index d360df3..15eeb3e 100644 +--- a/utils/mglview.cpp ++++ b/utils/mglview.cpp +@@ -29,6 +29,12 @@ + #include "mgl2/qt.h" + #endif + //----------------------------------------------------------------------------- ++#if WIN32 ++ MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0; ++ MGL_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL)=0; ++ MGL_EXPORT std::string mglGlobalMess; ++#endif ++//----------------------------------------------------------------------------- + std::wstring str, opt; + std::vector<std::string> anim; + mglParse p(true); diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake index d17707c64..4e4aff5dc 100644 --- a/ports/mathgl/portfile.cmake +++ b/ports/mathgl/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_extract_source_archive_ex( REF ${MATHGL_VERSION} PATCHES type_fix.patch + fix_cmakelists_and_cpp.patch ) set(enable-hdf5 OFF) @@ -107,11 +108,20 @@ 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(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() + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/mathgl) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) |
