aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/mathgl/linkage.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/mathgl/linkage.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/mathgl/linkage.patch')
-rw-r--r--vcpkg/ports/mathgl/linkage.patch187
1 files changed, 187 insertions, 0 deletions
diff --git a/vcpkg/ports/mathgl/linkage.patch b/vcpkg/ports/mathgl/linkage.patch
new file mode 100644
index 0000000..e63971f
--- /dev/null
+++ b/vcpkg/ports/mathgl/linkage.patch
@@ -0,0 +1,187 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a316984..920a099 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -71,6 +71,14 @@ macro(mgl_po_src)
+ set(po_files ${po_files} ${l_files} PARENT_SCOPE)
+ endmacro(mgl_po_src)
+
++if(BUILD_SHARED_LIBS)
++ set(link_type "")
++ set(excluded_type "-static")
++else()
++ set(link_type "-static")
++ set(excluded_type "")
++endif()
++
+ function(mgl_add_lib mgl_tmp_lib)
+ if(${mgl_tmp_lib} MATCHES mgl)
+ set(mgllib mgl)
+@@ -113,8 +121,10 @@ function(mgl_add_lib mgl_tmp_lib)
+ set_target_properties(${mgllib}-static PROPERTIES OUTPUT_NAME "${mgllib}${mgl_lib_static}${mgl_lib_end}")
+ endif(enable-mgl2)
+
++ target_compile_definitions(${mgllib} PRIVATE BUILDING_${mgllib}_LIB)
++ set_target_properties(${mgllib}${excluded_type} PROPERTIES EXCLUDE_FROM_ALL 1)
+ install(
+- TARGETS ${mgllib} ${mgllib}-static
++ TARGETS ${mgllib}${link_type}
+ EXPORT MathGLTargets
+ RUNTIME DESTINATION ${MathGL_INSTALL_BIN_DIR}
+ ARCHIVE DESTINATION ${MathGL_INSTALL_LIB_DIR}
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 0263910..186d95b 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -4,7 +4,7 @@ file(COPY ${CMAKE_SOURCE_DIR}/examples/Equirectangular-projection.jpg DESTINATIO
+ file(COPY ${CMAKE_SOURCE_DIR}/examples/samples.cpp DESTINATION ${CMAKE_BINARY_DIR}/examples)
+ file(COPY ${CMAKE_SOURCE_DIR}/examples/wnd_samples.cpp DESTINATION ${CMAKE_BINARY_DIR}/examples)
+ add_executable(mgl_example wnd_samples.cpp full_test.cpp samples.cpp)
+-target_link_libraries(mgl_example mgl-static ${getopt_lib-static})
++target_link_libraries(mgl_example mgl${link_type} ${getopt_lib-static})
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_COMPILER_IS_GNUCXX AND enable-lcov)
+ setup_target_for_coverage(
+ NAME mgl_coverage
+@@ -16,25 +16,25 @@ endif(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_COMPILER_IS_GNUCXX AND enable-
+ if(MGL_HAVE_FLTK)
+ include_directories(${FLTK_INCLUDE_DIR})
+ add_executable(mgl_fltk_example wnd_samples.cpp fltk_example.cpp)
+- target_link_libraries(mgl_fltk_example mgl-fltk)
++ target_link_libraries(mgl_fltk_example mgl-fltk${link_type})
+ endif(MGL_HAVE_FLTK)
+
+ if(MGL_HAVE_GLUT)
+ add_executable(mgl_glut_example wnd_samples.cpp glut_example.cpp)
+- target_link_libraries(mgl_glut_example mgl-glut)
++ target_link_libraries(mgl_glut_example mgl-glut${link_type})
+ endif(MGL_HAVE_GLUT)
+
+ if(MGL_HAVE_WX)
+ include(${wxWidgets_USE_FILE})
+ add_executable(mgl_wx_example wnd_samples.cpp wx_example.cpp)
+- target_link_libraries(mgl_wx_example mgl-wx)
++ target_link_libraries(mgl_wx_example mgl-wx${link_type})
+ endif(MGL_HAVE_WX)
+
+ if(QT_ENABLED)
+ add_executable(mgl_qt_example wnd_samples.cpp qt_example.cpp)
+ if(enable-qt5)
+ include(../scripts/qt5.cmake)
+- target_link_libraries(mgl_qt_example mgl-qt5)
++ target_link_libraries(mgl_qt_example mgl-qt5${link_type})
+ else(enable-qt5)
+ include(../scripts/qt4.cmake)
+ target_link_libraries(mgl_qt_example mgl-qt4)
+@@ -43,7 +43,7 @@ if(QT_ENABLED)
+ if(MGL_HAVE_OPENGL)
+ add_executable(mgl_qgl_example wnd_samples.cpp qgl_example.cpp)
+ if(enable-qt5)
+- target_link_libraries(mgl_qgl_example mgl ${MGL_QT5_LIBS})
++ target_link_libraries(mgl_qgl_example mgl${link_type} ${MGL_QT5_LIBS})
+ else(enable-qt5)
+ target_link_libraries(mgl_qgl_example mgl ${MGL_QT4_LIBS})
+ endif(enable-qt5)
+@@ -52,11 +52,11 @@ endif(QT_ENABLED)
+
+ if(MGL_HAVE_LTDL)
+ add_library(mgl_module MODULE mgl_module.cpp)
+- target_link_libraries(mgl_module mgl) # for compatibility with win32
++ target_link_libraries(mgl_module mgl${link_type}) # for compatibility with win32
+ endif(MGL_HAVE_LTDL)
+
+ if(MGL_HAVE_MPI)
+ add_executable(mgl_mpi_example mpi_test.cpp)
+- target_link_libraries(mgl_mpi_example mgl-mpi mgl ${MPI_LIBRARIES})
++ target_link_libraries(mgl_mpi_example mgl-mpi${link_type} mgl${link_type} ${MPI_LIBRARIES})
+ target_include_directories(mgl_mpi_example SYSTEM PUBLIC ${MPI_CXX_INCLUDE_PATH})
+ endif(MGL_HAVE_MPI)
+diff --git a/include/mgl2/abstract.h b/include/mgl2/abstract.h
+index da27869..b1e6761 100644
+--- a/include/mgl2/abstract.h
++++ b/include/mgl2/abstract.h
+@@ -20,6 +20,15 @@
+ #ifndef _MGL_ABSTRACT_H_
+ #define _MGL_ABSTRACT_H_
+
++#include "mgl2/dllexport.h"
++#if defined(BUILDING_mgl_LIB) || !defined mgl_EXPORTS
++#define MGL_CORE_EXPORT MGL_EXPORT
++#elif defined(_WIN32) && !defined(MGL_STATIC_DEFINE)
++#define MGL_CORE_EXPORT __declspec(dllimport)
++#else
++#define MGL_CORE_EXPORT
++#endif
++
+ #include "mgl2/define.h"
+ //-----------------------------------------------------------------------------
+ #ifdef __cplusplus
+@@ -209,11 +218,11 @@ cmdual MGL_EXPORT mgl_cexpr_eval_v(HAEX ex, mdual *vars);
+
+ //-----------------------------------------------------------------------------
+ /// Callback function for asking user a question. Result shouldn't exceed 1024.
+-extern MGL_EXPORT void (*mgl_ask_func)(const wchar_t *quest, wchar_t *res);
++extern MGL_CORE_EXPORT void (*mgl_ask_func)(const wchar_t *quest, wchar_t *res);
+ /// Console function for asking user a question. Result shouldn't exceed 1024.
+ void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res);
+ /// Callback function for displaying progress of something.
+-extern MGL_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL gr);
++extern MGL_CORE_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL gr);
+ /// Console function for displaying progress of something.
+ void MGL_EXPORT mgl_progress_txt(int value, int maximal, HMGL gr);
+ /// Display progress of something.
+@@ -404,7 +413,7 @@ struct MGL_EXPORT mglColorID
+ char id;
+ mglColor col;
+ };
+-MGL_EXPORT extern mglColorID mglColorIds[31];
++MGL_CORE_EXPORT extern mglColorID mglColorIds[31];
+ // MGL_EXPORT extern std::string mglGlobalMess; ///< Buffer for receiving global messages
+ //-----------------------------------------------------------------------------
+ #endif
+diff --git a/mgllab/CMakeLists.txt b/mgllab/CMakeLists.txt
+index 1649104..41c2e6a 100644
+--- a/mgllab/CMakeLists.txt
++++ b/mgllab/CMakeLists.txt
+@@ -38,7 +38,7 @@ 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})
++ target_link_libraries(mgllab mgl${link_type} mgl-fltk${link_type} ${getopt_lib-static} ${FLTK_LIBRARIES})
+ install(
+ TARGETS mgllab
+ RUNTIME DESTINATION bin )
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index 3e10fa7..0281859 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -1,11 +1,5 @@
+ add_executable(make_pas make_pas.cpp)
+
+-if(MSVC)
+-set(link_type -static)
+-else(MSVC)
+-set(link_type)
+-endif(MSVC)
+-
+ add_executable(mgltask mgltask.cpp)
+ target_link_libraries(mgltask mgl${link_type} ${getopt_lib-static})
+ install(
+@@ -23,7 +17,7 @@ install(
+ )
+
+ add_executable(mgl.cgi mglcgi.cpp)
+-target_link_libraries(mgl.cgi mgl-static)
++target_link_libraries(mgl.cgi mgl${link_type})
+ install(
+ TARGETS mgl.cgi
+ EXPORT MathGLTargets
+@@ -36,7 +30,7 @@ mgl_po_src(mglconv.cpp mglview.cpp mglcgi.cpp mgltask.cpp)
+ if(MGL_HAVE_FLTK)
+ add_definitions(-DUSE_FLTK)
+ add_executable(mglview mglview.cpp)
+- target_link_libraries(mglview mgl-fltk ${getopt_lib-static} ${FLTK_LIBRARIES})
++ target_link_libraries(mglview mgl-fltk${link_type} ${getopt_lib-static} ${FLTK_LIBRARIES})
+ install(
+ TARGETS mglview
+ EXPORT MathGLTargets