Compare commits

...

3 Commits

Author SHA1 Message Date
Andrej730 0884301da5 build-deps.cmd - bump hdf5 to match build-all
Has to skip hdf5 1.13.0 because it had a bug in it's cmake config setup, so `find_package` couldn't recognize, and the issue was fixed in 1.13.1.
2025-09-16 11:01:18 +05:00
Andrej730 92a5d94fd6 black . 2025-09-16 11:01:18 +05:00
Andrej730 2152ca71d6 cmake - use find_package for rocksdb and zstd 2025-09-16 11:01:18 +05:00
6 changed files with 28 additions and 81 deletions
-2
View File
@@ -122,8 +122,6 @@ jobs:
-DMPFR_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
-DHDF5_INCLUDE_DIR=/usr/include/hdf5/serial \
-DEIGEN_DIR=/usr/include/eigen3 \
-DROCKSDB_INCLUDE_DIR=/usr/local/include \
-DROCKSDB_LIBRARY_DIR=/usr/local/lib \
-DWITH_ROCKSDB=On \
../cmake
sudo make -j $(nproc)
+8 -62
View File
@@ -314,77 +314,23 @@ if(USD_SUPPORT)
endif(USD_SUPPORT)
if (WITH_ROCKSDB)
UNIFY_ENVVARS_AND_CACHE(ROCKSDB_INCLUDE_DIR)
UNIFY_ENVVARS_AND_CACHE(ROCKSDB_LIBRARY_DIR)
UNIFY_ENVVARS_AND_CACHE(ZSTD_INCLUDE_DIR)
UNIFY_ENVVARS_AND_CACHE(ZSTD_LIBRARY_DIR)
if("${ROCKSDB_INCLUDE_DIR}" STREQUAL "")
find_path(ROCKSDB_INCLUDE_DIR rocksdb/db.h
PATHS
/usr/include
/usr/local/include
REQUIRED
)
if(ROCKSDB_INCLUDE_DIR)
message(STATUS "Found rocksdb include files in: ${ROCKSDB_INCLUDE_DIR}")
else()
message(FATAL_ERROR "Unable to find rocksdb include directory, specify ROCKSDB_INCLUDE_DIR manually.")
endif()
else()
set(ROCKSDB_INCLUDE_DIR ${ROCKSDB_INCLUDE_DIR} CACHE FILEPATH "rocksdb header files")
message(STATUS "Looking for rocksdb include files in: ${ROCKSDB_INCLUDE_DIR}")
endif()
find_library(ROCKSDB_LIBRARY
NAMES rocksdb
PATHS ${ROCKSDB_LIBRARY_DIR})
if(ROCKSDB_LIBRARY)
message(STATUS "rocksdb library ${ROCKSDB_LIBRARY} found in: ${ROCKSDB_LIBRARY_DIR}")
else()
message(FATAL_ERROR "Unable to find rocksdb library in: ${ROCKSDB_LIBRARY_DIR}")
endif()
find_package(RocksDB CONFIG REQUIRED)
message(STATUS "RocksDB: found at '${RocksDB_DIR}'.")
add_definitions(-DIFOPSH_WITH_ROCKSDB)
set(SWIG_DEFINES ${SWIG_DEFINES} -DIFOPSH_WITH_ROCKSDB)
link_libraries(RocksDB::rocksdb)
if (WITH_ZSTD)
# @todo do we actually need the zstd include dir or rather just pass
# the libzstd.a along with the rocksdb library when needed and feature
# detect based on rocksdb API?
if("${ZSTD_INCLUDE_DIR}" STREQUAL "")
find_path(ZSTD_INCLUDE_DIR zstd.h
PATHS
/usr/include
/usr/local/include
REQUIRED
)
if(ZSTD_INCLUDE_DIR)
message(STATUS "Found zstd include files in: ${ZSTD_INCLUDE_DIR}")
else()
message(FATAL_ERROR "Unable to find zstd include directory, specify ZSTD_INCLUDE_DIR manually.")
endif()
else()
set(ZSTD_INCLUDE_DIR ${ZSTD_INCLUDE_DIR} CACHE FILEPATH "zstd header files")
message(STATUS "Looking for zstd include files in: ${ZSTD_INCLUDE_DIR}")
endif()
find_library(ZSTD_LIBRARY
NAMES zstd zstd_static
PATHS ${ZSTD_LIBRARY_DIR})
if(ZSTD_LIBRARY)
message(STATUS "zstd library ${ZSTD_LIBRARY} found in: ${ZSTD_LIBRARY_DIR}")
else()
message(FATAL_ERROR "Unable to find zstd library in: ${ZSTD_LIBRARY_DIR}")
endif()
find_package(ZSTD CONFIG REQUIRED)
message(STATUS "ZSTD: found at '${ZSTD_DIR}'.")
link_libraries(zstd::libzstd_static)
add_definitions(-DIFOPSH_WITH_ROCKSDB_ZSTD)
set(SWIG_DEFINES ${SWIG_DEFINES} -DIFOPSH_WITH_ROCKSDB_ZSTD)
endif()
if(WIN32)
set(RPCRT_LIBRARIES "rpcrt4.lib" "shlwapi.lib")
endif()
endif()
# Find Boost: On win32 the (hardcoded) default is to use static libraries and
@@ -956,7 +902,7 @@ endif()
include_directories(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR} ${JSON_INCLUDE_DIR} ${HDF5_INCLUDE_DIR}
${EIGEN_DIR} ${CGAL_INCLUDE_DIR} ${GMP_INCLUDE_DIR} ${MPFR_INCLUDE_DIR} ${USD_INCLUDE_DIR}
${TBB_INCLUDE_DIR} ${ROCKSDB_INCLUDE_DIR} ${ZSTD_INCLUDE_DIR}
${TBB_INCLUDE_DIR}
)
if(NOT SCHEMA_VERSIONS)
@@ -1119,7 +1065,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
add_library(IfcParse ${IFCPARSE_FILES})
target_link_libraries(IfcParse ${ROCKSDB_LIBRARY} ${ZSTD_LIBRARY} ${RPCRT_LIBRARIES} ${STDCPPFS})
target_link_libraries(IfcParse ${STDCPPFS})
set_target_properties(IfcParse PROPERTIES COMPILE_FLAGS -DIFC_PARSE_EXPORTS VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
if(LibXml2_DIR)
+5 -7
View File
@@ -129,7 +129,7 @@ PCRE_VERSION = "8.41"
LIBXML2_VERSION = "2.13.8"
SWIG_VERSION = "4.1.0"
OPENCOLLADA_VERSION = "v1.6.68"
HDF5_VERSION = "1.13.0"
HDF5_VERSION = "1.13.1"
GMP_VERSION = "6.2.1"
MPFR_VERSION = "3.1.6" # latest is 4.1.0
@@ -1025,8 +1025,7 @@ if "rocksdb" in targets:
f"-DUSE_RTTI=On",
f"-DWITH_ZSTD=On",
f"-DPORTABLE=1",
f"-DZSTD_INCLUDE_DIRS={DEPS_DIR}/install/zstd-{ZSTD_VERSION}/include",
f"-DZSTD_LIBRARIES={DEPS_DIR}/install/zstd-{ZSTD_VERSION}/lib/libzstd.a",
f"-DCMAKE_PREFIX_PATH={DEPS_DIR}/install/zstd-{ZSTD_VERSION}",
],
download_url="https://github.com/facebook/rocksdb",
download_name="rocksdb",
@@ -1138,11 +1137,10 @@ if "rocksdb" in targets:
cmake_args.extend(
[
f"-DWITH_ROCKSDB=On",
f"-DROCKSDB_INCLUDE_DIR={DEPS_DIR}/install/rocksdb-{ROCKSDB_VERSION}/include",
f"-DROCKSDB_LIBRARY_DIR={DEPS_DIR}/install/rocksdb-{ROCKSDB_VERSION}/lib",
f"-DWITH_ZSTD=On",
f"-DZSTD_INCLUDE_DIR={DEPS_DIR}/install/zstd-{ZSTD_VERSION}/include",
f"-DZSTD_LIBRARY_DIR={DEPS_DIR}/install/zstd-{ZSTD_VERSION}/lib",
"-DCMAKE_PREFIX_PATH="
f"{DEPS_DIR}/install/rocksdb-{ROCKSDB_VERSION};"
f"{DEPS_DIR}/install/zstd-{ZSTD_VERSION}",
]
)
@@ -406,6 +406,7 @@ class BIM_PT_object_material(Panel):
row = box.row(align=True)
row.prop(self.props, "custom_offset", text="Custom Offset")
class BIM_UL_materials(UIList):
def draw_item(
self,
+5 -4
View File
@@ -177,8 +177,8 @@ echo.
cd "%DEPS_DIR%"
:: VERSIONS
set HDF5_VERSION=1.12.1
set HDF5_VERSION_MAJOR=1.12
:: Don't use HDF5 1.13.0, because it has a broken cmake package path.
set HDF5_VERSION=1_13_1
set OCCT_VERSION=7.8.1
:: NOTE If updating the default Python version, change PY_VER_MAJOR_MINOR accordingly in run-cmake.bat
set PYTHON_VERSION=%PYTHON_VERSION%
@@ -323,12 +323,13 @@ IF EXIST "%INSTALL_DIR%\%HDF5_INSTALL_NAME%" (
if "%ARCH_BITS%"=="64" set ARCH_BITS_64=64
call :DownloadFile ^
http://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%HDF5_VERSION_MAJOR%/hdf5-%HDF5_VERSION%/src/%HDF5_CMAKE_ZIP% ^
https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-%HDF5_VERSION%.zip ^
"%DEPS_DIR%" %HDF5_CMAKE_ZIP%
IF NOT %ERRORLEVEL%==0 GOTO :Error
call :ExtractArchive %HDF5_CMAKE_ZIP% "%DEPS_DIR%" "%DEPS_DIR%\hdf5-%HDF5_VERSION%"
IF NOT %ERRORLEVEL%==0 GOTO :Error
pushd "%DEPS_DIR%\hdf5-%HDF5_VERSION%"
ren "%DEPS_DIR%\hdf5-hdf5-%HDF5_VERSION%" "hdf5-%HDF5_VERSION%"
pushd "%DEPENDENCY_DIR%"
call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\%HDF5_INSTALL_NAME%" ^
-DHDF5_ENABLE_Z_LIB_SUPPORT=OFF -DBUILD_TESTING=OFF ^
-DHDF5_BUILD_TOOLS=OFF -DHDF5_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DHDF5_BUILD_UTILS=OFF ^
+9 -6
View File
@@ -112,10 +112,8 @@ set USD_INCLUDE_DIR=%INSTALL_DIR%\usd\include
set USD_LIBRARY_DIR=%INSTALL_DIR%\usd\lib
set TBB_INCLUDE_DIR=%INSTALL_DIR%\tbb\include
set TBB_LIBRARY_DIR=%INSTALL_DIR%\tbb\lib
set ROCKSDB_INCLUDE_DIR=%INSTALL_DIR%\rocksdb\include
set ROCKSDB_LIBRARY_DIR=%INSTALL_DIR%\rocksdb\lib
set ZSTD_INCLUDE_DIR=%INSTALL_DIR%\zstd\include
set ZSTD_LIBRARY_DIR=%INSTALL_DIR%\zstd\lib
set ROCKSDB_INSTALL_DIR=%INSTALL_DIR%\rocksdb
set ZSTD_INSTALL_DIR=%INSTALL_DIR%\zstd
echo.
call cecho.cmd 0 10 "Script configuration:"
@@ -151,6 +149,8 @@ echo USD_INCLUDE_DIR = %USD_INCLUDE_DIR%
echo USD_LIBRARY_DIR = %USD_LIBRARY_DIR%
echo TBB_INCLUDE_DIR = %TBB_INCLUDE_DIR%
echo TBB_LIBRARY_DIR = %TBB_LIBRARY_DIR%
echo ROCKSDB_INSTALL_DIR = %ROCKSDB_INSTALL_DIR%
echo ZSTD_INSTALL_DIR = %ZSTD_INSTALL_DIR%
echo.
echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX%
echo.
@@ -160,17 +160,20 @@ set CMAKELISTS_DIR=..\cmake
if not (%1)==() if exist CMakeCache.txt. del /Q CMakeCache.txt
echo "Running CMake for %PROJECT_NAME%."
set CMAKE_PREFIX_PATH=%HDF5_INSTALL_DIR%;%OPENCOLLADA_INSTALL_DIR%;%SWIG_INSTALL_DIR%
set CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH%;%ROCKSDB_INSTALL_DIR%;%ZSTD_INSTALL_DIR%
IF NOT "%VS_TOOLSET_HOST%"=="" (
cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -A %VS_PLATFORM% -T %VS_TOOLSET_HOST% ^
-DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" -DBoost_NO_BOOST_CMAKE=ON ^
-DWITH_ROCKSDB=On -DWITH_ZSTD=On ^
-DCMAKE_PREFIX_PATH="%HDF5_INSTALL_DIR%;%OPENCOLLADA_INSTALL_DIR%;%SWIG_INSTALL_DIR%" ^
-DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ^
-DADD_COMMIT_SHA=%ADD_COMMIT_SHA% %ARGUMENTS%
) ELSE (
cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -A %VS_PLATFORM% ^
-DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" -DBoost_NO_BOOST_CMAKE=ON ^
-DWITH_ROCKSDB=On -DWITH_ZSTD=On ^
-DCMAKE_PREFIX_PATH="%HDF5_INSTALL_DIR%;%OPENCOLLADA_INSTALL_DIR%;%SWIG_INSTALL_DIR%" ^
-DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ^
-DADD_COMMIT_SHA=%ADD_COMMIT_SHA% %ARGUMENTS%
)