feat: add candidate FreeCAD naming SDK and attachment oracles
Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
This commit is contained in:
33
config/cmake/boost/BoostConfig.cmake
Normal file
33
config/cmake/boost/BoostConfig.cmake
Normal file
@@ -0,0 +1,33 @@
|
||||
set(Boost_VERSION 108300)
|
||||
set(Boost_VERSION_STRING "1.83.0")
|
||||
set(Boost_INCLUDE_DIRS "${BOOST_WASM_ROOT}/include")
|
||||
set(Boost_INCLUDE_DIR "${Boost_INCLUDE_DIRS}")
|
||||
set(Boost_LIBRARIES "")
|
||||
|
||||
foreach(component IN LISTS Boost_FIND_COMPONENTS)
|
||||
string(TOLOWER "${component}" component_lower)
|
||||
set(archive "${BOOST_WASM_ROOT}/lib/libboost_${component_lower}.a")
|
||||
if(NOT EXISTS "${archive}")
|
||||
set(Boost_${component}_FOUND FALSE)
|
||||
set(Boost_FOUND FALSE)
|
||||
if(Boost_FIND_REQUIRED_${component})
|
||||
message(FATAL_ERROR "Missing Boost wasm component ${component}: ${archive}")
|
||||
endif()
|
||||
continue()
|
||||
endif()
|
||||
if(NOT TARGET Boost::${component})
|
||||
add_library(Boost::${component} STATIC IMPORTED)
|
||||
set_target_properties(Boost::${component} PROPERTIES
|
||||
IMPORTED_LOCATION "${archive}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}"
|
||||
)
|
||||
if(component_lower STREQUAL "thread")
|
||||
set_property(TARGET Boost::${component} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
"${BOOST_WASM_ROOT}/lib/libboost_atomic.a")
|
||||
endif()
|
||||
endif()
|
||||
set(Boost_${component}_FOUND TRUE)
|
||||
list(APPEND Boost_LIBRARIES Boost::${component})
|
||||
endforeach()
|
||||
|
||||
set(Boost_FOUND TRUE)
|
||||
9
config/cmake/boost/BoostConfigVersion.cmake
Normal file
9
config/cmake/boost/BoostConfigVersion.cmake
Normal file
@@ -0,0 +1,9 @@
|
||||
set(PACKAGE_VERSION "1.83.0")
|
||||
if(PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
if(PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
17
config/cmake/fmt/fmt-config.cmake
Normal file
17
config/cmake/fmt/fmt-config.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
if(NOT FREECAD_WASM_OFFLINE_SYSROOT)
|
||||
message(FATAL_ERROR "FREECAD_WASM_OFFLINE_SYSROOT is required by the candidate fmt package")
|
||||
endif()
|
||||
set(_freecad_wasm_fmt_include "${FREECAD_WASM_OFFLINE_SYSROOT}/fmt-10.1.1/include")
|
||||
if(NOT EXISTS "${_freecad_wasm_fmt_include}/fmt/format.h")
|
||||
message(FATAL_ERROR "Offline fmt headers are missing: ${_freecad_wasm_fmt_include}/fmt/format.h")
|
||||
endif()
|
||||
if(NOT TARGET fmt)
|
||||
add_library(fmt INTERFACE)
|
||||
target_include_directories(fmt INTERFACE "${_freecad_wasm_fmt_include}")
|
||||
target_compile_definitions(fmt INTERFACE FMT_HEADER_ONLY=1)
|
||||
endif()
|
||||
if(NOT TARGET fmt::fmt)
|
||||
add_library(fmt::fmt ALIAS fmt)
|
||||
endif()
|
||||
set(fmt_FOUND TRUE)
|
||||
set(fmt_VERSION 10.1.1)
|
||||
Reference in New Issue
Block a user