├── .clang-format ├── .clang-tidy ├── .github └── workflows │ ├── build-macos.yaml │ ├── build-ubuntu.yaml │ └── build-win.yaml ├── .gitignore ├── .typos.toml ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── TROUBLESHOOTING.md ├── analyzer ├── CMakeLists.txt ├── include │ └── analyzer │ │ ├── core │ │ ├── analysis │ │ │ ├── analyses.hpp │ │ │ ├── analysis_base.hpp │ │ │ ├── core │ │ │ │ ├── assign_resolver.hpp │ │ │ │ ├── binary_op_resolver.hpp │ │ │ │ ├── numerical_analysis.hpp │ │ │ │ ├── numerical_event.hpp │ │ │ │ ├── pointer_analysis.hpp │ │ │ │ ├── pointer_event.hpp │ │ │ │ ├── symbol_resolver.hpp │ │ │ │ └── unary_op_resolver.hpp │ │ │ ├── debug │ │ │ │ └── state_printer.hpp │ │ │ ├── demo │ │ │ │ └── demo_analysis.hpp │ │ │ └── events.hpp │ │ ├── analysis_context.hpp │ │ ├── analysis_manager.hpp │ │ ├── analyzer_options.hpp │ │ ├── checker │ │ │ ├── checker_base.hpp │ │ │ ├── checkers.hpp │ │ │ ├── debug │ │ │ │ └── inspection.hpp │ │ │ └── demo │ │ │ │ └── demo_checker.hpp │ │ ├── checker_context.hpp │ │ ├── checker_manager.hpp │ │ ├── constraint │ │ │ ├── constraint.hpp │ │ │ └── linear.hpp │ │ ├── def │ │ │ ├── analyses.def │ │ │ ├── checkers.def │ │ │ ├── domains.def │ │ │ ├── events.def │ │ │ └── regions.def │ │ ├── domain │ │ │ ├── bound.hpp │ │ │ ├── demo_dom.hpp │ │ │ ├── dom_base.hpp │ │ │ ├── domains.hpp │ │ │ ├── interval.hpp │ │ │ ├── map │ │ │ │ ├── map_domain.hpp │ │ │ │ └── separate_numerical_domain.hpp │ │ │ ├── num │ │ │ │ ├── machine_znum.hpp │ │ │ │ ├── qnum.hpp │ │ │ │ └── znum.hpp │ │ │ ├── numerical │ │ │ │ ├── interval_dom.hpp │ │ │ │ ├── interval_dom.tpp │ │ │ │ └── numerical_base.hpp │ │ │ ├── pointer.hpp │ │ │ └── set │ │ │ │ └── discrete_domain.hpp │ │ ├── engine │ │ │ ├── block_engine.hpp │ │ │ ├── intraprocedural_fixpoint.hpp │ │ │ ├── iterator.hpp │ │ │ ├── wto_iterator.hpp │ │ │ └── wto_iterator_impl.tpp │ │ ├── location_context.hpp │ │ ├── location_manager.hpp │ │ ├── proc_cfg.hpp │ │ ├── program_state.hpp │ │ ├── region │ │ │ ├── region.hpp │ │ │ └── regions.hpp │ │ ├── stack_frame.hpp │ │ ├── symbol.hpp │ │ └── symbol_manager.hpp │ │ ├── support │ │ ├── analysis.hpp │ │ ├── checker.hpp │ │ ├── clang_ast.hpp │ │ ├── dom.hpp │ │ ├── event.hpp │ │ └── symbol.hpp │ │ ├── tooling │ │ ├── cl_opts.hpp │ │ ├── context.hpp │ │ ├── diagnostic.hpp │ │ ├── factory.hpp │ │ ├── force_linker.hpp │ │ ├── knight.hpp │ │ ├── module.hpp │ │ ├── options.hpp │ │ └── reporter.hpp │ │ └── util │ │ └── wto.hpp ├── src │ ├── CMakeLists.txt │ ├── core │ │ ├── analysis │ │ │ ├── analysis_base.cpp │ │ │ ├── core │ │ │ │ ├── assign_resolver.cpp │ │ │ │ ├── binary_op_resolver.cpp │ │ │ │ ├── numerical_analysis.cpp │ │ │ │ ├── pointer_analysis.cpp │ │ │ │ ├── symbol_resolver.cpp │ │ │ │ └── unary_op_resolver.cpp │ │ │ ├── debug │ │ │ │ └── state_printer.cpp │ │ │ └── demo │ │ │ │ └── demo_analysis.cpp │ │ ├── analysis_context.cpp │ │ ├── analysis_manager.cpp │ │ ├── checker │ │ │ ├── checker_base.cpp │ │ │ └── debug │ │ │ │ └── inspection.cpp │ │ ├── checker_context.cpp │ │ ├── checker_manager.cpp │ │ ├── domain │ │ │ └── dom_registry.cpp │ │ ├── engine │ │ │ ├── block_engine.cpp │ │ │ └── intraprocedural_fixpoint.cpp │ │ ├── location_manager.cpp │ │ ├── proc_cfg.cpp │ │ ├── program_state.cpp │ │ ├── region │ │ │ └── region.cpp │ │ ├── stack_frame.cpp │ │ └── symbol.cpp │ ├── module │ │ ├── core.cpp │ │ ├── debug.cpp │ │ └── demo.cpp │ └── tooling │ │ ├── context.cpp │ │ ├── diagnostic.cpp │ │ ├── factory.cpp │ │ ├── knight.cpp │ │ ├── options.cpp │ │ └── reporter.cpp └── tools │ ├── CMakeLists.txt │ └── main.cpp ├── cg ├── CMakeLists.txt ├── include │ └── cg │ │ ├── core │ │ ├── builder.hpp │ │ └── cg.hpp │ │ ├── db │ │ └── db.hpp │ │ └── tooling │ │ ├── cl_opts.hpp │ │ └── driver.hpp ├── src │ ├── CMakeLists.txt │ ├── core │ │ └── builder.cpp │ ├── db │ │ └── db.cpp │ └── tooling │ │ └── driver.cpp ├── test │ └── testcase │ │ └── a.cpp └── tools │ ├── CMakeLists.txt │ └── main.cpp ├── cmake ├── addCURL.cmake ├── addClang.cmake ├── addCommon.cmake ├── addGMP.cmake ├── addGTest.cmake ├── addLLVM.cmake └── addSqlite3.cmake ├── common ├── CMakeLists.txt ├── include │ └── common │ │ ├── support │ │ ├── dumpable.hpp │ │ └── graph.hpp │ │ └── util │ │ ├── assert.hpp │ │ ├── clang.hpp │ │ ├── export.hpp │ │ ├── globs.hpp │ │ ├── log.hpp │ │ ├── sqlite3.hpp │ │ └── vfs.hpp ├── src │ ├── CMakeLists.txt │ └── util │ │ ├── clang.cpp │ │ ├── globs.cpp │ │ ├── sqlite3.cpp │ │ └── vfs.cpp └── test │ └── sqlite3.cpp ├── doc └── icon.png ├── scripts ├── install ├── run-clang-format ├── run-clang-tidy └── unittest ├── test └── testcase │ ├── numerical │ ├── assign.c │ ├── condition.c │ ├── if-else.c │ └── while-loop.c │ └── region │ ├── assign.c │ └── assign.cpp └── third_party └── CMakeLists.txt /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.clang-format -------------------------------------------------------------------------------- /.clang-tidy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.clang-tidy -------------------------------------------------------------------------------- /.github/workflows/build-macos.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.github/workflows/build-macos.yaml -------------------------------------------------------------------------------- /.github/workflows/build-ubuntu.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.github/workflows/build-ubuntu.yaml -------------------------------------------------------------------------------- /.github/workflows/build-win.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.github/workflows/build-win.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.gitignore -------------------------------------------------------------------------------- /.typos.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/.typos.toml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/README.md -------------------------------------------------------------------------------- /TROUBLESHOOTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/TROUBLESHOOTING.md -------------------------------------------------------------------------------- /analyzer/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/CMakeLists.txt -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/analyses.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/analyses.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/analysis_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/analysis_base.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/assign_resolver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/assign_resolver.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/binary_op_resolver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/binary_op_resolver.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/numerical_analysis.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/numerical_analysis.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/numerical_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/numerical_event.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/pointer_analysis.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/pointer_analysis.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/pointer_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/pointer_event.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/symbol_resolver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/symbol_resolver.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/core/unary_op_resolver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/core/unary_op_resolver.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/debug/state_printer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/debug/state_printer.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/demo/demo_analysis.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/demo/demo_analysis.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis/events.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis/events.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis_context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis_context.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analysis_manager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analysis_manager.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/analyzer_options.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/analyzer_options.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/checker/checker_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/checker/checker_base.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/checker/checkers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/checker/checkers.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/checker/debug/inspection.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/checker/debug/inspection.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/checker/demo/demo_checker.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/checker/demo/demo_checker.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/checker_context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/checker_context.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/checker_manager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/checker_manager.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/constraint/constraint.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/constraint/constraint.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/constraint/linear.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/constraint/linear.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/def/analyses.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/def/analyses.def -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/def/checkers.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/def/checkers.def -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/def/domains.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/def/domains.def -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/def/events.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/def/events.def -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/def/regions.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/def/regions.def -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/bound.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/bound.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/demo_dom.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/demo_dom.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/dom_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/dom_base.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/domains.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/domains.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/interval.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/interval.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/map/map_domain.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/map/map_domain.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/map/separate_numerical_domain.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/map/separate_numerical_domain.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/num/machine_znum.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/num/machine_znum.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/num/qnum.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/num/qnum.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/num/znum.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/num/znum.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/numerical/interval_dom.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/numerical/interval_dom.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/numerical/interval_dom.tpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/numerical/interval_dom.tpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/numerical/numerical_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/numerical/numerical_base.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/pointer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/pointer.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/domain/set/discrete_domain.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/domain/set/discrete_domain.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/engine/block_engine.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/engine/block_engine.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/engine/intraprocedural_fixpoint.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/engine/intraprocedural_fixpoint.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/engine/iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/engine/iterator.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/engine/wto_iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/engine/wto_iterator.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/engine/wto_iterator_impl.tpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/engine/wto_iterator_impl.tpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/location_context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/location_context.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/location_manager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/location_manager.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/proc_cfg.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/proc_cfg.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/program_state.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/program_state.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/region/region.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/region/region.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/region/regions.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/region/regions.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/stack_frame.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/stack_frame.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/symbol.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/symbol.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/core/symbol_manager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/core/symbol_manager.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/support/analysis.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/support/analysis.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/support/checker.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/support/checker.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/support/clang_ast.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/support/clang_ast.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/support/dom.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/support/dom.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/support/event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/support/event.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/support/symbol.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/support/symbol.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/cl_opts.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/cl_opts.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/context.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/diagnostic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/diagnostic.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/factory.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/factory.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/force_linker.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/force_linker.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/knight.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/knight.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/module.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/module.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/options.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/options.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/tooling/reporter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/tooling/reporter.hpp -------------------------------------------------------------------------------- /analyzer/include/analyzer/util/wto.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/include/analyzer/util/wto.hpp -------------------------------------------------------------------------------- /analyzer/src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/CMakeLists.txt -------------------------------------------------------------------------------- /analyzer/src/core/analysis/analysis_base.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/analysis_base.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/core/assign_resolver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/core/assign_resolver.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/core/binary_op_resolver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/core/binary_op_resolver.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/core/numerical_analysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/core/numerical_analysis.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/core/pointer_analysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/core/pointer_analysis.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/core/symbol_resolver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/core/symbol_resolver.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/core/unary_op_resolver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/core/unary_op_resolver.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/debug/state_printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/debug/state_printer.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis/demo/demo_analysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis/demo/demo_analysis.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis_context.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis_context.cpp -------------------------------------------------------------------------------- /analyzer/src/core/analysis_manager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/analysis_manager.cpp -------------------------------------------------------------------------------- /analyzer/src/core/checker/checker_base.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/checker/checker_base.cpp -------------------------------------------------------------------------------- /analyzer/src/core/checker/debug/inspection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/checker/debug/inspection.cpp -------------------------------------------------------------------------------- /analyzer/src/core/checker_context.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/checker_context.cpp -------------------------------------------------------------------------------- /analyzer/src/core/checker_manager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/checker_manager.cpp -------------------------------------------------------------------------------- /analyzer/src/core/domain/dom_registry.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/domain/dom_registry.cpp -------------------------------------------------------------------------------- /analyzer/src/core/engine/block_engine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/engine/block_engine.cpp -------------------------------------------------------------------------------- /analyzer/src/core/engine/intraprocedural_fixpoint.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/engine/intraprocedural_fixpoint.cpp -------------------------------------------------------------------------------- /analyzer/src/core/location_manager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/location_manager.cpp -------------------------------------------------------------------------------- /analyzer/src/core/proc_cfg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/proc_cfg.cpp -------------------------------------------------------------------------------- /analyzer/src/core/program_state.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/program_state.cpp -------------------------------------------------------------------------------- /analyzer/src/core/region/region.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/region/region.cpp -------------------------------------------------------------------------------- /analyzer/src/core/stack_frame.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/stack_frame.cpp -------------------------------------------------------------------------------- /analyzer/src/core/symbol.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/core/symbol.cpp -------------------------------------------------------------------------------- /analyzer/src/module/core.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/module/core.cpp -------------------------------------------------------------------------------- /analyzer/src/module/debug.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/module/debug.cpp -------------------------------------------------------------------------------- /analyzer/src/module/demo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/module/demo.cpp -------------------------------------------------------------------------------- /analyzer/src/tooling/context.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/tooling/context.cpp -------------------------------------------------------------------------------- /analyzer/src/tooling/diagnostic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/tooling/diagnostic.cpp -------------------------------------------------------------------------------- /analyzer/src/tooling/factory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/tooling/factory.cpp -------------------------------------------------------------------------------- /analyzer/src/tooling/knight.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/tooling/knight.cpp -------------------------------------------------------------------------------- /analyzer/src/tooling/options.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/tooling/options.cpp -------------------------------------------------------------------------------- /analyzer/src/tooling/reporter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/src/tooling/reporter.cpp -------------------------------------------------------------------------------- /analyzer/tools/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/tools/CMakeLists.txt -------------------------------------------------------------------------------- /analyzer/tools/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/analyzer/tools/main.cpp -------------------------------------------------------------------------------- /cg/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/CMakeLists.txt -------------------------------------------------------------------------------- /cg/include/cg/core/builder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/include/cg/core/builder.hpp -------------------------------------------------------------------------------- /cg/include/cg/core/cg.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/include/cg/core/cg.hpp -------------------------------------------------------------------------------- /cg/include/cg/db/db.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/include/cg/db/db.hpp -------------------------------------------------------------------------------- /cg/include/cg/tooling/cl_opts.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/include/cg/tooling/cl_opts.hpp -------------------------------------------------------------------------------- /cg/include/cg/tooling/driver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/include/cg/tooling/driver.hpp -------------------------------------------------------------------------------- /cg/src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/src/CMakeLists.txt -------------------------------------------------------------------------------- /cg/src/core/builder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/src/core/builder.cpp -------------------------------------------------------------------------------- /cg/src/db/db.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/src/db/db.cpp -------------------------------------------------------------------------------- /cg/src/tooling/driver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/src/tooling/driver.cpp -------------------------------------------------------------------------------- /cg/test/testcase/a.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/test/testcase/a.cpp -------------------------------------------------------------------------------- /cg/tools/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/tools/CMakeLists.txt -------------------------------------------------------------------------------- /cg/tools/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cg/tools/main.cpp -------------------------------------------------------------------------------- /cmake/addCURL.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addCURL.cmake -------------------------------------------------------------------------------- /cmake/addClang.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addClang.cmake -------------------------------------------------------------------------------- /cmake/addCommon.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addCommon.cmake -------------------------------------------------------------------------------- /cmake/addGMP.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addGMP.cmake -------------------------------------------------------------------------------- /cmake/addGTest.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addGTest.cmake -------------------------------------------------------------------------------- /cmake/addLLVM.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addLLVM.cmake -------------------------------------------------------------------------------- /cmake/addSqlite3.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/cmake/addSqlite3.cmake -------------------------------------------------------------------------------- /common/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/CMakeLists.txt -------------------------------------------------------------------------------- /common/include/common/support/dumpable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/support/dumpable.hpp -------------------------------------------------------------------------------- /common/include/common/support/graph.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/support/graph.hpp -------------------------------------------------------------------------------- /common/include/common/util/assert.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/assert.hpp -------------------------------------------------------------------------------- /common/include/common/util/clang.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/clang.hpp -------------------------------------------------------------------------------- /common/include/common/util/export.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/export.hpp -------------------------------------------------------------------------------- /common/include/common/util/globs.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/globs.hpp -------------------------------------------------------------------------------- /common/include/common/util/log.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/log.hpp -------------------------------------------------------------------------------- /common/include/common/util/sqlite3.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/sqlite3.hpp -------------------------------------------------------------------------------- /common/include/common/util/vfs.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/include/common/util/vfs.hpp -------------------------------------------------------------------------------- /common/src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/src/CMakeLists.txt -------------------------------------------------------------------------------- /common/src/util/clang.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/src/util/clang.cpp -------------------------------------------------------------------------------- /common/src/util/globs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/src/util/globs.cpp -------------------------------------------------------------------------------- /common/src/util/sqlite3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/src/util/sqlite3.cpp -------------------------------------------------------------------------------- /common/src/util/vfs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/src/util/vfs.cpp -------------------------------------------------------------------------------- /common/test/sqlite3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/common/test/sqlite3.cpp -------------------------------------------------------------------------------- /doc/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/doc/icon.png -------------------------------------------------------------------------------- /scripts/install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/scripts/install -------------------------------------------------------------------------------- /scripts/run-clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/scripts/run-clang-format -------------------------------------------------------------------------------- /scripts/run-clang-tidy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/scripts/run-clang-tidy -------------------------------------------------------------------------------- /scripts/unittest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/scripts/unittest -------------------------------------------------------------------------------- /test/testcase/numerical/assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/test/testcase/numerical/assign.c -------------------------------------------------------------------------------- /test/testcase/numerical/condition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/test/testcase/numerical/condition.c -------------------------------------------------------------------------------- /test/testcase/numerical/if-else.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/test/testcase/numerical/if-else.c -------------------------------------------------------------------------------- /test/testcase/numerical/while-loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/test/testcase/numerical/while-loop.c -------------------------------------------------------------------------------- /test/testcase/region/assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/test/testcase/region/assign.c -------------------------------------------------------------------------------- /test/testcase/region/assign.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/test/testcase/region/assign.cpp -------------------------------------------------------------------------------- /third_party/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shenjunjiekoda/knight/HEAD/third_party/CMakeLists.txt --------------------------------------------------------------------------------