{"id":16984232,"url":"https://github.com/floooh/fips-vld","last_synced_at":"2026-05-18T17:03:51.923Z","repository":{"id":28168464,"uuid":"31669602","full_name":"floooh/fips-vld","owner":"floooh","description":"Fipsified VLD (Visual Leak Detector)","archived":false,"fork":false,"pushed_at":"2018-03-10T13:38:14.000Z","size":1208,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-26T19:11:55.600Z","etag":null,"topics":["fips"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/floooh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-04T17:19:00.000Z","updated_at":"2021-01-30T03:52:47.000Z","dependencies_parsed_at":"2022-07-31T07:48:00.206Z","dependency_job_id":null,"html_url":"https://github.com/floooh/fips-vld","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/floooh%2Ffips-vld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floooh%2Ffips-vld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floooh%2Ffips-vld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floooh%2Ffips-vld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/floooh","download_url":"https://codeload.github.com/floooh/fips-vld/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244890089,"owners_count":20527031,"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":["fips"],"created_at":"2024-10-14T02:30:40.892Z","updated_at":"2026-05-18T17:03:46.882Z","avatar_url":"https://github.com/floooh.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fips-vld\nFipsified VLD (Visual Leak Detector)\n\nVLD: https://github.com/KindDragon/vld\n\nfips: https://github.com/floooh/fips\n\nOnly works on Windows (the import will be ignored when compiling for\nother platforms).\n\n### How to use:\n\nFirst make sure to update fips itself (the feature to detect \ncustom build configs in imported project is new)!\n\n#### Importing into your fips project:\n\nAdd fips-vld as import to your project's fips.yml file:\n\n```yaml\nimports:\n    fips-vld:\n        git: https://github.com/floooh/fips-vld.git\n```\n\nRun 'fips fetch' to fetch fips-vld from github:\n\n#### Integrating VLD into your project:\n\nIn your toplevel CMakeLists.txt or fips-include.cmake file, check for the \nFIPS\\_USE\\_VLD, and if this is set, setup a C preprocessor define of your\nchoice (all following examples are taken from the Oryol 3D engine):\n\n```cmake\n# use Visual Leak Detector?\n# see https://github.com/floooh/fips-vld\nif (FIPS_USE_VLD)\n    add_definitions(-DORYOL_USE_VLD=1)\nendif()\n```\n\nNow in one of your source files, include the **vld.h** header if the define\nis set:\n\n```cpp\n#if ORYOL_USE_VLD\n#include \"vld.h\"\n#endif\n```\n\nIn the CMakeLists.txt file of the source file's module (in Oryol's case: the \nCore module) define a library dependency to **vld**. Every app which uses the\nCore module will now also link automatically against VLD. Also, an extra target dependency\nmust be defined to trigger fips-vld's special target **vld\\_copy\\_dlls** (this is explained\nfurther down):\n\n```cmake\n# example from Oryol's Core module CMakeLists.txt\nfips_begin_module(Core)\n    ...\n    if (FIPS_USE_VLD)\n        fips_libs(vld)\n    endif()\nfips_end_module()\nif (FIPS_USE_VLD)\n    add_dependencies(Core vld_copy_dlls)\nendif()\n```\n\nThat's all for preparations, now build with one of the the \nfips-vld custom-configs **win32-vstudio-vld** or **win64-vstudio-vld** \ninside Visual Studio:\n\n```bash\n# 32-bit Windows: set win32 default config and open in Visual Studio:\n\u003e fips set config win32-vstdio-vld\n\u003e fips open\n# 64-bit Windows: likewise\n\u003e fips set config win64-vstudio-vld\n\u003e fips open\n```\n\nBuild and run the application (in debug mode). Now, on application shutdown, \nVLD should list the memory leaks it found, or if you're lucky you'll see a:\n\n```\nNo memory leaks detected.\nVisual Leak Detector is now exiting.\n```\n\n### How it works:\n\nThe VLD fipsification is a bit unusual:\n\n- the VLD DLLs are precompiled and are located under fips-vld/libs\n- the CMakeLists.txt file only defines a custom target called **vld\\_copy\\_dlls** \nwhich copies the precompiled DLLs to the fips-deploy directory where the\nexecutables are built to\n- in order to trigger the copying, a target dependencies must be defined\nin a CMakeLists.txt file of the application being tested (in Oryol, the\nCore module sets up this dependency since it is linked into every Oryol\napplication)\n\nThe fips custom configs under **fips-vld/fips-configs** simply set the\ncmake option FIPS\\_USE\\_VLD to ON, the same can be achieved by using\none of the default debug configs (e.g. win64-vstudio-debug) and \nset the FIPS\\_USE\\_VLD option to ON in ccmake / cmake-gui (via 'fips config').\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloooh%2Ffips-vld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloooh%2Ffips-vld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloooh%2Ffips-vld/lists"}