Skip to content

Commit 4b6a8e4

Browse files
authored
Merge pull request #77 from fwilliams/remove_vcglib
Remove vcglib and update to permissive license
2 parents 406aea6 + 4d997bc commit 4b6a8e4

File tree

2,694 files changed

+1358
-1407462
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,694 files changed

+1358
-1407462
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,6 @@ external/manifold/
2323
external/simde/
2424
external/tinyply/
2525
external/numpyeigen/
26-
external/igl/
26+
external/igl/
27+
external/geogram/
28+
external/tinyobjloader/

.vscode/c_cpp_properties.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"${workspaceFolder}/external/geogram/src/lib",
1616
"${workspaceFolder}/src",
1717
"${workspaceFolder}/external",
18+
"${workspaceFolder}/external/tinyobjloader",
1819
"${env:CONDA_PREFIX}/envs/point-cloud-utils/include/python3.10",
1920
"${env:CONDA_PREFIX}/envs/point-cloud-utils/lib/python3.10/site-packages/numpy/core/include/"
2021
],

.vscode/settings.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,13 @@
7979
"regex": "cpp",
8080
"numbers": "cpp",
8181
"semaphore": "cpp",
82-
"stop_token": "cpp"
82+
"stop_token": "cpp",
83+
"sparsecholesky": "cpp"
8384
},
8485
"python.linting.enabled": true,
8586
"python.linting.pylintEnabled": true,
8687
"cmake.environment": {
8788
"PATH": "${env:CONDA_PREFIX}/envs/point_cloud_utils/bin:${env:PATH}"
88-
}
89+
},
90+
"cmake.configureOnOpen": false
8991
}

CMakeLists.txt

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.10)
22
project(point-cloud-utils)
3-
set(CMAKE_CXX_STANDARD 14)
3+
set(CMAKE_CXX_STANDARD 17)
44
set(CMAKE_BUILD_TYPE "Release")
55

66

@@ -32,40 +32,44 @@ endif()
3232
set(EXTERNAL_DEP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external)
3333
include(DownloadExternalDeps)
3434
download_dep(numpyeigen
35-
GIT_REPOSITORY https://github.com/fwilliams/numpyeigen.git
36-
GIT_TAG master
35+
GIT_REPOSITORY https://github.com/fwilliams/numpyeigen.git
36+
GIT_TAG master
3737
)
3838
list(APPEND CMAKE_MODULE_PATH ${EXTERNAL_DEP_DIR}/numpyeigen/cmake)
3939
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
4040
include(numpyeigen) # This will define Eigen3::Eigen if we enabled NPE_WITH_EIGEN
4141

4242
download_dep(igl
43-
GIT_REPOSITORY https://github.com/fwilliams/libigl.git
44-
GIT_TAG stable_with_macos_hotfix
43+
GIT_REPOSITORY https://github.com/libigl/libigl.git
44+
GIT_TAG main
4545
)
4646

4747
download_dep(tinyply
48-
GIT_REPOSITORY https://github.com/fwilliams/tinyply.git
49-
GIT_TAG point_cloud_utils
48+
GIT_REPOSITORY https://github.com/ddiakopoulos/tinyply.git
49+
GIT_TAG 2.4
50+
)
51+
52+
download_dep(tinyobjloader
53+
GIT_REPOSITORY https://github.com/tinyobjloader/tinyobjloader.git
54+
GIT_TAG release
5055
)
5156

5257
if(NOT NATIVE_SSE)
5358
# igl has sse hardcoded, so use simde to redirect to the platforms native simd instructions.
5459
download_dep(simde
55-
GIT_REPOSITORY https://github.com/simd-everywhere/simde.git
56-
GIT_TAG dd0b662fd8cf4b1617dbbb4d08aa053e512b08e4
57-
)
60+
GIT_REPOSITORY https://github.com/simd-everywhere/simde.git
61+
GIT_TAG dd0b662fd8cf4b1617dbbb4d08aa053e512b08e4
62+
)
5863
endif()
5964

6065

