Skip to content

modernize CMake target setup for clean embedding - #11

Merged
MangelSpec merged 1 commit into
masterfrom
cmake-clean-embedding
Jun 13, 2026
Merged

modernize CMake target setup for clean embedding#11
MangelSpec merged 1 commit into
masterfrom
cmake-clean-embedding

Conversation

@MangelSpec

Copy link
Copy Markdown
Owner
  • Scope build flags (RTTI, warnings, /EHsc) PRIVATE so v8pp's build choices no longer propagate to consumers; keep only the V8 ABI defines and the C++20 requirement public
  • Build RTTI-free (-fno-rtti / /GR-): v8pp uses no typeid/dynamic_cast, so this matches V8's -fno-rtti ABI and removes the consumer/V8 typeinfo conflict that broke -fno-rtti subclasses of V8 base types
  • Express the standard via target_compile_features(cxx_std_20) and pin v8pp's own sources to C++20, replacing global CMAKE_CXX_* state; move /Zc:__cplusplus to the target's private MSVC options
  • Accept absolute custom-V8 paths (CUSTOM_V8_*_ABS) and skip the standalone install when embedded (V8PP_SKIP_INSTALL)
  • Document the build-system behavior in README

- Scope build flags (RTTI, warnings, /EHsc) PRIVATE so v8pp's build choices no longer propagate to consumers; keep only the V8 ABI defines and the C++20 requirement public
- Build RTTI-free (-fno-rtti / /GR-): v8pp uses no typeid/dynamic_cast, so this matches V8's -fno-rtti ABI and removes the consumer/V8 typeinfo conflict that broke -fno-rtti subclasses of V8 base types
- Express the standard via target_compile_features(cxx_std_20) and pin v8pp's own sources to C++20, replacing global CMAKE_CXX_* state; move /Zc:__cplusplus to the target's private MSVC options
- Accept absolute custom-V8 paths (CUSTOM_V8_*_ABS) and skip the standalone install when embedded (V8PP_SKIP_INSTALL)
- Document the build-system behavior in README
@MangelSpec
MangelSpec merged commit 7e789b3 into master Jun 13, 2026
12 of 28 checks passed
@MangelSpec
MangelSpec deleted the cmake-clean-embedding branch June 13, 2026 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant