Commit Graph

569 Commits

Author SHA1 Message Date
Jeff 686b13b2f3 fix up cmake lokimq target 2020-09-19 09:50:54 -04:00
Jeff dfd8df5e7f
add uninstall target (#1340)
* add uninstall target

* * redo cmake uninstall
* remove lokinet-vpn python script
* don't install lokinet-vpn twice
2020-09-09 12:06:57 -04:00
Jeff Becker 37e16291cb
working on linux with root 2020-08-24 20:19:48 -04:00
Jeff Becker 9050085165
disable thread safety anonations for freebsd + gtest 2020-07-31 14:26:40 -04:00
Stephen Shelton 73c9ddff52
Begin peer stats infrastructure 2020-07-02 10:12:11 -06:00
Jeff Becker 2737cd6f98
remove FindSodium.cmake and use the cmake incantations from loki-core for setting sodium target up 2020-07-02 11:13:31 -04:00
Jeff Becker c6bd0afe96
move sodium cmake target about so that it is detected earlier 2020-07-02 11:13:31 -04:00
Jeff Becker fc08f92425
move lokimq cmake code 2020-07-02 11:10:06 -04:00
Jeff Becker e13e886df9
fix up event loop crap so that unit tests pass 2020-07-02 11:10:06 -04:00
Jeff Becker f4971a88fd
use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -04:00
Jeff Becker 1175a583d2
initial working code 2020-07-02 11:07:32 -04:00
Stephen Shelton 13b0a4f2fc
WIP: LokidRpcClient 2020-07-02 11:07:32 -04:00
Stephen Shelton ca9214f50f
Add loki-mq as submodule 2020-07-02 11:07:32 -04:00
Jeff Becker 9bfff61d08
initial wack at lokimq 2020-07-02 11:07:32 -04:00
Stephen Shelton fd4b03f896
WIP: LokidRpcClient 2020-07-02 11:07:32 -04:00
Stephen Shelton 0c0deb0656
Add loki-mq as submodule 2020-07-02 11:07:32 -04:00
Jeff Becker ad882d0d70
initial working code 2020-07-02 11:07:31 -04:00
Stephen Shelton 78256e3228
WIP: LokidRpcClient 2020-07-02 11:07:31 -04:00
Stephen Shelton 7bfd8cdbc9
Add loki-mq as submodule 2020-07-02 11:07:31 -04:00
Jeff Becker 0006751d80
initial wack at lokimq 2020-07-02 11:07:31 -04:00
Stephen Shelton 91725a8530
WIP: LokidRpcClient 2020-07-02 11:07:31 -04:00
Stephen Shelton 11951510bf
Remove libabyss and rpc::Caller/rpc::Server 2020-07-02 11:07:30 -04:00
Stephen Shelton c67db46b12
Add loki-mq as submodule 2020-07-02 11:07:30 -04:00
Thomas Winget 9905a2bd4b static build flag for win/mac static builds in drone config 2020-06-16 20:53:36 -04:00
Thomas Winget 0ecdf60777 static build fixes in cmake stuff
I hate cmake so much.
2020-06-16 18:52:20 -04:00
Thomas Winget 32843510bb libunbound can now be built as a static dep 2020-06-15 18:44:59 -04:00
Thomas Winget df284cb757 proper CMake finding and using of libunbound 2020-06-15 18:32:57 -04:00
Thomas Winget 926d306443 add functionality to download and build static libs
The libs with rules already set up in StaticBuild.cmake are dependencies
which will be introduced in following commits.
2020-06-15 16:32:44 -04:00
Rick V adf253e800
picflags differ slightly on native vs wow64 builds 2020-06-12 15:19:10 -05:00
Rick V 45890133bc
LIBUV_ROOT override for win32
emit PIC code (.reloc) on win32 for aslr
2020-06-12 15:18:57 -05:00
Jason Rhinelander d24feacae0 Modernize how we set up ccache
CMAKE_<LANG>_COMPILER_LAUNCHER was added around cmake 3.4 and, usefully,
can be enabled/disabled via cmake invocation flags (unlike the older
RULE_LAUNCH_COMPILE property).
2020-06-10 13:34:02 -03:00
Jeff Becker e9d1a61053
don't recover from sanitizer errors 2020-05-23 16:07:20 -04:00
Jeff Becker 6af498092b
exit traffic via loki addresses 2020-05-23 16:07:19 -04:00
Jason Rhinelander 5b7d194ff1 Merge remote-tracking branch 'origin/master' into dev 2020-05-22 00:45:24 -03:00
Jason Rhinelander 11342b1d9f Remove travis-ci
We don't have much left there that works -- the one useful build (s390x)
errors out with a no available disk space error, so just give up on it.
2020-05-20 20:43:26 -03:00
Jason Rhinelander be9ddf2ae1 Bring back ghc::filesystem for broke AF macos
macOS doesn't provide `<filesystem>` support when targetting anything
earlier than 10.15.
2020-05-20 19:18:27 -03:00
Jason Rhinelander c5faa86926 cmake refactor
Refactors many things in cmake to improve and simplify:

- don't use variable indirection for target names; target names are
*already* a variable of sorts.  (e.g. ${UTIL_LIB} is now just
lokinet-util).  cmake/basic_definitions.cmake is now gone.

- fix LTO enabling to use the standard cmake (3.9+) LTO mechanism rather
than shoving a bunch of flag hacks through link_libraries and
add_compile_options.  This also now enables LTO when building a shared
library (because previously the -flto hacks were only turned on in the
static code for some reason).

- build liblokinet as *either* shared library or static library, but not
both.  Building both makes things more complicated because they had
different names (lokinet-shared or lokinet-static) and seems pointless:
you generally want one or the other.  Now there is just the liblokinet
target, which will be shared or static depending on the value of
BUILD_SHARED_LIBS.

- Simplify lokinet-cryptography AVX2 code: just build *one* library, and
add in the additional AVX2 files when possible, rather than building two
and needing to merge them.

- Compress STATIC_LINK and STATIC_LINK_RUNTIME into just STATIC_LINK.
It makes no sense to use one of these (_RUNTIME) on Windows and the
other on non-Windows when they appear to try to do the same thing.

- remove a bunch of annotations from `endif(FOO)` -> `endif()`.

- move all the tuntap compilation code (including OS-specific source
file selection) into vendor/CMakeLists.txt and build tuntap as an
intermediate OBJECT library rather than keeping a global variable in 5
different files.

- move release motto define to root cmake; it made no sense being
duplicated in both unix.cmake and win32.cmake

- fix add_log_tag to not stomp on any existing source compile flags with
its definition.  Also use proper compile definition property instead of
cramming it into compile flags.

- make optimization/linker flags less hacky.  There's no reason for us
to force particular optimization flags because the cmake build type
already does that (e.g. -DCMAKE_BUILD_TYPE=Release does -O3).  Not doing
that also silences a bunch of cmake warnings because it thinks "-O0 -g3"
etc.  are link libraries (which is reasonable: that's what the code was
telling cmake they are).

- sets the default build type to RelWithDebInfo which gives us `-O2 -g`
if you don't specify a build type.

- Move PIC up (so that the things loaded in unix.cmake, notably libuv,
have it set).

- Add a custom `curl` interface library that carries the correct link
target and include paths for curl (system or bundled).
2020-05-17 23:31:23 -03:00
Jason Rhinelander ab4ee954b9 Remove DEBIAN option
This hasn't been used in a long time; the debian packaging lives in
separate branches instead.
2020-05-17 21:29:05 -03:00
Jason Rhinelander a45bec7c4f Removed RPI definition
This was a long-obsolete fix for things that don't matter anymore.
2020-05-17 21:28:25 -03:00
Jeff Becker 64157d5d44 track libcurl and libuv with cmake, add libuv submodule 2020-05-17 14:53:28 -03:00
Jeff Becker 39b32a9ccc
move check for std::filesystem and std::optional down 2020-05-15 09:43:53 -04:00
Jeff Becker abc1f67430
check for std::optional as macos can be broke af sometimes 2020-05-15 09:40:24 -04:00
Jeff Becker 1072d9b505
detect travis using environmental vars 2020-05-15 09:12:00 -04:00
Jeff Becker a7d616843f
add shitty check for running in travis with workarounds because god is dead and travis-ci fucking sucks. 2020-05-15 09:01:47 -04:00
Jason Rhinelander 1697bf90fe C++17
Compiles with C++17, replaces ghc::filesystem with std::filesystem,
nonstd::optional with std::optional, and llarp::string_view with
std::string_view.
2020-05-01 17:43:27 -03:00
Jeff 0048badcf9
Merge pull request #1241 from jagerman/fix-systemd
No LINUX variable in cmake
2020-04-22 11:43:35 -04:00
Jason Rhinelander 6080a9427b No LINUX variable in cmake
Just let the pkg_check fail when libsystemd isn't install; it shouldn't
hurt anything.
2020-04-22 12:02:05 -03:00
Jason Rhinelander d8858361f4 No LINUX variable in cmake
Just let the pkg_check fail when libsystemd isn't install; it shouldn't
hurt anything.
2020-04-22 12:00:09 -03:00
Jason Rhinelander 3048ccf3f8 Set -mmacosx-version-min the cmake way 2020-04-21 20:01:24 -03:00
Jason Rhinelander 053a5cb180 Set -mmacosx-version-min the cmake way 2020-04-21 20:00:37 -03:00