Skip to content

Commit

Permalink
Fix internal compression integration regression (#59)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: #59

With the recent changes related to open sourcing Nimble, we moved internal compressors to be compiled using conditional macros.

Since this affects a header file, this macro needs to be defined on EVERY project that includes this header.

We are now switching this to not include internal compressors if a macro is defined.
It is easier to setup a global macro in the CMake system, than it is on our internal build (and less error prone).

Reviewed By: sdruzkin

Differential Revision: D58037836

fbshipit-source-id: 97cce505caa8005d92ac29621f4f54541cbee09d
  • Loading branch information
helfman authored and facebook-github-bot committed May 31, 2024
1 parent 8c8e73d commit c2fa2a4
Show file tree
Hide file tree
Showing 5 changed files with 367 additions and 36 deletions.
324 changes: 324 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,324 @@
#==============================================================================#
# This file specifies intentionally untracked files that git should ignore.
#==============================================================================#

#==============================================================================#
# File extensions to be ignored anywhere in the tree.
#==============================================================================#
# Temp files created by most text editors.
*~
# Merge files created by git.
*.orig
# Java bytecode
*.class
# Byte compiled python modules.
*.pyc
# egg dirs from python
*.egg-info/
# vim swap files
.*.sw?
.sw?
#OS X specific files.
.DS_store
# Core files
#core

#==============================================================================#
# Explicit files to ignore (only matches one).
#==============================================================================#
# Various tag programs
/tags
/TAGS
/GPATH
/GRTAGS
/GSYMS
/GTAGS
.gitusers
autom4te.cache
cscope.files
cscope.out
autoconf/aclocal.m4
autoconf/autom4te.cache
/compile_commands.json

#==============================================================================#
# Directories to ignore (do not add trailing '/'s, they skip symlinks).
#==============================================================================#
# External projects that are tracked independently.
projects/*
!projects/*.*
!projects/Makefile


#==============================================================================#
# Autotools artifacts
#==============================================================================#
config/
!/velox/**/config
configure
config-h.in
autom4te.cache
*Makefile.in
third_party/*/Makefile
libtool
aclocal.m4
config.log
config.status
stamp-h1
config.h
!/velox/**/config.h
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4

#==============================================================================#
# Build artifacts
#==============================================================================#
#m4/
build/
_build/
.ccache/
#*.m4
*.o
*.lo
*.la
*~
*.pdf
*.swp
a.out
CMake/resolve_dependency_module/boost/FindBoost.cmake
__cmake_systeminformation/

#==============================================================================#
# Kate Swap Files
#==============================================================================#
*.kate-swp
.#kate-*

#==============================================================================#
# Backup artifacts
#==============================================================================#
~*
*~
tmp/

#==============================================================================#
# KDevelop files
#==============================================================================#
.kdev4
*.kdev4
.dirstamp
.deps
.libs

#==============================================================================#
# Eclipse files
#==============================================================================#
.wtpmodules
.classpath
.project
.cproject
.pydevproject
.settings
.autotools
.csettings

/Debug/
/misc/

#==============================================================================#
# Intellij files
#==============================================================================#
.idea
*.iml

#==============================================================================#
# Code Coverage files
#==============================================================================#
*.gcno
*.gcda

#==============================================================================#
# Scripts
#==============================================================================#
*.jar
scripts/PelotonTest/out
scripts/PelotonTest/lib

#==============================================================================#
# Protobuf
#==============================================================================#
*.pb-c.c
*.pb-c.h
*.pb.cc
*.pb.h
*.pb.go

#==============================================================================#
# Third party
#==============================================================================#
third_party/nanomsg/
third_party/nvml/
third_party/logcabin/

#==============================================================================#
# Eclipse
#==============================================================================#

.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders

# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# PyDev specific (Python IDE for Eclipse)
*.pydevproject

# CDT-specific (C/C++ Development Tooling)
.cproject

# JDT-specific (Eclipse Java Development Tools)
.classpath

# Java annotation processor (APT)
.factorypath

# PDT-specific (PHP Development Tools)
.buildpath

# sbteclipse plugin
.target

# Tern plugin
.tern-project

# TeXlipse plugin
.texlipse

# STS (Spring Tool Suite)
.springBeans

# Code Recommenders
.recommenders/
io_file

## General

# Compiled Object files
*.slo
*.lo
*.o
*.cuo

# Compiled Dynamic libraries
*.so
*.dylib

# Compiled Static libraries
*.lai
*.la
*.a

# Compiled protocol buffers
*.pb.h
*.pb.cc
*_pb2.py

# Compiled python
*.pyc

# Compiled MATLAB
*.mex*

# IPython notebook checkpoints
.ipynb_checkpoints

# Editor temporaries
*.swp
*~

# Sublime Text settings
*.sublime-workspace
*.sublime-project

# Eclipse Project settings
*.*project
.settings
.csettings

# Visual Studio
.vs
settings.json
.vscode

# QtCreator files
*.user

# PyCharm files
.idea

# OSX dir files
.DS_Store

# User's build configuration
Makefile.config
CMakeUserPresets.json

# build, distribute, and bins (+ python proto bindings)
build
.build_debug/*
.build_release/*
distribute/*
*.testbin
*.bin
cmake_build
.cmake_build
cmake-build-debug
cmake-build-release

# tests
test/test.sql

# SQLite logic tests
test/evidence/
third_party/sqllogictest

#imdb dataset
third_party/imdb/data

# Format timer
.last_format
# Benchmarks
.last_benchmarked_commit
benchmark_results/
duckdb_unittest_tempdir/
grammar.y.tmp
src/amalgamation/

#eclipse
.project
.cproject
.settings
~

#docs
velox/docs/sphinx/source/README_generated_*
velox/docs/bindings/python/_generate/*
scripts/bm-report/report.html
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ project(Nimble)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)

add_compile_definitions(DISABLE_META_INTERNAL_COMPRESSOR=1)

# Sets new behavior for CMP0135, which controls how timestamps are extracted
# when using ExternalProject_Add():
# https://cmake.org/cmake/help/latest/policy/CMP0135.html
Expand Down
Loading

0 comments on commit c2fa2a4

Please sign in to comment.