{"id":19168361,"url":"https://github.com/bloomberg/bde_verify","last_synced_at":"2025-08-20T01:07:19.585Z","repository":{"id":56274063,"uuid":"30190634","full_name":"bloomberg/bde_verify","owner":"bloomberg","description":"Tool used to format, improve and verify code to BDE guidelines","archived":false,"fork":false,"pushed_at":"2023-07-11T13:02:03.000Z","size":6962,"stargazers_count":43,"open_issues_count":4,"forks_count":21,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-04-19T23:31:57.420Z","etag":null,"topics":["clang-format","code-formatter","cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bloomberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-02T14:26:17.000Z","updated_at":"2025-03-14T01:45:42.000Z","dependencies_parsed_at":"2024-11-09T09:42:32.597Z","dependency_job_id":"fb8c49b3-e407-4334-8275-02c79a192117","html_url":"https://github.com/bloomberg/bde_verify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fbde_verify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fbde_verify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fbde_verify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fbde_verify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bloomberg","download_url":"https://codeload.github.com/bloomberg/bde_verify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252897315,"owners_count":21821420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clang-format","code-formatter","cpp"],"created_at":"2024-11-09T09:42:23.221Z","updated_at":"2025-05-07T14:41:03.958Z","avatar_url":"https://github.com/bloomberg.png","language":"C++","readme":"# BDE Verify - A Static Checker for C++\n\nBde_verify is a static analysis tool that verifies that source code adheres\nto the BDE coding standards.\n\nThe online documentation for bde_verify can be found at\n\u003chttps://bloomberg.github.io/bde_verify/\u003e\n\n## Build Instructions\n\nSupported Platforms:\n- Linux x86\n- SunOS sparc\n- Windows\n- MacOS (Darwin)\n\nPrerequesites: \n- llvm/clang 14.0 (see below for instructions)\n- gcc \u003e= 7 (Linux and SunOS)\n- Clang \u003e= 9 (Darwin/MacOS)\n- Visual Studio \u003e= 2015 (Windows)\n- nsis with large-string overlay (Windows, more details below)\n- cmake \u003e= 3.4.3\n- gnu make\n- aspell (package `libaspell-dev`)\n\nBde_verify incorporates llvm/clang-14.0 libraries.  These may already be\ninstalled on the build machine.  If not, they can be installed (in the\nBloomberg environment) using dpkg, or built from source on Windows.\n\n### Bloomberg Environment\n\n#### Installing bde_verify sources\n\n    # We will place bde_verify source code here\n    export BVSRC=/path/to/bde_verify/source/directory\n    mkdir -p ${BVSRC}\n    git clone -b master bbgithub:bde/bde_verify ${BVSRC}\n\n#### Installing refroot\n\n    export DISTRIBUTION_REFROOT=/path/to/refroot\n    refroot-install --arch=amd64 --refroot-path=${DISTRIBUTION_REFROOT} --config=${BVSRC}/debian/control\n\n\n#### Configure bde-verify (bbcmake)\n    cd $BVSRC\n    mkdir _build; cd _build\n    bbcmake -64 -G Ninja -DClang_DIR=${DISTRIBUTION_REFROOT}/opt/bb/lib/llvm-14.0/lib64/cmake/clang/  ../\n\nAlternatively, with plain cmake:\n\n    cd $BVSRC\n    mkdir _build; cd _build\n    export CXX=${DISTRIBUTION_REFROOT}/opt/bb/bin/g++\n    export CC=${DISTRIBUTION_REFROOT}/opt/bb/bin/gcc\n    cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/opt/bb -DClang_DIR=${DISTRIBUTION_REFROOT}/opt/bb/lib/llvm-14.0/lib64/cmake/clang/ -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=RELEASE ../\n\n#### Build \u0026 install bde-verify\n\n    cmake --build .\n    DESTDIR=/path/to/install/dir cmake --install .\n\n#### Test bde-verify\n\n    cd ${BVSRC}\n    DESTDIR=/path/to/install/dir/opt/bb/  make -f Makefile.test_only check\n\n\nInstalling LLVM/Clang Sources\n=============================\n\nIf you are doing this on a **Bloomberg development machine**, follow the\ninstructions at\n\u003chttp://tutti.prod.bloomberg.com/go-git-go-docs/configuration\u003e to\nconfigure `git` for access to `github` securely through an https proxy.\n\nNote: this requires a great deal of free disk space.\n\n    # We will place LLVM/Clang source code here\n    export LCSRC=/path/to/llvm/source/directory\n    mkdir -p ${LCSRC}\n\n    # Clone the LLVM/Clang repositories\n    git clone https://github.com/llvm/llvm-project.git ${LCSRC} \n    cd ${LCSRC}\n    # Checkout llvmorg-14.0.1 \n    git checkout tags/llvmorg-14.0.1 -b llvm14\n\nBuilding LLVM/Clang\n===================\n\nExternal references:\n\n- [Getting started](https://clang.llvm.org/get_started.html)\n- [Building LLVM with CMake](https://www.llvm.org/docs/CMake.html)\n\nBelow is the configuration line that enables clang and clang-tool-extra \nprojects required by bde-verify:\n\n    mkdir _build; cd _build\n    # This is a configuration line for cmake that contain all relevant information (see description of defines in llvm howto).\n    # In order to use different compiler, use CXX/CC variables to point to compilers:\n    cmake -G Ninja -DLLVM_ENABLE_PROJECTS=\"clang;clang-tools-extra\" -DLLVM_ENABLE_BINDINGS=No -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_INSTALL_PREFIX=\u003cinstall_path\u003e -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_LIBDIR_SUFFIX=64 ../llvm/\n    cmake --build .\n    cmake --install .\n\n\nOn Windows\n----------\n\nInstall the NSIS packaging system:\n\n    #  We refer to version 3.02.1 here, but newer versions should work.\n    #\n    #  Navigate to \u003chttps://sourceforge.net/projects/nsis/files/NSIS%203/3.02.1/\u003e\n    #  The installer is named \u003cnsis-3.02.1-setup.exe\u003e.  Download and run it.\n    #\n    #  Download the large-strings overlay \u003cnsis-3.02.1-strlen_8192.zip\u003e.\n    #  Open that archive and extract its files on top of the installed ones.\n\nSet build directory:\n\n    # We will build LLVM/Clang here\n    export LCBLD=/path/to/build/directory\n    mkdir -p $LCBLD\n\nConfigure and build, and install llvm:\n\n    cd $LCBLD\n    cmake $LCSRC/llvm\n    cmake --build . --target package --config MinSizeRel\n\n    # The result is an executable named LLVM-5.{...}-win32.exe\n    # Run it to install LLVM/Clang.  When asked, set the path for all users.\n\nBuilding bde_verify \n===================\n\nOn Windows\n----------\n\nSet build directory:\n\n    # We will build bde_verify here\n    export BVBLD=/path/to/bde_verify/build/directory\n\nConfigure, build, and install bde_verify\n\n    cd $BVBLD\n    cmake $BVSRC\n    cmake --build . --target package --config MinSizeRel\n\n    # The result is an executable named bde_verify-{...}-win32.exe\n    # Run it to install bde_verify.  When asked, set the path for all users.\n\n    # Now build the Visual Studio bde_verify add-in\n\n    cmake --build . --target bde_verify_vsix --config MinSizeRel\n\n    # The result is $BVBLD/bde-verify-vs/BdeVerify.vsix\n    # Running that file installs the extension into Visual Studio.\n    # (It installs its own private copy of the bde_verify executable.)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbloomberg%2Fbde_verify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbloomberg%2Fbde_verify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbloomberg%2Fbde_verify/lists"}