6166
# Build manifold as a static lib
6267
download_dep(manifold
63-
GIT_REPOSITORY https://github.com/AppledoreM/Manifold
64-
GIT_TAG 28e335f8bfde0721f39fc439e362727c6ad47987
68+
GIT_REPOSITORY https://github.com/AppledoreM/Manifold
69+
GIT_TAG 28e335f8bfde0721f39fc439e362727c6ad47987
6570
)
6671
set(MANIFOLD_SRC_DIR ${EXTERNAL_DEP_DIR}/manifold/src)
67-
set(
68-
manifold_SRC
72+
set(manifold_SRC
6973
${MANIFOLD_SRC_DIR}/BVH.cpp
7074
${MANIFOLD_SRC_DIR}/BVH.h
7175
${MANIFOLD_SRC_DIR}/Intersection.cpp
@@ -93,7 +97,6 @@ endif()
9397
# add_library(mls_utils STATIC ${mls_utils_SRC})
9498
# set_target_properties(mls_utils PROPERTIES LINKER_LANGUAGE CXX)
9599
# target_include_directories(mls_utils PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external)
96-
# target_include_directories(mls_utils PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/vcglib)
97100
# target_include_directories(mls_utils PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
98101
# target_include_directories(mls_utils PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/numpyeigen/external/eigen)
99102

@@ -112,8 +115,8 @@ endif()
112115
set(EMBREE_DIR "${EXTERNAL_DEP_DIR}/embree")
113116
if(NOT TARGET embree)
114117
download_dep(embree
115-
GIT_REPOSITORY https://github.com/embree/embree.git
116-
GIT_TAG v3.13.5
118+
GIT_REPOSITORY https://github.com/embree/embree.git
119+
GIT_TAG v3.13.5
117120
)
118121

119122
# Note: On macOS, building embree as a static lib can only be done with a single ISA target.
@@ -136,9 +139,13 @@ endif()
136139

137140

138141
# Build geogram
142+
download_dep(geogram
143+
GIT_REPOSITORY https://github.com/fwilliams/geogram-pcu.git
144+
GIT_TAG main
145+
)
139146
set(THIRD_PARTY_DIR ${EXTERNAL_DEP_DIR})
140147
include(geogram)
141-
148+
target_compile_definitions(geogram PUBLIC _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS)
142149
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
143150
SET_TARGET_PROPERTIES(geogram PROPERTIES COMPILE_FLAGS -fopenmp LINK_FLAGS -fopenmp)
144151
target_compile_options(geogram PUBLIC -fopenmp)
@@ -199,14 +206,13 @@ npe_add_module(_pcu_internal
199206
target_sources(_pcu_internal PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/common/morton_code.cpp)
200207
target_sources(_pcu_internal PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/common/geogram_utils.cpp)
201208
target_sources(_pcu_internal PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/common/embree_intersector.cpp)
202-
target_sources(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/vcglib/wrap/ply/plylib.cpp)
203209
# target_sources(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/tinyply/source/tinyply.cpp)
204210
target_include_directories(_pcu_internal PRIVATE ${EXTERNAL_DEP_DIR}/tinyply/source)
205-
target_include_directories(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/vcglib)
206211
target_include_directories(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
207212
target_include_directories(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/nanoflann)
208213
target_include_directories(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external)
209214
target_include_directories(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/igl/include)
215+
target_include_directories(_pcu_internal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/tinyobjloader)
210216
target_include_directories(_pcu_internal PRIVATE ${EMBREE_DIR}/include)
211217
target_link_libraries(_pcu_internal PRIVATE embree)
212218
target_link_libraries(_pcu_internal PRIVATE geogram)
@@ -231,6 +237,7 @@ if(MSVC)
231237
/wd4996 # this function or variable may be unsafe
232238
# This one is when using bools in adjacency matrices
233239
/wd4804 #'+=': unsafe use of type 'bool' in operation
240+
/bigobj # Required for large projects
234241
)
235242
endif()
236243

@@ -245,4 +252,3 @@ endif()
245252

246253
enable_testing()
247254
add_subdirectory(tests)
248-

0 commit comments

Comments
 (0)