* + c bindings to facilitate static FFI bindings Squashed commit of the following: commit a05f9b0e0ab079b95c29b4641ae928f02be219f4 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Dec 10 16:21:47 2022 -0800 Add flag (default on) for python bindings Signed-off-by: Geoff deRosenroll <geoffderosenroll@gmail.com> commit ce5b601fc7578fa43edbf7363a7b625d1d27a1de Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Dec 9 23:45:29 2022 -0800 conv function naming consistency commit 1b50cf077dada8c3bc13d77bfa1c8f0a406c047d Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Tue Dec 6 17:42:18 2022 -0800 manifold_level_set_seq to C API (force sequential) commit 77e06daf92e7014ce153a336ed685b9370e965c0 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Tue Dec 6 17:24:10 2022 -0800 Use an optional executionpolicy param in LevelSet This allows bindings to avoid breaking their runtime locks while passing in function pointers without introducing another compile flag. commit 12c62b1e33cdacd07f056859fa2038dfd1f62170 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Dec 5 15:09:41 2022 -0800 Better section comments commit 24f1d5107e24f41d3860fe6dea4832a523989eb9 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Dec 2 12:01:50 2022 -0800 Add missing management functions for Components commit a7d5aae8550c4ace458e78314eab04a3cf5f2053 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Thu Dec 1 23:45:45 2022 -0800 Break Decompose up to avoid repetition in C binds commit a650a1531dc52610db8e6009e82e247d7f256d3e Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sun Nov 27 22:41:38 2022 -0800 Add manifold_get_properties commit 97a58396cd8e6c5fad698f1280d02d78e0b51ded Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 26 22:53:42 2022 -0800 circular segment functions corrected to static commit c9c1ca7ec599b5f14401c85efde19481d86226f8 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Thu Nov 24 21:19:11 2022 -0800 polygons from dbl ptr of SimplePolygon commit 8e5390aa729817d0cc652f92a64e6850e4e16e9b Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Wed Nov 23 12:16:44 2022 -0800 compose and decompose switched to double ptrs commit 45c78c3e1aa0eaab8622c77b69221226af06861c Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Tue Nov 22 11:40:32 2022 -0800 Add manifold copy and empty constructors commit cfc06fe55cd4a508005385bcdb4037ed89695f80 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Nov 21 15:03:00 2022 -0800 Add MANIFOLD_SEQ_SDF to avoid runtime lock commit e0f9d09e5ced6fcb2b83722542e99b20d0799e25 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sun Nov 20 16:56:50 2022 -0800 Add missing export related contructors. commit 0cbaa4a6090c402f2a2483c35f5b3b7e82d8cf52 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sun Nov 20 16:03:43 2022 -0800 Add separate destruct functions commit fd6c1c250e6b91114b0203b40a941fa73e3473ec Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 19 17:29:12 2022 -0800 More consistent array handling commit ec1eef84153b13bba0b5ae78a42084b634a9d9b1 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 19 16:52:07 2022 -0800 Replace array args with pointers commit 9079cbf7bb788e1b8eb992cbe1e3e51dfc36f1ce Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 19 15:00:47 2022 -0800 Revert "Switch back to funptr struct args for simplicity" This reverts commit dc78841af654bf81c41e74795bac0f724af59dd0. commit 62c1078fe9b10c88df86da0a5275f47581dad275 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 19 14:52:37 2022 -0800 Switch back to funptr struct args for simplicity commit d30992db9a4224235246531a5ddf1a034e8e0c1a Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 19 14:06:12 2022 -0800 Avoid needing to pass in vec struct for funptrs commit 2ba7bec1653a655c68bba3d2961fd280bc8e8f32 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Sat Nov 19 00:32:09 2022 -0800 Use template spec to avoid fun ptr to cuda commit 1faf58b3887747af8659eb1be660e2fc40ff17f9 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Nov 18 21:54:56 2022 -0800 Make fPIC more conditional. commit 6215f89447f63753ca0dd2f2fcee88c7aaf5e548 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Nov 18 21:35:09 2022 -0800 Avoid passing dynamic lambda to GPU commit 30fa3dc323df8962e3802a58f346b813a8a759f5 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Nov 18 18:02:04 2022 -0800 note and temporary hack RE cuda compilation commit bb4dfe93cb8e0e7b582450f6d0c0d8d5ba5cef9a Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Nov 18 17:21:25 2022 -0800 Set graphlite library to OBJECT commit e803da50b983c931c69e42fe3fea30aff534034b Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Nov 18 16:04:28 2022 -0800 Convert sublibraries to OBJECT to avoid archives commit d0e9d176e79f18c645e538a5df19263d11630fcd Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Fri Nov 18 15:28:15 2022 -0800 Add missing polygon size and deletion funcs commit 7db72848b9012d9f1a69b28ad878fb65f4524fc3 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Tue Nov 15 22:26:17 2022 -0800 Remove static flag (control with shared flag) commit 5ae33f34716998e3d8b3368c619b81f145e34cfe Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Tue Nov 15 22:16:27 2022 -0800 Add options to avoid python bindings commit 4181a586288db47acbd55f8e94e94ec4a7fcd252 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Nov 14 22:02:10 2022 -0800 Rename to manifoldc commit c4b14d64655ca2fb3ce8ac80af7390b959fed3c7 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Nov 14 21:51:45 2022 -0800 Cleanup unused typedefs and simplify names commit a282c90f1f62141ee5c2cd9303ccc8649f2a6bb3 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Nov 14 21:23:07 2022 -0800 Placeholder (terrible) decompose binding commit 9409e81abb2c3ba3ffb0983aa0c14e261d032cc2 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Nov 14 20:37:02 2022 -0800 Turn on export in CLI instead commit 9dad24b787af0420ef32719c86fb42e11af9a8c1 Author: Geoff deRosenroll <geoffderosenroll@gmail.com> Date: Mon Nov 14 20:33:17 2022 -0800 "Rebased" WIP cbindings * Turn on -fPIC whenever shared libs are being built * Add parens to disambiguate sdf policy logic * Bump public std from 14 to 17 * Add binding flags to workflow builds * Add export when building cbindings * Bump ubuntu version (PBR material deprecation) * Select no-param overload of Decompose * Add missing const to decompose sig overload * Re-organize * variable capitalization consistency * Drop to std14 to test for regression fix * Attempted old libassimp compatibility hack * Rebump to std_17 * Temporarily disabled TODO: investigate why this is failing on Mac, but not other backends. * Remove unused tuple include * Remove uneccesary auto-includes * Properly disable Boolean_Close * rename discrete -> numComponents + early return * Rename discrete -> numComponents * Rename conv.hh -> conv.h * Prune auto-includes * Note on level_set vs level_set_seq * Set export on for c-bindings * Adding C binding tests. * Separate and don't require CBIND build/test * Remove bad flag * Take const char ptr for filename * Remove testc executable * Add tests from removed testc
51 lines
1.4 KiB
CMake
51 lines
1.4 KiB
CMake
# Copyright 2020 The Manifold Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
project(samples)
|
|
|
|
add_library(samples src/bracelet.cpp src/knot.cpp src/menger_sponge.cpp src/rounded_frame.cpp src/scallop.cpp src/tet_puzzle.cpp)
|
|
|
|
target_include_directories(samples
|
|
PUBLIC ${PROJECT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(samples
|
|
PUBLIC manifold
|
|
)
|
|
|
|
target_compile_options(samples PRIVATE ${MANIFOLD_FLAGS})
|
|
target_compile_features(samples PUBLIC cxx_std_17)
|
|
|
|
project(samplesGPU)
|
|
|
|
add_library(samplesGPU src/gyroid_module.cpp)
|
|
|
|
if(MANIFOLD_USE_CUDA)
|
|
set_source_files_properties(src/gyroid_module.cpp PROPERTIES LANGUAGE CUDA)
|
|
set_property(TARGET samplesGPU PROPERTY CUDA_ARCHITECTURES 61)
|
|
endif()
|
|
|
|
target_include_directories(samplesGPU
|
|
PUBLIC ${PROJECT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(samplesGPU
|
|
PUBLIC manifold sdf
|
|
)
|
|
|
|
target_compile_options(samplesGPU PRIVATE ${MANIFOLD_FLAGS})
|
|
target_compile_features(samplesGPU
|
|
PUBLIC cxx_std_17
|
|
)
|