Commit Graph

11 Commits

Author SHA1 Message Date
Brett T. Warden 760447b6e2 Fix cmake error on external misc library
For Linux builds, if strlcpt and strlcat are already provided, cmake is
given an empty list of sources to build for the "misc" library. Newer
versions of cmake throw an error for this. In this case, we should just
avoid building the library.

Failure pattern:
CMake Error at external/misc/CMakeLists.txt:35 (add_library):
  No SOURCES given to target: misc
CMake Generate step failed.  Build files cannot be regenerated correctly.

Fixes #319
2023-08-14 09:05:00 -07:00
wb2osz e53fa0c110 Fix Windows 11 build. 2023-05-14 23:33:06 +01:00
wb2osz 8619b74c7b Pull request 353 - Fix spelling errors. 2021-09-29 18:28:17 -04:00
Daniele Forsi 6bfd22811c Fix errors in comments
Errors found with codespell.
2021-09-19 21:25:00 +02:00
wb2osz 44df4a7612 Issue 325 - When building regex for Windows, don't repeatedly define the global variable re_syntax_options. 2021-04-10 20:00:47 -04:00
wb2osz 04b32c41c2 Limited support for CM108/CM119 GPIO support on Windows. 2021-02-07 16:28:26 -05:00
wb2osz 1d67b44669 Issue 150 - Check whether platform provides strlcpy & strlcat
or if we need to provide our own.
2020-12-30 22:32:09 -05:00
wb2osz d5cec4dc84 Fix compiler warnings for platforms where size of long is different than size of pointer. 2019-11-30 20:20:13 -05:00
Davide Gerhard 8cd1f87ef6
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
2019-11-09 08:31:35 +01:00
Davide Gerhard a1c16a67ef
cmake: new build tool
this step unify the builing system for all platforms (windows, linux,
osx and *BSD)

* Requirements:

  - gcc/clang (C/C++ compiler) (in debian build-essential)
  - cmake (in debian cmake)
  - git if you build from source (in debian git)
  - posix threads

** Requirements on *BSD/macOS:

  - portaudio

** Optional Requirements:

  - gpsd (in debian libgps-dev)
  - libhamlib (in debian libhamlib-dev)

** Optional Requirements in Linux

  - udev (in debian libudev-dev)
  - alsa (in debian libasound2-dev)

* Main changes:

  - version is now set only on CMakeLists.txt and automatically used
    on the code
  - cpu flags are auto-discovered in the default build and it works
    on gcc/clang/msvc on x86/x86_64/arm; you can force cpu flags with
    -DFORCE_SSE=1 for example (see CMakeLists.txt on root)
  - use a more "complex" tag on generic.conf to facilitate parsing
    by cmake (not more platform dependent). Now it is %C% or %R% for
    example
  - target `tocalls-symbols` is now called `data-update`
  - created debian/ directory to contains files to use debuild

* Example to build:

mkdir build && cd build
cmake ..
make
make install
make install-conf

then you have the binary files on src/ and in the system directory

* CMake options (see the head of CMakeLists.txt)

  - FORCE_SSE force sse instruction
  - FORCE_SSSE3 force ssse3 instruction
  - FORCE_SSE41 force ssse4.1 instruction
  - OPTIONAL_TEST compile optional test (might be broken)
  - BUILD_TESTING enable tests (ctest framework)
  - CMAKE_INSTALL_PREFIX if you want to change your install path
    prefix

for example:

  cmake .. -DOPTIONAL_TEST=ON
2019-11-09 08:26:33 +01:00
Davide Gerhard 05828dc65f
reshape the repository moving objects to folders based on subject 2019-11-09 08:26:01 +01:00