mirror of https://github.com/wb2osz/direwolf.git
cmake: windows build fixes
works with cygwin and x86_64-w64-mingw32-gcc/x86_64-w64-mingw32-g++ from the package installer of cygwin. To use that add the following lines to .bash_profile export CC=x86_64-w64-mingw32-gcc export CXX=x86_64-w64-mingw32-g++ you also need cmake from cygwin
This commit is contained in:
parent
184b2af329
commit
8cd1f87ef6
|
@ -31,7 +31,7 @@ add_definitions("-DCOPYRIGHT=\"${COPYRIGHT}\"")
|
||||||
set(IDENTIFIER "com.${COMPANY}.${APPLICATION_NAME}")
|
set(IDENTIFIER "com.${COMPANY}.${APPLICATION_NAME}")
|
||||||
add_definitions("-DIDENTIFIER=\"${IDENTIFIER}\"")
|
add_definitions("-DIDENTIFIER=\"${IDENTIFIER}\"")
|
||||||
# raspberry as only lxterminal not xterm
|
# raspberry as only lxterminal not xterm
|
||||||
if(NOT WIN32)
|
if(NOT (WIN32 OR CYGWIN))
|
||||||
find_program(BINARY_TERMINAL_BIN lxterminal)
|
find_program(BINARY_TERMINAL_BIN lxterminal)
|
||||||
if(BINARY_TERMINAL_BIN)
|
if(BINARY_TERMINAL_BIN)
|
||||||
set(APPLICATION_DESKTOP_EXEC "${BINARY_TERMINAL_BIN} -e ${CMAKE_PROJECT_NAME}")
|
set(APPLICATION_DESKTOP_EXEC "${BINARY_TERMINAL_BIN} -e ${CMAKE_PROJECT_NAME}")
|
||||||
|
@ -86,6 +86,7 @@ if(NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
|
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
|
||||||
endif()
|
endif()
|
||||||
message(STATUS "Build type set to: ${CMAKE_BUILD_TYPE}")
|
message(STATUS "Build type set to: ${CMAKE_BUILD_TYPE}")
|
||||||
|
message("CMake system: ${CMAKE_SYSTEM_NAME}")
|
||||||
|
|
||||||
# set compiler
|
# set compiler
|
||||||
include(FindCompiler)
|
include(FindCompiler)
|
||||||
|
@ -174,12 +175,19 @@ if(LINUX)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_CM108")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_CM108")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
elseif (NOT WIN32)
|
elseif (NOT WIN32 AND NOT CYGWIN)
|
||||||
find_package(portaudio REQUIRED)
|
find_package(portaudio REQUIRED)
|
||||||
if(PORTAUDIO_FOUND)
|
if(PORTAUDIO_FOUND)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_PORTAUDIO")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_PORTAUDIO")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
else()
|
||||||
|
set(ALSA_INCLUDE_DIRS "")
|
||||||
|
set(ALSA_LIBRARIES "")
|
||||||
|
set(UDEV_INCLUDE_DIRS "")
|
||||||
|
set(UDEV_LIBRARIES "")
|
||||||
|
set(PORTAUDIO_INCLUDE_DIRS "")
|
||||||
|
set(PORTAUDIO_LIBRARIES "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# manage and fetch new data
|
# manage and fetch new data
|
||||||
|
@ -194,13 +202,9 @@ add_subdirectory(${CUSTOM_MISC_DIR})
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
# ctest
|
# ctest
|
||||||
# Note CMake will generate tests only if the enable_testing() command
|
|
||||||
# has been invoked. The CTest module invokes the command automatically
|
|
||||||
# when the BUILD_TESTING option is ON.
|
|
||||||
include(CTest)
|
include(CTest)
|
||||||
if(BUILD_TESTING)
|
enable_testing()
|
||||||
add_subdirectory(test)
|
add_subdirectory(test)
|
||||||
endif()
|
|
||||||
|
|
||||||
# manage scripts
|
# manage scripts
|
||||||
add_subdirectory(scripts)
|
add_subdirectory(scripts)
|
||||||
|
|
|
@ -80,6 +80,7 @@ else (GPSD_LIBRARIES AND GPSD_INCLUDE_DIRS)
|
||||||
|
|
||||||
endif (GPSD_LIBRARIES AND GPSD_INCLUDE_DIRS)
|
endif (GPSD_LIBRARIES AND GPSD_INCLUDE_DIRS)
|
||||||
|
|
||||||
|
# maybe on CYGWIN gpsd works
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(GPSD_FOUND FALSE)
|
set(GPSD_FOUND FALSE)
|
||||||
set(GPSD_LIBRARIES "")
|
set(GPSD_LIBRARIES "")
|
||||||
|
|
|
@ -5,7 +5,7 @@ if(LINUX)
|
||||||
string(REGEX REPLACE "\n%W%[^\n]*" "" file_content "${file_content}")
|
string(REGEX REPLACE "\n%W%[^\n]*" "" file_content "${file_content}")
|
||||||
string(REGEX REPLACE "\n%M%[^\n]*" "" file_content "${file_content}")
|
string(REGEX REPLACE "\n%M%[^\n]*" "" file_content "${file_content}")
|
||||||
string(REGEX REPLACE "\n%L%([^\n]*)" "\n\\1" file_content "${file_content}")
|
string(REGEX REPLACE "\n%L%([^\n]*)" "\n\\1" file_content "${file_content}")
|
||||||
elseif(WIN32)
|
elseif(WIN32 OR CYGWIN)
|
||||||
string(REGEX REPLACE "\n%M%[^\n]*" "" file_content "${file_content}")
|
string(REGEX REPLACE "\n%M%[^\n]*" "" file_content "${file_content}")
|
||||||
string(REGEX REPLACE "\n%L%[^\n]*" "" file_content "${file_content}")
|
string(REGEX REPLACE "\n%L%[^\n]*" "" file_content "${file_content}")
|
||||||
string(REGEX REPLACE "\n%W%([^\n]*)" "\n\\1" file_content "${file_content}")
|
string(REGEX REPLACE "\n%W%([^\n]*)" "\n\\1" file_content "${file_content}")
|
||||||
|
@ -36,7 +36,7 @@ install(FILES "${CUSTOM_CONF_DIR}/sdr.conf" DESTINATION share/doc/${CMAKE_PROJEC
|
||||||
# This step would be done as ordinary user.
|
# This step would be done as ordinary user.
|
||||||
# Some people like to put the direwolf config file in /etc/ax25.
|
# Some people like to put the direwolf config file in /etc/ax25.
|
||||||
# Note that all of these are also in $(DESTDIR)/share/doc/direwolf/examples/.
|
# Note that all of these are also in $(DESTDIR)/share/doc/direwolf/examples/.
|
||||||
if(NOT WIN32)
|
if(NOT (WIN32 OR CYGWIN))
|
||||||
add_custom_target(install-conf
|
add_custom_target(install-conf
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
-DCUSTOM_BINARY_DIR="${CMAKE_BINARY_DIR}"
|
-DCUSTOM_BINARY_DIR="${CMAKE_BINARY_DIR}"
|
||||||
|
|
|
@ -86,8 +86,8 @@ ExternalProject_Add(download_symbolsx
|
||||||
TEST_COMMAND ""
|
TEST_COMMAND ""
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(data-update)
|
add_custom_target(update-data)
|
||||||
add_dependencies(data-update data_rename download_tocalls download_symbols-new download_symbolsx)
|
add_dependencies(update-data data_rename download_tocalls download_symbols-new download_symbolsx)
|
||||||
|
|
||||||
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${TOCALLS_TXT}" DESTINATION share/${PROJECT_NAME})
|
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${TOCALLS_TXT}" DESTINATION share/${PROJECT_NAME})
|
||||||
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${SYMBOLS-NEW_TXT}" DESTINATION share/${PROJECT_NAME})
|
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${SYMBOLS-NEW_TXT}" DESTINATION share/${PROJECT_NAME})
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
set(GEOTRANZ_LIBRARIES geotranz CACHE INTERNAL "geotranz")
|
set(GEOTRANZ_LIBRARIES geotranz CACHE INTERNAL "geotranz")
|
||||||
|
|
||||||
set(geotranz_SOURCES
|
list(APPEND geotranz_SOURCES
|
||||||
${geotranz_SOURCES}
|
|
||||||
error_string.c
|
error_string.c
|
||||||
mgrs.c
|
mgrs.c
|
||||||
polarst.c
|
polarst.c
|
||||||
|
@ -13,6 +12,6 @@ set(geotranz_SOURCES
|
||||||
utm.c
|
utm.c
|
||||||
)
|
)
|
||||||
|
|
||||||
ADD_LIBRARY(geotranz STATIC
|
add_library(geotranz STATIC
|
||||||
${geotranz_SOURCES}
|
${geotranz_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -6,19 +6,20 @@ include_directories(
|
||||||
)
|
)
|
||||||
|
|
||||||
if(LINUX)
|
if(LINUX)
|
||||||
set(misc_SOURCES
|
list(APPEND misc_SOURCES
|
||||||
${misc_SOURCES}
|
|
||||||
# Provide our own copy of strlcpy and strlcat
|
# Provide our own copy of strlcpy and strlcat
|
||||||
# because they are not included with Linux.
|
# because they are not included with Linux.
|
||||||
${CUSTOM_MISC_DIR}/strlcpy.c
|
${CUSTOM_MISC_DIR}/strlcpy.c
|
||||||
${CUSTOM_MISC_DIR}/strlcat.c
|
${CUSTOM_MISC_DIR}/strlcat.c
|
||||||
)
|
)
|
||||||
ADD_LIBRARY(misc STATIC
|
|
||||||
|
add_library(misc STATIC
|
||||||
${misc_SOURCES}
|
${misc_SOURCES}
|
||||||
)
|
)
|
||||||
elseif(WIN32) # windows
|
|
||||||
set(misc_SOURCES
|
elseif(WIN32 OR CYGWIN) # windows
|
||||||
${misc_SOURCES}
|
|
||||||
|
list(APPEND misc_SOURCES
|
||||||
# There are several string functions found in Linux
|
# There are several string functions found in Linux
|
||||||
# but not on Windows. Need to provide our own copy.
|
# but not on Windows. Need to provide our own copy.
|
||||||
${CUSTOM_MISC_DIR}/strsep.c
|
${CUSTOM_MISC_DIR}/strsep.c
|
||||||
|
@ -27,10 +28,14 @@ elseif(WIN32) # windows
|
||||||
${CUSTOM_MISC_DIR}/strlcpy.c
|
${CUSTOM_MISC_DIR}/strlcpy.c
|
||||||
${CUSTOM_MISC_DIR}/strlcat.c
|
${CUSTOM_MISC_DIR}/strlcat.c
|
||||||
)
|
)
|
||||||
ADD_LIBRARY(misc STATIC
|
|
||||||
|
add_library(misc STATIC
|
||||||
${misc_SOURCES}
|
${misc_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
|
||||||
# on macOS, OpenBSD and FreeBSD not misc is necessary
|
# on macOS, OpenBSD and FreeBSD not misc is necessary
|
||||||
set(MISC_LIBRARIES "" CACHE INTERNAL "")
|
set(MISC_LIBRARIES "" CACHE INTERNAL "")
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,21 +1,24 @@
|
||||||
set(REGEX_LIBRARIES "" CACHE INTERNAL "")
|
set(REGEX_LIBRARIES "" CACHE INTERNAL "")
|
||||||
|
|
||||||
if(WIN32) # windows
|
if(WIN32 OR CYGWIN) # windows
|
||||||
|
|
||||||
set(REGEX_LIBRARIES regex CACHE INTERNAL "regex")
|
set(REGEX_LIBRARIES regex CACHE INTERNAL "regex")
|
||||||
|
|
||||||
set(regex_SOURCES
|
list(APPEND regex_SOURCES
|
||||||
${regex_SOURCES}
|
|
||||||
# When building for Linux, we use regular expression
|
# When building for Linux, we use regular expression
|
||||||
# functions supplied by the gnu C library.
|
# functions supplied by the gnu C library.
|
||||||
# For the native WIN32 version, we need to use our own copy.
|
# For the native WIN32 version, we need to use our own copy.
|
||||||
# These were copied from http://gnuwin32.sourceforge.net/packages/regex.htm
|
# These were copied from http://gnuwin32.sourceforge.net/packages/regex.htm
|
||||||
# Consider upgrading from https://www.gnu.org/software/libc/sources.html
|
# Consider upgrading from https://www.gnu.org/software/libc/sources.html
|
||||||
#
|
|
||||||
# check if needed: -Dbool=int -Dtrue=1 -Dfalse=0
|
|
||||||
${CUSTOM_REGEX_DIR}/regex.c
|
${CUSTOM_REGEX_DIR}/regex.c
|
||||||
)
|
)
|
||||||
ADD_LIBRARY(regex STATIC
|
|
||||||
|
add_library(regex STATIC
|
||||||
${regex_SOURCES}
|
${regex_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set_target_properties(regex
|
||||||
|
PROPERTIES COMPILE_FLAGS "-Dbool=int -Dtrue=1 -Dfalse=0 -DUSE_REGEX_STATIC"
|
||||||
|
)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT (WIN32 OR CYGWIN))
|
||||||
install(PROGRAMS "${CUSTOM_SCRIPTS_DIR}/dwespeak.sh" DESTINATION bin)
|
install(PROGRAMS "${CUSTOM_SCRIPTS_DIR}/dwespeak.sh" DESTINATION bin)
|
||||||
install(PROGRAMS "${CUSTOM_SCRIPTS_DIR}/dw-start.sh" DESTINATION share/doc/${CMAKE_PROJECT_NAME}/examples)
|
install(PROGRAMS "${CUSTOM_SCRIPTS_DIR}/dw-start.sh" DESTINATION share/doc/${CMAKE_PROJECT_NAME}/examples)
|
||||||
add_subdirectory(telemetry-toolkit)
|
add_subdirectory(telemetry-toolkit)
|
||||||
|
|
|
@ -10,6 +10,12 @@ include_directories(
|
||||||
${CUSTOM_GEOTRANZ_DIR}
|
${CUSTOM_GEOTRANZ_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
include_directories(
|
||||||
|
${CUSTOM_REGEX_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# build gen_fff to create fsk_fast_filter.h
|
# build gen_fff to create fsk_fast_filter.h
|
||||||
# optimization for slow processors
|
# optimization for slow processors
|
||||||
list(APPEND gen_fff_SOURCES
|
list(APPEND gen_fff_SOURCES
|
||||||
|
@ -105,17 +111,21 @@ if(LINUX)
|
||||||
cm108.c
|
cm108.c
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
elseif(WIN32) # windows
|
elseif(WIN32 OR CYGWIN) # windows
|
||||||
list(APPEND direwolf_SOURCES
|
list(APPEND direwolf_SOURCES
|
||||||
audio_win.c
|
audio_win.c
|
||||||
|
|
||||||
# icon
|
# icon
|
||||||
${CMAKE_SOURCE_DIR}/cmake/cpack/direwolf.rc
|
# require plain gcc binary or link
|
||||||
|
#${CMAKE_SOURCE_DIR}/cmake/cpack/direwolf.rc
|
||||||
|
)
|
||||||
|
list(REMOVE_ITEM direwolf_SOURCES
|
||||||
|
dwgpsd.c
|
||||||
|
)
|
||||||
|
else() # macOS freebsd openbsd
|
||||||
|
list(APPEND direwolf_SOURCES
|
||||||
|
audio_portaudio.c
|
||||||
)
|
)
|
||||||
else() # macOS freebsd openbsd
|
|
||||||
list(APPEND direwolf_SOURCES
|
|
||||||
audio_portaudio.c
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(direwolf
|
add_executable(direwolf
|
||||||
|
@ -136,6 +146,13 @@ target_link_libraries(direwolf
|
||||||
${PORTAUDIO_LIBRARIES}
|
${PORTAUDIO_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
set_target_properties(direwolf
|
||||||
|
PROPERTIES COMPILE_FLAGS "-DUSE_REGEX_STATIC"
|
||||||
|
)
|
||||||
|
target_link_libraries(direwolf winmm ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
# decode_aprs
|
# decode_aprs
|
||||||
list(APPEND decode_aprs_SOURCES
|
list(APPEND decode_aprs_SOURCES
|
||||||
decode_aprs.c
|
decode_aprs.c
|
||||||
|
@ -154,6 +171,12 @@ list(APPEND decode_aprs_SOURCES
|
||||||
tt_text.c
|
tt_text.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM decode_aprs_SOURCES
|
||||||
|
dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(decode_aprs
|
add_executable(decode_aprs
|
||||||
${decode_aprs_SOURCES}
|
${decode_aprs_SOURCES}
|
||||||
)
|
)
|
||||||
|
@ -161,11 +184,12 @@ add_executable(decode_aprs
|
||||||
add_dependencies(decode_aprs gen_fff)
|
add_dependencies(decode_aprs gen_fff)
|
||||||
|
|
||||||
set_target_properties(decode_aprs
|
set_target_properties(decode_aprs
|
||||||
PROPERTIES COMPILE_FLAGS "-DDECAMAIN"
|
PROPERTIES COMPILE_FLAGS "-DDECAMAIN -DUSE_REGEX_STATIC"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(decode_aprs
|
target_link_libraries(decode_aprs
|
||||||
${MISC_LIBRARIES}
|
${MISC_LIBRARIES}
|
||||||
|
${REGEX_LIBRARIES}
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
${GPSD_LIBRARIES}
|
${GPSD_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
@ -306,6 +330,12 @@ list(APPEND atest_SOURCES
|
||||||
textcolor.c
|
textcolor.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM atest_SOURCES
|
||||||
|
dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(atest
|
add_executable(atest
|
||||||
${atest_SOURCES}
|
${atest_SOURCES}
|
||||||
)
|
)
|
||||||
|
@ -315,9 +345,16 @@ add_dependencies(atest gen_fff)
|
||||||
target_link_libraries(atest
|
target_link_libraries(atest
|
||||||
${MISC_LIBRARIES}
|
${MISC_LIBRARIES}
|
||||||
${GPSD_LIBRARIES}
|
${GPSD_LIBRARIES}
|
||||||
|
${REGEX_LIBRARIES}
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
set_target_properties(atest
|
||||||
|
PROPERTIES COMPILE_FLAGS "-DUSE_REGEX_STATIC"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Multiple AGWPE network or serial port clients to test TNCs side by side.
|
# Multiple AGWPE network or serial port clients to test TNCs side by side.
|
||||||
# aclients
|
# aclients
|
||||||
|
@ -337,6 +374,10 @@ target_link_libraries(aclients
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(aclients ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Talk to a KISS TNC.
|
# Talk to a KISS TNC.
|
||||||
# Note: kiss_frame.c has conditional compilation on KISSUTIL.
|
# Note: kiss_frame.c has conditional compilation on KISSUTIL.
|
||||||
|
@ -365,6 +406,10 @@ target_link_libraries(kissutil
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(kissutil ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# List USB audio adapters than can use GPIO for PTT.
|
# List USB audio adapters than can use GPIO for PTT.
|
||||||
# cm108
|
# cm108
|
||||||
|
@ -406,6 +451,9 @@ target_link_libraries(ttcalc
|
||||||
${MISC_LIBRARIES}
|
${MISC_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(ttcalc ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
install(TARGETS direwolf DESTINATION bin)
|
install(TARGETS direwolf DESTINATION bin)
|
||||||
install(TARGETS decode_aprs DESTINATION bin)
|
install(TARGETS decode_aprs DESTINATION bin)
|
||||||
|
|
|
@ -59,7 +59,6 @@
|
||||||
#include "mheard.h"
|
#include "mheard.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Save pointers to configuration settings.
|
* Save pointers to configuration settings.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -113,7 +113,6 @@
|
||||||
#define SLEEP_MS(n) usleep((n)*1000)
|
#define SLEEP_MS(n) usleep((n)*1000)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if __WIN32__
|
#if __WIN32__
|
||||||
|
|
||||||
#define PTW32_STATIC_LIB
|
#define PTW32_STATIC_LIB
|
||||||
|
@ -124,7 +123,7 @@
|
||||||
#define _POSIX_C_SOURCE 1
|
#define _POSIX_C_SOURCE 1
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,6 @@ double dtime_now (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------
|
/*------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
* Name: timestamp_now
|
* Name: timestamp_now
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# this is a trick to avoid to more complication
|
# this is a trick to avoid more complication
|
||||||
# because configure_file() is done a configuration time
|
# because configure_file() is done a configuration time
|
||||||
set(CUSTOM_TEST_BINARY_DIR "${CMAKE_BINARY_DIR}/test")
|
set(CUSTOM_TEST_BINARY_DIR "${CMAKE_BINARY_DIR}/test")
|
||||||
set(GEN_PACKETS_BIN "${CMAKE_BINARY_DIR}/src/gen_packets${CMAKE_EXECUTABLE_SUFFIX}")
|
set(GEN_PACKETS_BIN "${CMAKE_BINARY_DIR}/src/gen_packets${CMAKE_EXECUTABLE_SUFFIX}")
|
||||||
|
@ -83,6 +83,12 @@ include_directories(
|
||||||
${CMAKE_BINARY_DIR}/src
|
${CMAKE_BINARY_DIR}/src
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
include_directories(
|
||||||
|
${CUSTOM_REGEX_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Unit test for demodulators
|
# Unit test for demodulators
|
||||||
list(APPEND atest9_SOURCES
|
list(APPEND atest9_SOURCES
|
||||||
|
@ -111,6 +117,12 @@ list(APPEND atest9_SOURCES
|
||||||
${CUSTOM_SRC_DIR}/tt_text.c
|
${CUSTOM_SRC_DIR}/tt_text.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM atest9_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(atest9
|
add_executable(atest9
|
||||||
${atest9_SOURCES}
|
${atest9_SOURCES}
|
||||||
)
|
)
|
||||||
|
@ -119,10 +131,18 @@ add_dependencies(atest9 gen_fff)
|
||||||
|
|
||||||
target_link_libraries(atest9
|
target_link_libraries(atest9
|
||||||
${MISC_LIBRARIES}
|
${MISC_LIBRARIES}
|
||||||
|
${REGEX_LIBRARIES}
|
||||||
${GPSD_LIBRARIES}
|
${GPSD_LIBRARIES}
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
set_target_properties(atest9
|
||||||
|
PROPERTIES COMPILE_FLAGS "-DUSE_REGEX_STATIC"
|
||||||
|
)
|
||||||
|
target_link_libraries(atest9 ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Unit test for inner digipeater algorithm
|
# Unit test for inner digipeater algorithm
|
||||||
list(APPEND dtest_SOURCES
|
list(APPEND dtest_SOURCES
|
||||||
|
@ -144,12 +164,18 @@ list(APPEND dtest_SOURCES
|
||||||
${CUSTOM_SRC_DIR}/tt_text.c
|
${CUSTOM_SRC_DIR}/tt_text.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM dtest_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(dtest
|
add_executable(dtest
|
||||||
${dtest_SOURCES}
|
${dtest_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(dtest
|
set_target_properties(dtest
|
||||||
PROPERTIES COMPILE_FLAGS "-DDIGITEST"
|
PROPERTIES COMPILE_FLAGS "-DDIGITEST -DUSE_REGEX_STATIC"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(dtest
|
target_link_libraries(dtest
|
||||||
|
@ -159,6 +185,10 @@ target_link_libraries(dtest
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(dtest ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Unit test for APRStt tone seqence parsing.
|
# Unit test for APRStt tone seqence parsing.
|
||||||
list(APPEND ttest_SOURCES
|
list(APPEND ttest_SOURCES
|
||||||
|
@ -218,12 +248,18 @@ list(APPEND pftest_SOURCES
|
||||||
${CUSTOM_SRC_DIR}/tt_text.c
|
${CUSTOM_SRC_DIR}/tt_text.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM pftest_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(pftest
|
add_executable(pftest
|
||||||
${pftest_SOURCES}
|
${pftest_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(pftest
|
set_target_properties(pftest
|
||||||
PROPERTIES COMPILE_FLAGS "-DPFTEST"
|
PROPERTIES COMPILE_FLAGS "-DPFTEST -DUSE_REGEX_STATIC"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(pftest
|
target_link_libraries(pftest
|
||||||
|
@ -233,6 +269,9 @@ target_link_libraries(pftest
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(pftest ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Unit test for telemetry decoding.
|
# Unit test for telemetry decoding.
|
||||||
list(APPEND tlmtest_SOURCES
|
list(APPEND tlmtest_SOURCES
|
||||||
|
@ -242,12 +281,18 @@ list(APPEND tlmtest_SOURCES
|
||||||
${CUSTOM_SRC_DIR}/textcolor.c
|
${CUSTOM_SRC_DIR}/textcolor.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM tlmtest_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(tlmtest
|
add_executable(tlmtest
|
||||||
${tlmtest_SOURCES}
|
${tlmtest_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(tlmtest
|
set_target_properties(tlmtest
|
||||||
PROPERTIES COMPILE_FLAGS "-DTEST"
|
PROPERTIES COMPILE_FLAGS "-DTEST -DUSE_REGEX_STATIC"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(tlmtest
|
target_link_libraries(tlmtest
|
||||||
|
@ -255,6 +300,10 @@ target_link_libraries(tlmtest
|
||||||
${REGEX_LIBRARIES}
|
${REGEX_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(tlmtest ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Unit test for location coordinate conversion.
|
# Unit test for location coordinate conversion.
|
||||||
list(APPEND lltest_SOURCES
|
list(APPEND lltest_SOURCES
|
||||||
|
@ -322,7 +371,7 @@ add_executable(pad2test
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(pad2test
|
set_target_properties(pad2test
|
||||||
PROPERTIES COMPILE_FLAGS "-DPAD2TEST"
|
PROPERTIES COMPILE_FLAGS "-DPAD2TEST -DUSE_REGEX_STATIC"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(pad2test
|
target_link_libraries(pad2test
|
||||||
|
@ -330,6 +379,10 @@ target_link_libraries(pad2test
|
||||||
${REGEX_LIBRARIES}
|
${REGEX_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(pad2test ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Unit Test for XID frame encode/decode.
|
# Unit Test for XID frame encode/decode.
|
||||||
list(APPEND xidtest_SOURCES
|
list(APPEND xidtest_SOURCES
|
||||||
|
@ -414,6 +467,12 @@ if(OPTIONAL_TEST)
|
||||||
${CUSTOM_SRC_DIR}/symbols.c
|
${CUSTOM_SRC_DIR}/symbols.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM itest_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(itest
|
add_executable(itest
|
||||||
${itest_SOURCES}
|
${itest_SOURCES}
|
||||||
)
|
)
|
||||||
|
@ -428,6 +487,10 @@ if(OPTIONAL_TEST)
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(itest ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# For demodulator tweaking experiments.
|
# For demodulator tweaking experiments.
|
||||||
list(APPEND testagc_SOURCES
|
list(APPEND testagc_SOURCES
|
||||||
|
@ -456,6 +519,12 @@ if(OPTIONAL_TEST)
|
||||||
${CUSTOM_SRC_DIR}/textcolor.c
|
${CUSTOM_SRC_DIR}/textcolor.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
list(REMOVE_ITEM testagc_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(testagc
|
add_executable(testagc
|
||||||
${testagc_SOURCES}
|
${testagc_SOURCES}
|
||||||
)
|
)
|
||||||
|
@ -468,6 +537,10 @@ if(OPTIONAL_TEST)
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(testagc ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Send GPS location to KISS TNC each second.
|
# Send GPS location to KISS TNC each second.
|
||||||
list(APPEND walk96_SOURCES
|
list(APPEND walk96_SOURCES
|
||||||
|
@ -515,10 +588,13 @@ if(OPTIONAL_TEST)
|
||||||
${CUSTOM_SRC_DIR}/cm108.c
|
${CUSTOM_SRC_DIR}/cm108.c
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
elseif(WIN32) # windows
|
elseif(WIN32 OR CYGWIN) # windows
|
||||||
list(APPEND walk96_SOURCES
|
list(APPEND walk96_SOURCES
|
||||||
${CUSTOM_SRC_DIR}/audio_win.c
|
${CUSTOM_SRC_DIR}/audio_win.c
|
||||||
)
|
)
|
||||||
|
list(REMOVE_ITEM walk96_SOURCES
|
||||||
|
${CUSTOM_SRC_DIR}/dwgpsd.c
|
||||||
|
)
|
||||||
else() # macOS freebsd openbsd
|
else() # macOS freebsd openbsd
|
||||||
list(APPEND walk96_SOURCES
|
list(APPEND walk96_SOURCES
|
||||||
${CUSTOM_SRC_DIR}/audio_portaudio.c
|
${CUSTOM_SRC_DIR}/audio_portaudio.c
|
||||||
|
@ -530,7 +606,7 @@ if(OPTIONAL_TEST)
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(walk96
|
set_target_properties(walk96
|
||||||
PROPERTIES COMPILE_FLAGS "-DWALK96"
|
PROPERTIES COMPILE_FLAGS "-DWALK96 -DUSE_REGEX_STATIC"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(walk96
|
target_link_libraries(walk96
|
||||||
|
@ -544,6 +620,10 @@ if(OPTIONAL_TEST)
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 OR CYGWIN)
|
||||||
|
target_link_libraries(walk96 ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# TODO miss the audio file
|
# TODO miss the audio file
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue