@@ -0,0 +1,9 @@ | |||||
cmake_minimum_required(VERSION 3.10) | |||||
project(WiringPiLib) | |||||
# Include subdirectories | |||||
add_subdirectory(devLib) | |||||
add_subdirectory(gpio) | |||||
add_subdirectory(pins) | |||||
add_subdirectory(wiringPi) | |||||
add_subdirectory(wiringPiD) |
@@ -100,7 +100,7 @@ if [ x$1 = "xdebian" ]; then | |||||
cd $here/gpio | cd $here/gpio | ||||
make install-deb INCLUDE='-I../wiringPi -I../devLib' LDFLAGS=-L../debian-template/wiringPi/usr/lib DEB_DESTDIR=${deb_destdir} | make install-deb INCLUDE='-I../wiringPi -I../devLib' LDFLAGS=-L../debian-template/wiringPi/usr/lib DEB_DESTDIR=${deb_destdir} | ||||
cd $here/debian-template | cd $here/debian-template | ||||
fakeroot dpkg-deb --build wiringPi | |||||
dpkg-deb --build wiringPi | |||||
dpkg-name -o wiringPi.deb | dpkg-name -o wiringPi.deb | ||||
exit | exit | ||||
fi | fi | ||||
@@ -119,30 +119,28 @@ fi | |||||
echo | echo | ||||
echo "WiringPi Library" | echo "WiringPi Library" | ||||
cd wiringPi | cd wiringPi | ||||
$sudo make uninstall | |||||
if [ x$1 = "xstatic" ]; then | if [ x$1 = "xstatic" ]; then | ||||
make -j5 static | make -j5 static | ||||
check_make_ok | check_make_ok | ||||
$sudo make install-static | |||||
oe_runmake-static | |||||
else | else | ||||
make -j5 | make -j5 | ||||
check_make_ok | check_make_ok | ||||
$sudo make install | |||||
oe_runmake | |||||
fi | fi | ||||
check_make_ok | check_make_ok | ||||
echo | echo | ||||
echo "WiringPi Devices Library" | echo "WiringPi Devices Library" | ||||
cd ../devLib | cd ../devLib | ||||
$sudo make uninstall | |||||
if [ x$1 = "xstatic" ]; then | if [ x$1 = "xstatic" ]; then | ||||
make -j5 static | make -j5 static | ||||
check_make_ok | check_make_ok | ||||
$sudo make install-static | |||||
oe_runmake-static | |||||
else | else | ||||
make -j5 | make -j5 | ||||
check_make_ok | check_make_ok | ||||
$sudo make install | |||||
oe_runmake | |||||
fi | fi | ||||
check_make_ok | check_make_ok | ||||
@@ -151,15 +149,14 @@ fi | |||||
cd ../gpio | cd ../gpio | ||||
make -j5 | make -j5 | ||||
check_make_ok | check_make_ok | ||||
$sudo make install | |||||
check_make_ok | |||||
oe_runmake | |||||
# echo | # echo | ||||
# echo "wiringPi Daemon" | # echo "wiringPi Daemon" | ||||
# cd ../wiringPiD | # cd ../wiringPiD | ||||
# make -j5 | # make -j5 | ||||
# check_make_ok | # check_make_ok | ||||
# $sudo make install | |||||
# oe_runmake | |||||
# check_make_ok | # check_make_ok | ||||
# echo | # echo | ||||
@@ -0,0 +1,36 @@ | |||||
# CMakeLists.txt for devLib | |||||
cmake_minimum_required(VERSION 3.10) | |||||
project(devLib) | |||||
# Source files | |||||
set(SRC | |||||
ds1302.c maxdetect.c piNes.c | |||||
gertboard.c piFace.c | |||||
lcd128x64.c lcd.c | |||||
scrollPhat.c | |||||
piGlow.c | |||||
) | |||||
# Headers | |||||
set(HEADERS | |||||
ds1302.h maxdetect.h piNes.h | |||||
gertboard.h piFace.h | |||||
lcd128x64.h lcd.h | |||||
scrollPhatFont.h scrollPhat.h | |||||
piGlow.h | |||||
) | |||||
# Compiler flags | |||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wformat=2 -Winline -pipe -fPIC") | |||||
# Add the library target | |||||
add_library(wiringPiDev SHARED ${SRC}) | |||||
# Set the library version | |||||
set_target_properties(wiringPiDev PROPERTIES VERSION ${VERSION} SOVERSION ${WIRINGPI_SONAME_SUFFIX}) | |||||
# Install headers | |||||
install(FILES ${HEADERS} DESTINATION include) | |||||
# Install the library | |||||
install(TARGETS wiringPiDev LIBRARY DESTINATION lib) |
@@ -0,0 +1,29 @@ | |||||
# CMakeLists.txt for gpio | |||||
cmake_minimum_required(VERSION 3.10) | |||||
project(gpio) | |||||
# Source files | |||||
set(SRC | |||||
gpio.c | |||||
readall.c | |||||
) | |||||
# Compiler flags | |||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") | |||||
# Add the executable target | |||||
add_executable(gpio ${SRC}) | |||||
# Find the required libraries | |||||
find_library(WIRINGPI_LIB wiringPi) | |||||
find_library(WIRINGPI_DEV_LIB wiringPiDev) | |||||
# Link the required libraries | |||||
target_link_libraries(gpio ${WIRINGPI_LIB} ${WIRINGPI_DEV_LIB} pthread rt m crypt) | |||||
# Install the executable | |||||
install(TARGETS gpio DESTINATION bin) | |||||
# Install man page | |||||
install(FILES gpio.1 DESTINATION share/man/man1) |
@@ -0,0 +1,28 @@ | |||||
# CMakeLists.txt for pins | |||||
cmake_minimum_required(VERSION 3.10) | |||||
project(pins LANGUAGES NONE) | |||||
# Source file | |||||
set(SRC pins.tex) | |||||
# Add custom target to generate PDF | |||||
add_custom_target(pins_pdf | |||||
COMMAND latex ${SRC} | |||||
COMMAND dvipdf ${SRC:.tex=.dvi} | |||||
COMMENT "Generating PDF" | |||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |||||
) | |||||
# Add clean target | |||||
add_custom_target(clean_pins | |||||
COMMAND rm -f *.dvi *.aux *.log *.ps *.toc *.bak *~ | |||||
COMMENT "Cleaning pins" | |||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |||||
) | |||||
# Add dependencies | |||||
add_dependencies(pins_pdf clean_pins) | |||||
# Install PDF | |||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pins.pdf DESTINATION share/pins) |
@@ -0,0 +1,66 @@ | |||||
# CMakeLists.txt for wiringPi | |||||
cmake_minimum_required(VERSION 3.10) | |||||
project(WiringPi) | |||||
# Source files | |||||
set(SRC | |||||
wiringPi.c | |||||
wiringSerial.c wiringShift.c | |||||
piHiPri.c piThread.c | |||||
wiringPiSPI.c wiringPiI2C.c | |||||
softPwm.c softTone.c | |||||
mcp23008.c mcp23016.c mcp23017.c | |||||
mcp23s08.c mcp23s17.c | |||||
sr595.c | |||||
pcf8574.c pcf8591.c | |||||
mcp3002.c mcp3004.c mcp4802.c mcp3422.c | |||||
max31855.c max5322.c ads1115.c | |||||
sn3218.c | |||||
bmp180.c htu21d.c ds18b20.c rht03.c | |||||
drcSerial.c drcNet.c | |||||
pseudoPins.c | |||||
wpiExtensions.c | |||||
wiringPiLegacy.c | |||||
) | |||||
# Headers | |||||
set(HEADERS | |||||
wiringPi.h | |||||
wiringSerial.h wiringShift.h | |||||
wiringPiSPI.h wiringPiI2C.h | |||||
softPwm.h softTone.h | |||||
mcp23008.h mcp23016.h mcp23017.h | |||||
mcp23s08.h mcp23s17.h | |||||
sr595.h | |||||
pcf8574.h pcf8591.h | |||||
mcp3002.h mcp3004.h mcp4802.h mcp3422.h | |||||
max31855.h max5322.h ads1115.h | |||||
sn3218.h | |||||
bmp180.h htu21d.h ds18b20.h rht03.h | |||||
drcSerial.h drcNet.h | |||||
pseudoPins.h | |||||
wpiExtensions.h | |||||
) | |||||
# Compiler flags | |||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat=2 -Winline -pipe -fPIC -Wformat-security") | |||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-soname,libwiringPi.so${WIRINGPI_SONAME_SUFFIX}") | |||||
# Read version from version.h | |||||
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/../version.h" VERSION) | |||||
string(REGEX REPLACE ".*VERSION \"([0-9]+.[0-9]+)\".*" "\\1" VERSION "${VERSION}") | |||||
# Add the library target | |||||
add_library(wiringPi SHARED ${SRC}) | |||||
# Set the library version | |||||
set(WIRINGPI_SONAME_SUFFIX "1") | |||||
set_target_properties(wiringPi PROPERTIES VERSION ${VERSION} SOVERSION ${WIRINGPI_SONAME_SUFFIX}) | |||||
target_include_directories(wiringPi PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) | |||||
# Add -lm to link with the math library | |||||
target_link_libraries(wiringPi PUBLIC m crypt) | |||||
# Install headers | |||||
install(FILES ${HEADERS} DESTINATION include) | |||||
# Install the library | |||||
install(TARGETS wiringPi LIBRARY DESTINATION lib) |
@@ -0,0 +1,37 @@ | |||||
# CMakeLists.txt for wiringPiD | |||||
cmake_minimum_required(VERSION 3.10) | |||||
project(wiringPiD) | |||||
# Source files | |||||
set(SRC wiringpid.c network.c runRemote.c daemonise.c) | |||||
# Add the executable | |||||
add_executable(wiringpid ${SRC}) | |||||
# Set C compiler flags | |||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -Wall -Wextra") | |||||
# Include directories | |||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | |||||
# Link libraries | |||||
find_library(WIRINGPI_LIB wiringPi) | |||||
find_library(WIRINGPIDEV_LIB wiringPiDev) | |||||
find_library(PTHREAD_LIB pthread) | |||||
find_library(RT_LIB rt) | |||||
find_library(M_LIB m) | |||||
find_library(CRYPT_LIB crypt) | |||||
target_link_libraries(wiringpid | |||||
${WIRINGPI_LIB} | |||||
${WIRINGPIDEV_LIB} | |||||
${PTHREAD_LIB} | |||||
${RT_LIB} | |||||
${M_LIB} | |||||
${CRYPT_LIB} | |||||
) | |||||
# Install the executable | |||||
install(TARGETS wiringpid | |||||
RUNTIME DESTINATION bin | |||||
) |