diff --git a/distrib/lib/win32-msvc2008/mpir.lib b/distrib/lib/win32-msvc2008/mpir.lib deleted file mode 100644 index 7fd50fcfb..000000000 Binary files a/distrib/lib/win32-msvc2008/mpir.lib and /dev/null differ diff --git a/distrib/lib/win32-msvc2008/mpirxx.lib b/distrib/lib/win32-msvc2008/mpirxx.lib deleted file mode 100644 index 3fc22079c..000000000 Binary files a/distrib/lib/win32-msvc2008/mpirxx.lib and /dev/null differ diff --git a/distrib/lib/win32-msvc2015/mpir.lib b/distrib/lib/win32-msvc2015/mpir.lib deleted file mode 100644 index cd191c7ac..000000000 Binary files a/distrib/lib/win32-msvc2015/mpir.lib and /dev/null differ diff --git a/distrib/lib/win32-msvc2015/mpirxx.lib b/distrib/lib/win32-msvc2015/mpirxx.lib deleted file mode 100644 index 17f6d049a..000000000 Binary files a/distrib/lib/win32-msvc2015/mpirxx.lib and /dev/null differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cef73c352..902751792 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -224,7 +224,8 @@ set(COPIED_FILES) file( GLOB SHADERS LIST_DIRECTORIES false - "${CMAKE_CURRENT_SOURCE_DIR}/../distrib/shaders/*.vert" "${CMAKE_CURRENT_SOURCE_DIR}/../distrib/shaders/*.frag" + "${CMAKE_CURRENT_SOURCE_DIR}/../distrib/shaders/*.vert" + "${CMAKE_CURRENT_SOURCE_DIR}/../distrib/shaders/*.frag" "${CMAKE_CURRENT_SOURCE_DIR}/../distrib/shaders/*.gdp") foreach(FN ${SHADERS}) get_filename_component(NAME_ONLY ${FN} NAME) diff --git a/src/external/external.cmake b/src/external/external.cmake index 9226b4935..e329193c4 100644 --- a/src/external/external.cmake +++ b/src/external/external.cmake @@ -13,14 +13,8 @@ set(LIB3DS_DIR ${EXTERNAL_DIR}/lib3ds-1.3.0) add_subdirectory(${LIB3DS_DIR}) # gmp or mpir - optional, for filter_csg -if(GMP_FOUND) - message(STATUS "- GMP/MPIR - using system-provided GMP library") - add_library(external-gmp INTERFACE) - target_include_directories(external-gmp SYSTEM INTERFACE ${GMP_INCLUDE_DIRS}) - target_link_libraries(external-gmp INTERFACE ${GMP_LIBRARIES}) -else() - # TODO set up external-mpir per-os for bundled mpir -endif() +set(MPIR_DIR ${EXTERNAL_DIR}/mpir) +add_subdirectory(${MPIR_DIR}) # muparser - optional, for filter_func set(MUPARSER_DIR ${EXTERNAL_DIR}/muparser_v225) diff --git a/src/external/mpir/CMakeLists.txt b/src/external/mpir/CMakeLists.txt new file mode 100644 index 000000000..c7934592d --- /dev/null +++ b/src/external/mpir/CMakeLists.txt @@ -0,0 +1,18 @@ +if(GMP_FOUND) + message(STATUS "- GMP/MPIR - using system-provided GMP library") + add_library(external-gmp INTERFACE) + target_include_directories(external-gmp SYSTEM INTERFACE ${GMP_INCLUDE_DIRS}) + target_link_libraries(external-gmp INTERFACE ${GMP_LIBRARIES}) +else() + if (WIN32 AND MSVC) + message(STATUS "- Using already built MPIR library.") + file( + COPY ${MPIR_DIR}/win32-msvc/mpir.lib ${MPIR_DIR}/win32-msvc/mpirxx.lib + DESTINATION ${MESHLAB_BUILD_DISTRIB_DIR}) + add_library(mpir SHARED IMPORTED GLOBAL) + add_library(mpirxx SHARED IMPORTED GLOBAL) + target_include_directories(mpir INTERFACE ${EXTERNAL_DIR}/inc/win32-msvc/mpir-2.2.1_x64) + set_property(TARGET mpir PROPERTY IMPORTED_IMPLIB_RELEASE "${MESHLAB_BUILD_DISTRIB_DIR}/mpir.lib") + set_property(TARGET mpirxx PROPERTY IMPORTED_IMPLIB_RELEASE "${MESHLAB_BUILD_DISTRIB_DIR}/mpirxx.lib") + endif() +endif() diff --git a/distrib/lib/macx64/libmpir.a b/src/external/mpir/macx64/libmpir.a similarity index 100% rename from distrib/lib/macx64/libmpir.a rename to src/external/mpir/macx64/libmpir.a diff --git a/distrib/lib/macx64/libmpirxx.a b/src/external/mpir/macx64/libmpirxx.a similarity index 100% rename from distrib/lib/macx64/libmpirxx.a rename to src/external/mpir/macx64/libmpirxx.a diff --git a/distrib/lib/macx64/mpir.txt b/src/external/mpir/macx64/mpir.txt similarity index 100% rename from distrib/lib/macx64/mpir.txt rename to src/external/mpir/macx64/mpir.txt diff --git a/distrib/lib/readme.txt b/src/external/mpir/readme.txt similarity index 100% rename from distrib/lib/readme.txt rename to src/external/mpir/readme.txt diff --git a/distrib/lib/win32-msvc/mpir.lib b/src/external/mpir/win32-msvc/mpir.lib similarity index 100% rename from distrib/lib/win32-msvc/mpir.lib rename to src/external/mpir/win32-msvc/mpir.lib diff --git a/distrib/lib/win32-msvc/mpirxx.lib b/src/external/mpir/win32-msvc/mpirxx.lib similarity index 100% rename from distrib/lib/win32-msvc/mpirxx.lib rename to src/external/mpir/win32-msvc/mpirxx.lib diff --git a/src/meshlabplugins/filter_csg/CMakeLists.txt b/src/meshlabplugins/filter_csg/CMakeLists.txt index d11f824ca..044d88ab7 100644 --- a/src/meshlabplugins/filter_csg/CMakeLists.txt +++ b/src/meshlabplugins/filter_csg/CMakeLists.txt @@ -6,7 +6,8 @@ ### then re-run ./make-cmake.py # Only build if we have gmp/gmpxx or mpir -if(TARGET external-gmp OR TARGET external-mpir) +if(TARGET external-gmp OR + (TARGET mpir AND TARGET mpirxx)) set(SOURCES filter_csg.cpp) @@ -21,7 +22,8 @@ if(TARGET external-gmp OR TARGET external-mpir) target_compile_definitions(filter_csg PRIVATE BUILD_WITH_GMP) target_link_libraries(filter_csg PRIVATE external-gmp) else() - target_link_libraries(filter_csg PRIVATE external-mpir) + target_link_libraries(filter_csg PRIVATE mpir) + target_link_libraries(filter_csg PRIVATE mpirxx) endif() set_property(TARGET filter_csg PROPERTY FOLDER Plugins)