From 6375a6980507611a4444ccf1e18dcbd91d840577 Mon Sep 17 00:00:00 2001 From: Lucino772 Date: Fri, 9 Sep 2022 00:12:20 +0200 Subject: [PATCH] build(wiringpi): added CMakeLists.txt for wiringPi shared library --- wiringPi/CMakeLists.txt | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 wiringPi/CMakeLists.txt diff --git a/wiringPi/CMakeLists.txt b/wiringPi/CMakeLists.txt new file mode 100644 index 0000000..bc1fa42 --- /dev/null +++ b/wiringPi/CMakeLists.txt @@ -0,0 +1,55 @@ +cmake_minimum_required(VERSION 3.10) + +project(wiringPi VERSION 0.1) +set(TARGET wiringPi) + +# Have CMake find pthreads library within our toolchain +set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +find_package(Threads REQUIRED) + +# Source Files +set(wiringPi_src + ads1115.c bmp180.c drcNet.c drcSerial.c + ds18b20.c htu21d.c max31855.c max5322.c + mcp23008.c mcp23016.c mcp23017.c mcp23s08.c + mcp23s17.c mcp3002.c mcp3004.c mcp3422.c + mcp4802.c pcf8574.c pcf8591.c piHiPri.c + piThread.c pseudoPins.c rht03.c sn3218.c + softPwm.c softServo.c softTone.c sr595.c + wiringPi.c wiringPiI2C.c wiringPiSPI.c + wiringSerial.c wiringShift.c wpiExtensions.c +) + +# Headers file +set(wiringPi_h + ads1115.h bmp180.h drcNet.h drcSerial.h + ds18b20.h htu21d.h max31855.h max5322.h + mcp23008.h mcp23016.h mcp23016reg.h mcp23017.h + mcp23s08.h mcp23s17.h mcp23x08.h mcp23x0817.h + mcp3002.h mcp3004.h mcp3422.h mcp4802.h + pcf8574.h pcf8591.h pseudoPins.h rht03.h + sn3218.h softPwm.h softServo.h softTone.h + sr595.h wiringPi.h wiringPiI2C.h wiringPiSPI.h + wiringSerial.h wiringShift.h wpiExtensions.h +) + +# Add library target +add_library (${TARGET} SHARED ${wiringPi_src}) + +# Add include directory for wiringPi +target_include_directories (${TARGET} PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_INSTALL_PREFIX}/include) + + +# Add the following required libraries: Threads, Math, Crypt, and RealTime +target_link_libraries(${TARGET} ${CMAKE_THREAD_LIBS_INIT} crypt m rt) + +# Expose wiringPi public to other subprojects +set(${TARGET}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} + CACHE INTERNAL "${PROJECT_NAME}: Include directories" FORCE +) + +# Add install +install(TARGETS ${TARGET} DESTINATION lib) +install(FILES ${wiringPi_h} DESTINATION include)