]> git.feebdaed.xyz Git - 0xmirror/WiringPi.git/commitdiff
Added CMake Linking Example
authorMr-Fishy <efishg2020@gmail.com>
Wed, 12 Mar 2025 19:24:28 +0000 (12:24 -0700)
committerMr-Fishy <efishg2020@gmail.com>
Wed, 12 Mar 2025 19:24:28 +0000 (12:24 -0700)
README.md

index 574e017a47fd6e34c4afcc006e861bc7227aa03f..794fe4f39275610e256455d9900e03c59dfd93dc 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
 # WiringPi Library
+
 Welcome to the WiringPi Library, the highly performant GPIO access library for Raspberry Pi boards. This library is written in C and is designed to provide fast and efficient control of the GPIO pins by directly accessing the hardware registers using DMA. 
 
-**Key Features:** 
+**Key Features:**  
+
 - **Support:** WiringPi supports all Raspberry Pi Boards including Pi 5 ( :construction: On the Pi 5, only the GCLK functionality is currently not supported due to missing documentation of the RP1 chip).
 - **High Performance:** By directly accessing the hardware registers, WiringPi ensures minimal latency and maximum performance for your GPIO operations.
 - **Wide Adoption:** WiringPi is widely used in numerous projects, making it a reliable choice for your Raspberry Pi GPIO needs.
@@ -50,9 +52,23 @@ cd examples
 make <example-name | really-all>
 ```
 
-The tool `gpio` can be used to set single pins as well as get the state of everything at once:
+To use WiringPi in a project with CMake, the following snippet is all that is required provided that WiringPi is installed.
+
+```CMake
+add_executable(example
+    # project sources...
+)
 
+target_link_libraries(
+    example
+
+    PRIVATE wiringPi
+)
 ```
+
+The tool `gpio` can be used to set single pins as well as get the state of everything at once:
+
+```none
 pi@wiringdemo:~ $ gpio readall
  +-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
  | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
@@ -82,12 +98,10 @@ pi@wiringdemo:~ $ gpio readall
  +-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
 ```
 
-
 ## Documentation
 
-[German](https://github.com/WiringPi/WiringPi/blob/master/documentation/deutsch/functions.md)   
-[English](https://github.com/WiringPi/WiringPi/blob/master/documentation/english/functions.md)   
-
+[German](./documentation/deutsch/functions.md)  
+[English](./documentation/english/functions.md)
 
 ## Installing
 
@@ -111,12 +125,10 @@ mv debian-template/wiringpi-3.0-1.deb .
 sudo apt install ./wiringpi-3.0-1.deb
 ```
 
-
 ### Prebuilt Binaries
 
 Grab the latest release from [here](https://github.com/WiringPi/WiringPi/releases).
 
-
 Unzip/use the portable prebuilt verison:
 
 ```sh
@@ -131,16 +143,15 @@ Install the debian package:
 sudo apt install ./wiringpi-3.0-1.deb
 ```
 
-
 ## Ports
 
 wiringPi has been wrapped for multiple languages:
 
-* Node - https://github.com/WiringPi/WiringPi-Node
-* Perl - https://github.com/WiringPi/WiringPi-Perl
-* PHP - https://github.com/WiringPi/WiringPi-PHP
-* Python - https://github.com/WiringPi/WiringPi-Python
-* Ruby - https://github.com/WiringPi/WiringPi-Ruby
+- Node - [https://github.com/WiringPi/WiringPi-Node](https://github.com/WiringPi/WiringPi-Node)
+- Perl - [https://github.com/WiringPi/WiringPi-Perl](https://github.com/WiringPi/WiringPi-Perl)
+- PHP - [https://github.com/WiringPi/WiringPi-PHP](https://github.com/WiringPi/WiringPi-PHP)
+- Python - [https://github.com/WiringPi/WiringPi-Python](https://github.com/WiringPi/WiringPi-Python)
+- Ruby - [https://github.com/WiringPi/WiringPi-Ruby](https://github.com/WiringPi/WiringPi-Ruby)
 
 ## Support
 
@@ -156,9 +167,9 @@ Please don't email GC2 for reporting issues, you might [contact us](mailto:wirin
 
 This repository is the continuation of 'Gordon's wiringPi 2.5' which has been [deprecated](https://web.archive.org/web/20220405225008/http://wiringpi.com/wiringpi-deprecated/), a while ago.
 
-* The last "old wiringPi" source of Gordon's release can be found at the
+- The last "old wiringPi" source of Gordon's release can be found at the
   [`final_source_2.50`](https://github.com/WiringPi/WiringPi/tree/final_official_2.50) tag.
-* The default `master` branch contains code that has been written since version 2.5
+- The default `master` branch contains code that has been written since version 2.5
   to provide support for newer hardware as well as new features.
 
 :information_source:️ Since 2024, [GC2](https://github.com/GrazerComputerClub) has taken over maintenance of the project, supporting new OS versions as well as current hardware generations. We are dedicated to keeping the arguably best-performing GPIO Library for Raspberry Pi running smoothly. We strive to do our best, but please note that this is a community effort, and we cannot provide any guarantees or take responsibility for implementing specific features you may need.