Files
ViewDesignEngine/CMakeLists.txt
T
茂之钳 de50a28ad5
Build & Test / build-and-test (push) Waiting to run
Build & Test / python-bindings (push) Blocked by required conditions
CI / Build & Test (push) Failing after 36s
CI / Release Build (push) Failing after 31s
docs: versioning specification + bump to v1.0.0-alpha.1
Version format: MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
- alpha: internal dev, unstable
- beta: feature freeze, external testing
- rc: release candidate, bugfix only
- (none): stable release, production ready

Current recommendation: v1.0.0-alpha.1
- Feature complete (~90% of Parasolid)
- Needs real-world validation before 1.0.0

Release checklist for each stage included
2026-07-27 06:24:36 +08:00

55 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(ViewDesignEngine VERSION 1.0.0 LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
option(BUILD_TESTS "Build tests" ON)
option(BUILD_BENCHMARKS "Build benchmarks" OFF)
option(BUILD_EXAMPLES "Build examples" ON)
option(ENABLE_SANITIZERS "Enable ASan" OFF)
option(VDE_USE_GMP "GMP exact arithmetic" OFF)
option(VDE_BUILD_PYTHON "Python bindings" OFF)
option(VDE_USE_OPENMP "Enable OpenMP parallelization" ON)
option(VDE_USE_CUDA "Enable CUDA GPU acceleration" OFF)
option(VDE_USE_ONNX "Enable ONNX Runtime for AI inference" OFF)
option(VDE_USE_TENSORRT "Enable TensorRT acceleration" OFF)
add_library(vde_compile_options INTERFACE)
include(cmake/CompilerSettings.cmake)
find_package(Eigen3 3.3 QUIET)
if(NOT Eigen3_FOUND)
include(FetchContent)
FetchContent_Declare(Eigen3
URL https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz)
FetchContent_MakeAvailable(Eigen3)
endif()
add_subdirectory(src)
if(BUILD_BENCHMARKS)
add_subdirectory(bench)
endif()
if(BUILD_TESTS)
enable_testing()
find_package(GTest QUIET)
if(NOT GTest_FOUND)
include(FetchContent)
FetchContent_Declare(googletest
URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz)
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
endif()
add_subdirectory(tests)
endif()
if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
if(VDE_BUILD_PYTHON)
add_subdirectory(python)
endif()