filter csg working on windows with cmake

This commit is contained in:
alemuntoni 2020-11-05 11:36:40 +01:00
parent b70738aebe
commit 3710efe58b
14 changed files with 26 additions and 11 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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)

View File

@ -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)

18
src/external/mpir/CMakeLists.txt vendored Normal file
View File

@ -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()

View File

@ -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)