auto-updater[bot] eeee4453c8 Update Ghidra HEAD to commit 94164bd6e (#421)
* Bump Ghidra HEAD commit 94164bd6e

Changed files:

```
M	Ghidra/Features/Decompiler/src/decompile/cpp/architecture.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/bfd_arch.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/block.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/block.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/consolemain.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/cpool.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/cpool.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/database.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/error.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_op.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_process.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/ifacedecomp.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/ifaceterm.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/interface.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/loadimage.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/marshal.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/modelrules.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/multiprecision.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/op.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/op.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/override.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/pcoderaw.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/raw_arch.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/semantics.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/semantics.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.y
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghpatexpress.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghpattern.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghscan.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/translate.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/type.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/userop.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/variable.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/variable.hh
M	Ghidra/Features/Decompiler/src/decompile/cpp/varnode.cc
M	Ghidra/Features/Decompiler/src/decompile/cpp/varnode.hh
A	Ghidra/Features/Decompiler/src/decompile/unittests/testmultiprec.cc
M	Ghidra/Processors/8051/certification.manifest
M	Ghidra/Processors/8051/data/languages/8051.ldefs
A	Ghidra/Processors/8051/data/languages/cip-51.pspec
M	Ghidra/Processors/8051/data/languages/keil-cx51.cspec
M	Ghidra/Processors/AARCH64/certification.manifest
M	Ghidra/Processors/AARCH64/data/languages/AARCH64.ldefs
M	Ghidra/Processors/AARCH64/data/languages/AARCH64.opinion
D	Ghidra/Processors/AARCH64/data/languages/AARCH64_swift.cspec
M	Ghidra/Processors/AARCH64/data/languages/AppleSilicon.ldefs
M	Ghidra/Processors/MIPS/certification.manifest
M	Ghidra/Processors/MIPS/data/languages/mips.ldefs
M	Ghidra/Processors/MIPS/data/languages/mips.sinc
A	Ghidra/Processors/MIPS/data/languages/mips32_16e.pspec
A	Ghidra/Processors/MIPS/data/languages/mips64_16e.pspec
M	Ghidra/Processors/MIPS/data/languages/mips_dsp.sinc
M	Ghidra/Processors/TI_MSP430/data/languages/TI_MSP430.cspec
M	Ghidra/Processors/x86/certification.manifest
M	Ghidra/Processors/x86/data/languages/avx.sinc
M	Ghidra/Processors/x86/data/languages/avx512.sinc
M	Ghidra/Processors/x86/data/languages/cet.sinc
M	Ghidra/Processors/x86/data/languages/fma.sinc
M	Ghidra/Processors/x86/data/languages/ia.sinc
D	Ghidra/Processors/x86/data/languages/x86-64-swift.cspec
M	Ghidra/Processors/x86/data/languages/x86.ldefs
M	Ghidra/Processors/x86/data/languages/x86.opinion
```

Commit details:

```
[Commit 1/14]
Hash: 6fe164d65107354f22314fd0db8b894b8b1c2fdf
Date: 2026-05-19 14:14:19 +0000
Message: GP-6847 fix musl issue with _exit function for Decompiler

Files changed:
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_process.cc

[Commit 2/14]
Hash: 47b4d28cb0fdffdceea659a1e8d465c74fdb9e98
Date: 2026-05-18 13:45:39 -0400
Message: GP-6697: Fixed MIPS signed immediates

Files changed:
  M	Ghidra/Processors/MIPS/data/languages/mips.sinc
  M	Ghidra/Processors/MIPS/data/languages/mips_dsp.sinc

[Commit 3/14]
Hash: 3a479c9f7ebee2f8dd91e01b1dca9b04cae1b992
Date: 2026-05-17 19:48:41 -0400
Message: GP-6347: SourceLanguage modules and new extension points

Files changed:
  M	Ghidra/Processors/AARCH64/certification.manifest
  M	Ghidra/Processors/AARCH64/data/languages/AARCH64.ldefs
  M	Ghidra/Processors/AARCH64/data/languages/AARCH64.opinion
  D	Ghidra/Processors/AARCH64/data/languages/AARCH64_swift.cspec
  M	Ghidra/Processors/AARCH64/data/languages/AppleSilicon.ldefs
  M	Ghidra/Processors/x86/certification.manifest
  D	Ghidra/Processors/x86/data/languages/x86-64-swift.cspec
  M	Ghidra/Processors/x86/data/languages/x86.ldefs
  M	Ghidra/Processors/x86/data/languages/x86.opinion

[Commit 4/14]
Hash: 4661fc0bed1a46096a462a1d39f07674fb931c32
Date: 2026-05-04 21:48:44 +0000
Message: GP-6788 Keep track of immediate COPY propagation

Files changed:
  M	Ghidra/Features/Decompiler/src/decompile/cpp/block.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/block.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_op.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/op.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/op.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/variable.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/variable.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/varnode.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/varnode.hh

[Commit 5/14]
Hash: 4e6ba952eacbf27143edb324a343172de9bc1533
Date: 2026-04-24 20:54:00 +0000
Message: GP-6757 Additional memory fixes

Files changed:
  M	Ghidra/Features/Decompiler/src/decompile/cpp/architecture.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/cpool.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/cpool.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/database.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_process.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/multiprecision.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/pcoderaw.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.y
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghpattern.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghscan.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/translate.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/userop.cc
  A	Ghidra/Features/Decompiler/src/decompile/unittests/testmultiprec.cc

[Commit 6/14]
Hash: 10029bf53d01b0d8af61c6e0c270cc0281650b31
Date: 2026-04-28 16:34:16 +0000
Message: GP-6675: Fixed up some instruction definitions

Files changed:
  M	Ghidra/Processors/x86/data/languages/ia.sinc
  M	Ghidra/Processors/x86/data/languages/x86.ldefs

[Commit 7/14]
Hash: cfaee5f04f142e54f5d6d772a1c07019beaab0b0
Date: 2025-09-02 12:06:29 -0700
Message: Sleigh engine memory fixes

Files changed:
  M	Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/marshal.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/semantics.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghpatexpress.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.hh

[Commit 8/14]
Hash: dc38904b1627b83b2ed9064ec44ed8c11d956c1f
Date: 2026-04-20 21:52:06 +0000
Message: GP-6757 unique_ptr protections

Files changed:
  M	Ghidra/Features/Decompiler/src/decompile/cpp/architecture.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/bfd_arch.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/block.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/consolemain.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/database.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/error.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ifacedecomp.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/ifaceterm.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/interface.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/loadimage.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/modelrules.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/override.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/raw_arch.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/semantics.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghpatexpress.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghpattern.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/translate.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/userop.cc

[Commit 9/14]
Hash: 67e0516f62f33bfa833bdc883bb8ea63d64c79e9
Date: 2026-05-07 17:16:49 +0000
Message: GP-6655: Create ldefs for 16e mode, so it appears in Dynamic Listing - Disassemble As

Files changed:
  M	Ghidra/Processors/MIPS/certification.manifest
  M	Ghidra/Processors/MIPS/data/languages/mips.ldefs
  A	Ghidra/Processors/MIPS/data/languages/mips32_16e.pspec
  A	Ghidra/Processors/MIPS/data/languages/mips64_16e.pspec

[Commit 10/14]
Hash: 8a09a052583f60432b68bcadcdc5adfb5fbf16e5
Date: 2026-05-07 16:37:12 +0000
Message: GP-6798: Corrected CIP-51 language definition

Files changed:
  M	Ghidra/Processors/8051/certification.manifest
  M	Ghidra/Processors/8051/data/languages/8051.ldefs
  A	Ghidra/Processors/8051/data/languages/cip-51.pspec
  M	Ghidra/Processors/8051/data/languages/keil-cx51.cspec

[Commit 11/14]
Hash: 4fac3553a866ade6c280cd33c9cfc58497a27be6
Date: 2026-05-05 15:37:34 -0400
Message: GP-6776 additional fixes

Files changed:
  M	Ghidra/Processors/TI_MSP430/data/languages/TI_MSP430.cspec

[Commit 12/14]
Hash: 9e547d2b51a04dad3a4f102d416ceab1fb79e3f9
Date: 2026-04-28 22:47:16 +0000
Message: GP-5525 More targeted data-type warnings

Files changed:
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.hh
  M	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
  M	Ghidra/Features/Decompiler/src/decompile/cpp/type.hh

[Commit 13/14]
Hash: 329d7bae86061e106c64044dce3637fd6ba0646f
Date: 2026-04-06 17:17:48 -0700
Message: address PR feedback
Details:
Fixes issues raised by @GhidorahRex. Adds new bug fx for MASKMOVQ.

Files changed:
  M	Ghidra/Processors/x86/data/languages/ia.sinc

[Commit 14/14]
Hash: b16f1556d26163d6fdc28bfe9dbac3c010b68ba9
Date: 2026-04-01 10:47:29 -0700
Message: fix various bugs in the x86 processor spec
Details:
Specifically:

 * ARPL uses CF instead of ZF for conditional RPL adjustment
 * DAA/DAS incorrect CF computation and missing result flags
 * SHR by-1 OF flag unconditionally set to 0
 * RDTSCP incorrectly restricted to 64-bit mode only
 * SYSEXIT uses wrong register mapping
 * FCMOVNBE condition logic error
 * FYL2X/FYL2XP1 missing log2 computation
 * CVTPD2DQ uses trunc() instead of round()
 * SUBB MMX missing byte lane [8,8]
 * PSLLD/PSLLQ XMM use per-element shift count
 * PCMPxSTRx missing implicit EAX/EDX inputs and EFLAGS outputs
 * CET WRSSQ/WRUSSQ duplicate 0x0F byte in encoding
 * FMA VEX_W0 missing on PS YMM 231-form constructors
 * VTESTPS YMM sign bit offset errors
 * AVX-512 VANDPS YMM dead variable
 * AVX-512 VMOVHLPS copies src2 to both halves
 * AVX-512 VMOVHPD load form dead variable
 * VPSUBSW ZMM form multiple errors
 * CVTPD2PI uses trunc() instead of round()
 * PSRAD XMM uses full 128-bit shift count
 * VMULPS YMM missing 8th element
 * FPREM/FPREM1 broken remainder computation
 * FDECSTP clears wrong condition code bit
 * VMCLEAR incorrectly restricted to 64-bit mode
 * SYSCALL does not model RCX and R11 clobber
 * VRANGESS missing imm8 operand
 * VFPCLASSSD/VFPCLASSSS missing imm8 operand
 * AVX-512 VUCOMISD/VUCOMISS missing EFLAGS computation
 * MASKMOVDQU incorrectly assigns to XmmReg1
 * DAS has same CF computation and missing flags issues as DAA
 * XGETBV/XSETBV ignore ECX selector

Files changed:
  M	Ghidra/Processors/x86/data/languages/avx.sinc
  M	Ghidra/Processors/x86/data/languages/avx512.sinc
  M	Ghidra/Processors/x86/data/languages/cet.sinc
  M	Ghidra/Processors/x86/data/languages/fma.sinc
  M	Ghidra/Processors/x86/data/languages/ia.sinc
```

* Add new unittest file

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Kilmer <eric.kilmer@trailofbits.com>
2026-05-25 17:14:03 -04:00
2022-08-22 15:41:53 +10:00
2022-08-22 15:41:53 +10:00
2024-06-12 07:22:03 -04:00
2024-06-12 07:22:03 -04:00
2026-02-25 16:34:05 +00:00
2023-04-10 23:12:09 +00:00
2021-10-16 12:09:58 +11:00

Sleigh Library

Sleigh is a language used to describe the semantics of instruction sets of general-purpose microprocessors, with enough detail to facilitate the reverse engineering of software compiled for these architectures. It is part of the Ghidra reverse engineering platform and underpins two of its major components: its disassembly and decompilation engines.

This repository provides a CMake-based build project for Sleigh so that it can be built and packaged as a standalone library and be reused in projects other than Ghidra.

Supported Platforms

Name Support
Linux Yes
macOS Yes
Windows Yes

Dependencies and Prerequisites

Required

Name Version Linux Package to Install macOS Homebrew Package to Install
(HEAD builds) zlib Recent zlib1g-dev zlib
Git Latest git N/A
CMake 3.18+ cmake cmake

NOTE: This CMake project pulls the Ghidra source code from the internet during configuration. See the note on Ghidra source code section for more details.

Optional

For building documentation:

Name Version Linux Package to Install macOS Homebrew Package to Install
Doxygen Latest doxygen doxygen
GraphViz Latest graphviz graphviz

Build and Install the Sleigh Library

# Clone this repository (CMake project for sleigh)
git clone https://github.com/lifting-bits/sleigh.git
cd sleigh

# Configure CMake
cmake -B build -S .

# Build Sleigh
cmake --build build --parallel 8

# Install Sleigh
cmake --install build --prefix ./install

Note on Ghidra source code

The Ghidra source code is not actually included in this git repo, and by default, CMake will automatically pull a stable version from the internet for you.

Please see src/README.md for more information on how to customize which Ghidra source code commit will be used/compiled, including specifying your own local copy of the Ghidra source.

Packaging

The CMake configuration also supports building packages for Sleigh.

For example:

# Package Sleigh
cmake --build build --target package

API Usage

An example program called sleigh-lift has been included to demonstrate how to use the Sleigh API. It takes a hexadecimal string of bytes and can disassemble it or lift it to p-code. The program can be invoked as follows, where the action argument must be either disassemble or pcode:

sleigh-lift [action] [sla_file] [bytes] [-a address] [-p root_sla_dir] [-s pspec_file]

For example, to disassemble the following byte string:

$ sleigh-lift disassemble x86-64.sla 4881ecc00f0000
0x00000000: SUB RSP,0xfc0

And to lift it to p-code:

$ sleigh-lift pcode x86-64.sla 4881ecc00f0000
(register,0x200,1) = INT_LESS (register,0x20,8) (const,0xfc0,8)
(register,0x20b,1) = INT_SBORROW (register,0x20,8) (const,0xfc0,8)
(register,0x20,8) = INT_SUB (register,0x20,8) (const,0xfc0,8)
(register,0x207,1) = INT_SLESS (register,0x20,8) (const,0x0,8)
(register,0x206,1) = INT_EQUAL (register,0x20,8) (const,0x0,8)
(unique,0x12c00,8) = INT_AND (register,0x20,8) (const,0xff,8)
(unique,0x12c80,1) = POPCOUNT (unique,0x12c00,8)
(unique,0x12d00,1) = INT_AND (unique,0x12c80,1) (const,0x1,1)
(register,0x202,1) = INT_EQUAL (unique,0x12d00,1) (const,0x0,1)

If you do not want to build sleigh-lift, you must set the CMake variable sleigh_BUILD_EXTRATOOLS option to OFF during CMake configuration.

Helpers

This repository contains a helper not part of Sleigh/Ghidra, which you can find in the support directory. It has the following signature and can help the user find the location of a given spec file on the system:

std::optional<std::filesystem::path>
FindSpecFile(std::string_view file_name,
             const std::vector<std::filesystem::path> &search_paths =
                 gDefaultSearchPaths);

The sleigh::FindSpecFile function will search the paths provided by the user via the search_paths argument for a spec file with the name file_name. The default argument for search_paths is sleigh::gDefaultSearchPaths which contains the install/build directories generated during CMake configuration and a set of common installation locations.

If you do not want to build the helpers, you must set the CMake variable sleigh_BUILD_SUPPORT option to OFF during CMake configuration.

Integration as a Dependency

An installation of Sleigh provides a CMake interface that you can use when building your project.

You can find an example of how to use the CMake package config file in the find_package example.

We also provide a CMake helper function sleigh_compile to compile your .slaspec files using a sleigh compiler.

You can find a more complex CMake example with compiling Sleigh specifications in the example directory, which uses the upstream-provided sleigh example source code.

Lastly, you can locate the installed compiled sleigh files through the CMake variable sleigh_INSTALL_SPECDIR, which is an absolute path to the root directory for the compiled sleigh files---you should manually inspect this to know what to expect.

Referencing the CMake config file and specfiles CMake file is also suggested for learning more about the exposed CMake variables and modules.

License

See the LICENSE file.

S
Description
Automated archival mirror of github.com/lifting-bits/sleigh
Readme Apache-2.0 1.7 MiB
Languages
CMake 66.2%
Python 17.8%
C++ 14%
Dockerfile 1.2%
C 0.8%