Support for win32

This commit is contained in:
Eswar Prakash 2023-02-28 16:21:56 +00:00 committed by Eswar Prakash
parent 193c2d5c25
commit 2988e3f446
2 changed files with 27 additions and 12 deletions

View File

@ -2,6 +2,5 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -4,12 +4,8 @@ project(pigpio LANGUAGES C VERSION 0.71)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
if (WIN32)
find_file( WINPTHREAD libwinpthread-1.dll )
endif()
find_package(Threads REQUIRED)
# find_package(RT REQUIRED)
find_package(RT REQUIRED)
option(BUILD_SHARED_LIBS "Create shared libraries" ON)
@ -25,30 +21,50 @@ add_library(pigpiod_if pigpiod_if.c command.c)
add_library(pigpiod_if2 pigpiod_if2.c command.c)
if (WIN32)
target_link_libraries(pigpiod_if2 ws2_32)
file( COPY "${WINPTHREAD}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" )
endif()
# x_pigpio
add_executable(x_pigpio x_pigpio.c)
target_link_libraries(x_pigpio pigpio Threads::Threads)
if (!WIN32)
target_link_libraries(x_pigpio pigpio RT::RT Threads::Threads)
else()
target_link_libraries(x_pigpio pigpio Threads::Threads)
endif()
# x_pigpiod_if
add_executable(x_pigpiod_if x_pigpiod_if.c)
target_link_libraries(x_pigpiod_if pigpiod_if Threads::Threads)
if (WIN32)
target_link_libraries(x_pigpiod_if pigpiod_if Threads::Threads)
else()
target_link_libraries(x_pigpiod_if pigpiod_if RT::RT Threads::Threads)
endif()
# x_pigpiod_if2
add_executable(x_pigpiod_if2 x_pigpiod_if2.c)
target_link_libraries(x_pigpiod_if2 pigpiod_if2 Threads::Threads)
if (WIN32)
target_link_libraries(x_pigpiod_if2 pigpiod_if2 Threads::Threads)
else()
target_link_libraries(x_pigpiod_if2 pigpiod_if2 RT::RT Threads::Threads)
endif()
# pigpiod
add_executable(pigpiod pigpiod.c)
target_link_libraries(pigpiod pigpio Threads::Threads)
if (WIN32)
target_link_libraries(pigpiod pigpio Threads::Threads)
else()
target_link_libraries(pigpiod pigpio RT::RT Threads::Threads)
endif()
# pigs
add_executable(pigs pigs.c command.c)
target_link_libraries(pigs Threads::Threads)
if (WIN32)
target_link_libraries(pigs Threads::Threads ws2_32)
else()
target_link_libraries(pigs Threads::Threads)
endif()
# pig2vcd
add_executable(pig2vcd pig2vcd.c command.c)