From cab5fea9c36c6e9a9f56752c56413e656eb6aab6 Mon Sep 17 00:00:00 2001 From: XanthosXanthopoulos Date: Wed, 8 Jan 2025 01:53:16 +0200 Subject: [PATCH] FMT experiment [skip ci] --- .github/workflows/python-packaging.yml | 3 +- apis/python/setup.py | 1 + apis/r/configure | 2 +- apis/r/src/Makevars.in | 2 +- libtiledbsoma/CMakeLists.txt | 4 +-- libtiledbsoma/src/CMakeLists.txt | 39 ++++++++++++++++++++++++- libtiledbsoma/src/reindexer/reindexer.h | 1 + libtiledbsoma/src/soma/soma_array.cc | 2 -- libtiledbsoma/test/CMakeLists.txt | 2 ++ 9 files changed, 48 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python-packaging.yml b/.github/workflows/python-packaging.yml index 4b3159d145..3640d5a7c3 100644 --- a/.github/workflows/python-packaging.yml +++ b/.github/workflows/python-packaging.yml @@ -90,7 +90,7 @@ jobs: with: xcode-version: '15.4' - name: Build wheels - uses: pypa/cibuildwheel@v2.18.1 + uses: pypa/cibuildwheel@v2.22.0 with: package-dir: tiledbsoma.tar.gz only: cp${{ matrix.python-version }}-${{ matrix.cibw_build }} @@ -113,6 +113,7 @@ jobs: CIBW_TEST_SKIP: "*_arm64" CMAKE_OSX_ARCHITECTURES: ${{ matrix.cibw_archs_macos }} MACOSX_DEPLOYMENT_TARGET: "13.3" + - name: Upload wheel-${{ matrix.wheel-name }}-${{ matrix.python-version }} to GitHub Actions storage uses: actions/upload-artifact@v4 with: diff --git a/apis/python/setup.py b/apis/python/setup.py index 37a1703008..4f8608b119 100644 --- a/apis/python/setup.py +++ b/apis/python/setup.py @@ -254,6 +254,7 @@ def run(self): CXX_FLAGS.append(f'-Wl,-rpath,{str(tiledb_dir / "lib")}') if sys.platform == "darwin": + # CXX_FLAGS.append("-D_LIBCPP_DISABLE_AVAILABILITY") CXX_FLAGS.append("-mmacosx-version-min=13.3") if os.name == "posix" and sys.platform != "darwin": diff --git a/apis/r/configure b/apis/r/configure index 1948835b94..5b3dd850db 100755 --- a/apis/r/configure +++ b/apis/r/configure @@ -54,7 +54,7 @@ tools/build_libtiledbsoma.sh pkgincl="-I../inst/tiledb/include -I../inst/tiledbsoma/include -I../inst/tiledbsoma/include/tiledbsoma" pkglibs="-ltiledb -L../inst/tiledb/lib -ltiledbsoma -L../inst/tiledbsoma/lib" rpath="-Wl,-rpath,'\$\$ORIGIN/../tiledb/lib' -Wl,-rpath,'\$\$ORIGIN/../tiledbsoma/lib'" -macosver=`${R_HOME}/bin/Rscript -e 'if (Sys.info()["sysname"] == "Darwin") cat("-mmacosx-version-min=13.3") else cat("")'` +macosver=`${R_HOME}/bin/Rscript -e 'if (Sys.info()["sysname"] == "Darwin") cat("-mmacosx-version-min=11.0") else cat("")'` sed -e "s|@tiledb_include@|$pkgincl |" \ -e "s|@tiledb_libs@|$pkglibs|" \ diff --git a/apis/r/src/Makevars.in b/apis/r/src/Makevars.in index 9e536b629e..91450267c6 100644 --- a/apis/r/src/Makevars.in +++ b/apis/r/src/Makevars.in @@ -1,7 +1,7 @@ CXX_STD = CXX20 ## We need the TileDB Headers, and for macOS aka Darwin need to set minimum version 13.3 for macOS -PKG_CPPFLAGS = -I. -I../inst/include/ @tiledb_include@ @cxx20_macos@ -D SPDLOG_USE_STD_FORMAT +PKG_CPPFLAGS = -I. -I../inst/include/ @tiledb_include@ @cxx20_macos@ -DSPDLOG_FMT_EXTERNAL_HO ## We also need the TileDB library PKG_LIBS = @cxx20_macos@ @tiledb_libs@ @tiledb_rpath@ diff --git a/libtiledbsoma/CMakeLists.txt b/libtiledbsoma/CMakeLists.txt index cd52ca627d..d78ad63888 100644 --- a/libtiledbsoma/CMakeLists.txt +++ b/libtiledbsoma/CMakeLists.txt @@ -114,7 +114,7 @@ if(APPLE) set(CMAKE_MACOSX_RPATH ON) # Set minimum macOS version to enable certain C++20 features - set(CMAKE_OSX_DEPLOYMENT_TARGET 13.3) + # set(CMAKE_OSX_DEPLOYMENT_TARGET 13.3) # Don't allow macOS .frameworks to be used for dependencies. set(CMAKE_FIND_FRAMEWORK NEVER) @@ -221,7 +221,7 @@ if(MSVC) ) else() - set(TILEDBSOMA_COMPILE_OPTIONS -Wall -Wextra -DSPDLOG_USE_STD_FORMAT) + set(TILEDBSOMA_COMPILE_OPTIONS -Wall -Wextra -DSPDLOG_FMT_EXTERNAL_HO) if(${TILEDBSOMA_ENABLE_WERROR}) set(TILEDBSOMA_WERROR_OPTION -Werror) diff --git a/libtiledbsoma/src/CMakeLists.txt b/libtiledbsoma/src/CMakeLists.txt index 831dc58228..ea9736398e 100644 --- a/libtiledbsoma/src/CMakeLists.txt +++ b/libtiledbsoma/src/CMakeLists.txt @@ -50,7 +50,7 @@ add_library(TILEDB_SOMA_OBJECTS OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/soma/array_buffers.cc ${CMAKE_CURRENT_SOURCE_DIR}/soma/column_buffer.cc ${CMAKE_CURRENT_SOURCE_DIR}/utils/arrow_adapter.cc - ${CMAKE_CURRENT_SOURCE_DIR}/utils/logger.cc + # ${CMAKE_CURRENT_SOURCE_DIR}/utils/logger.cc ${CMAKE_CURRENT_SOURCE_DIR}/utils/stats.cc ${CMAKE_CURRENT_SOURCE_DIR}/utils/util.cc ${CMAKE_CURRENT_SOURCE_DIR}/utils/version.cc @@ -129,6 +129,40 @@ target_include_directories(TILEDB_SOMA_GEOMETRY_OBJECTS ${CMAKE_CURRENT_SOURCE_DIR}/vendor ) +# ########################################################### +# tiledbsoma logging library target +# ########################################################### + +add_library(TILEDB_SOMA_LOGGING_OBJECTS OBJECT + ${CMAKE_CURRENT_SOURCE_DIR}/utils/logger.cc +) + +target_link_options(TILEDB_SOMA_LOGGING_OBJECTS + PRIVATE + ${TILEDBSOMA_SANITIZER_FLAG} +) + +target_compile_definitions(TILEDB_SOMA_LOGGING_OBJECTS + PRIVATE + -DTILEDB_NO_API_DEPRECATION_WARNINGS +) + +target_compile_options(TILEDB_SOMA_LOGGING_OBJECTS + PRIVATE + ${TILEDBSOMA_COMPILE_OPTIONS} + ${TILEDBSOMA_WERROR_OPTION} + ${TILEDBSOMA_SANITIZER_OPTIONS} +) + +set_property(TARGET TILEDB_SOMA_LOGGING_OBJECTS PROPERTY POSITION_INDEPENDENT_CODE ON) + +target_include_directories(TILEDB_SOMA_LOGGING_OBJECTS + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/vendor + $ +) + # ########################################################### # tiledbsoma library target # ########################################################### @@ -137,6 +171,7 @@ if(TILEDBSOMA_BUILD_STATIC) add_library(tiledbsoma_static STATIC $ $ + $ $ ) list(APPEND TILEDBSOMA_INSTALL_TARGETS tiledbsoma_static) @@ -160,6 +195,7 @@ else() add_library(tiledbsoma SHARED $ $ + $ $ ) list(APPEND TILEDBSOMA_INSTALL_TARGETS tiledbsoma) @@ -297,6 +333,7 @@ if(TILEDBSOMA_BUILD_CLI) add_executable(tiledbsoma-cli ${CMAKE_CURRENT_SOURCE_DIR}/cli/cli.cc $ + $ $ ) diff --git a/libtiledbsoma/src/reindexer/reindexer.h b/libtiledbsoma/src/reindexer/reindexer.h index 02835bfbc7..4b0ad8c098 100644 --- a/libtiledbsoma/src/reindexer/reindexer.h +++ b/libtiledbsoma/src/reindexer/reindexer.h @@ -37,6 +37,7 @@ #include #include #include +#include struct kh_m64_s; diff --git a/libtiledbsoma/src/soma/soma_array.cc b/libtiledbsoma/src/soma/soma_array.cc index 7a2c54a761..faad96bf08 100644 --- a/libtiledbsoma/src/soma/soma_array.cc +++ b/libtiledbsoma/src/soma/soma_array.cc @@ -34,8 +34,6 @@ #include "../utils/logger.h" #include "../utils/util.h" -#include - namespace tiledbsoma { using namespace tiledb; diff --git a/libtiledbsoma/test/CMakeLists.txt b/libtiledbsoma/test/CMakeLists.txt index de78fddca1..1b12916e8d 100644 --- a/libtiledbsoma/test/CMakeLists.txt +++ b/libtiledbsoma/test/CMakeLists.txt @@ -16,6 +16,7 @@ find_package(Catch_EP REQUIRED) add_executable(unit_soma $ $ + $ $ common.cc common.h @@ -98,6 +99,7 @@ endif() add_executable(unit_geometry $ $ + $ $ common.cc common.h