mirror of https://github.com/oxen-io/lokinet
cpack win32
This commit is contained in:
parent
8c84eac718
commit
7406dbc964
|
@ -8,6 +8,15 @@ endif()
|
|||
set(PROJECT_NAME lokinet)
|
||||
project(${PROJECT_NAME} C CXX)
|
||||
|
||||
set(LLARP_VERSION_MAJOR 0)
|
||||
set(LLARP_VERSION_MINOR 6)
|
||||
set(LLARP_VERSION_PATCH 2)
|
||||
|
||||
add_definitions(-DLLARP_VERSION_MAJOR=${LLARP_VERSION_MAJOR})
|
||||
add_definitions(-DLLARP_VERSION_MINOR=${LLARP_VERSION_MINOR})
|
||||
add_definitions(-DLLARP_VERSION_PATCH=${LLARP_VERSION_PATCH})
|
||||
|
||||
|
||||
# Core options
|
||||
option(USE_AVX2 "enable avx2 code" OFF)
|
||||
option(USE_NETNS "enable networking namespace support. Linux only" OFF)
|
||||
|
@ -298,3 +307,5 @@ if (NOT SHADOW)
|
|||
add_subdirectory(jni)
|
||||
endif(ANDROID)
|
||||
endif()
|
||||
|
||||
include(cmake/installer.cmake)
|
||||
|
|
4
Makefile
4
Makefile
|
@ -279,11 +279,11 @@ windows-debug: windows-debug-configure
|
|||
|
||||
windows-release-configure: $(LIBUV_PREFIX)
|
||||
mkdir -p '$(BUILD_ROOT)'
|
||||
$(CONFIG_CMD_WINDOWS) -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE='$(REPO)/contrib/cross/mingw.cmake' -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_ASM_FLAGS='$(ASFLAGS)' -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)' -DLIBUV_ROOT=$(LIBUV_PREFIX)
|
||||
$(CONFIG_CMD_WINDOWS) -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE='$(REPO)/contrib/cross/mingw.cmake' -DCMAKE_ASM_FLAGS='$(ASFLAGS)' -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)' -DLIBUV_ROOT=$(LIBUV_PREFIX) -DWITH_TESTS=OFF
|
||||
|
||||
windows-release: windows-release-configure
|
||||
$(MAKE) -C '$(BUILD_ROOT)'
|
||||
cp '$(BUILD_ROOT)/daemon/lokinet.exe' '$(REPO)/lokinet.exe'
|
||||
cd '$(BUILD_ROOT)' && cpack -D CPACK_MONOLITHIC_INSTALL=1 -G NSIS ..
|
||||
|
||||
windows: windows-debug
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
set(CPACK_PACKAGE_NAME "lokinet")
|
||||
set(CPACK_PACKAGE_VENDOR "lokinet.org")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "lokinet - onion router thingydoo")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "${LLARP_VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${LLARP_VERSION_MINOR}")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "${LLARP_VERSION_PATCH}")
|
||||
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "lokinet")
|
||||
|
||||
# This must always be last!
|
||||
include(CPack)
|
|
@ -31,7 +31,7 @@ else()
|
|||
install(TARGETS ${EXE} RUNTIME DESTINATION bin)
|
||||
install(TARGETS ${CTL} RUNTIME DESTINATION bin)
|
||||
if(WIN32)
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/win32-setup/lokinet-bootstrap.exe DESTINATION bin)
|
||||
# install(PROGRAMS ${CMAKE_SOURCE_DIR}/win32-setup/lokinet-bootstrap.exe DESTINATION bin)
|
||||
else()
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/lokinet-bootstrap DESTINATION bin)
|
||||
endif()
|
||||
|
|
|
@ -6,11 +6,15 @@
|
|||
#define LLARP_STRINGIFY2(val) #val
|
||||
#define LLARP_STRINGIFY(val) LLARP_STRINGIFY2(val)
|
||||
|
||||
#define LLARP_VERSION_STR LLARP_STRINGIFY(LLARP_VERSION_MAJ) "." LLARP_STRINGIFY(LLARP_VERSION_MIN) "." LLARP_STRINGIFY(LLARP_VERSION_PATCH)
|
||||
#define LLARP_VERSION_STR \
|
||||
LLARP_STRINGIFY(LLARP_VERSION_MAJOR) \
|
||||
"." LLARP_STRINGIFY(LLARP_VERSION_MINOR) "." LLARP_STRINGIFY( \
|
||||
LLARP_VERSION_PATCH)
|
||||
#define LLARP_VERSION_FULL LLARP_VERSION_STR "-@VERSIONTAG@"
|
||||
|
||||
namespace llarp
|
||||
{
|
||||
// clang-format off
|
||||
const std::array<uint16_t, 3> VERSION{{LLARP_VERSION_MAJ, LLARP_VERSION_MIN, LLARP_VERSION_PATCH}};
|
||||
const std::array<uint64_t, 4> ROUTER_VERSION{{LLARP_PROTO_VERSION, LLARP_VERSION_MAJ, LLARP_VERSION_MIN, LLARP_VERSION_PATCH}};
|
||||
const char* const VERSION_STR = LLARP_VERSION_STR;
|
||||
|
@ -19,4 +23,5 @@ namespace llarp
|
|||
|
||||
const char* const RELEASE_MOTTO = LLARP_RELEASE_MOTTO;
|
||||
const char* const DEFAULT_NETID = LLARP_DEFAULT_NETID;
|
||||
}
|
||||
// clang-format on
|
||||
} // namespace llarp
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
|
||||
#if defined(_WIN32) && defined(RC_INVOKED)
|
||||
#define LLARP_VERSION \
|
||||
LLARP_VERSION_MAJ, LLARP_VERSION_MIN, LLARP_VERSION_PATCH, 0
|
||||
LLARP_VERSION_MAJOR, LLARP_VERSION_MINOR, LLARP_VERSION_PATCH, 0
|
||||
|
||||
#define MAKE_TRIPLET(X, Y, Z) TRIPLET_CAT(X, ., Y, ., Z)
|
||||
#define TRIPLET_CAT(X, D1, Y, D2, Z) X##D1##Y##D2##Z
|
||||
|
||||
#define LLARP_VERSION_TRIPLET \
|
||||
MAKE_TRIPLET(LLARP_VERSION_MAJ, LLARP_VERSION_MIN, LLARP_VERSION_PATCH)
|
||||
MAKE_TRIPLET(LLARP_VERSION_MAJOR, LLARP_VERSION_MINOR, LLARP_VERSION_PATCH)
|
||||
|
||||
#endif
|
||||
|
|
32
readme.md
32
readme.md
|
@ -119,25 +119,27 @@ install:
|
|||
|
||||
### Windows
|
||||
|
||||
build (where `$ARCH` is your platform - `i686` or `x86_64`):
|
||||
windows builds are cross compiled from ubuntu linux
|
||||
|
||||
$ pacman -Sy base-devel mingw-w64-$ARCH-toolchain git libtool autoconf mingw-w64-$ARCH-cmake
|
||||
$ git clone https://github.com/loki-project/loki-network.git
|
||||
$ cd loki-network
|
||||
$ mkdir -p build; cd build
|
||||
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug|Release] -DSTATIC_LINK_RUNTIME=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G 'Unix Makefiles'
|
||||
build requirements:
|
||||
|
||||
install (elevated) to `$PROGRAMFILES/lokinet` or `$ProgramFiles(x86)/lokinet`:
|
||||
* GNU Make
|
||||
* CMake
|
||||
* C++ 14 capable C++ compiler
|
||||
* gcovr (if generating test coverage with gcc)
|
||||
* libuv >= 1.27.0
|
||||
* libsodium >= 1.0.17
|
||||
* libcurl
|
||||
* nsis
|
||||
* cpack
|
||||
|
||||
$ make install
|
||||
setup:
|
||||
|
||||
$ sudo apt install build-essential cmake git pkg-config mingw-w64 nsis
|
||||
|
||||
building:
|
||||
|
||||
if cross-compiling, install mingw-w64 from your distro's package manager, or [build from source](https://sourceforge.net/p/mingw-w64/wiki2/Cross%20Win32%20and%20Win64%20compiler/), then:
|
||||
|
||||
$ mkdir -p build; cd build
|
||||
$ export COMPILER=clang # if using clang for windows
|
||||
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug|Release] -DSTATIC_LINK_RUNTIME=ON -DCMAKE_CROSSCOMPILING=ON -DCMAKE_TOOLCHAIN_FILE=../contrib/cross/mingw[32].cmake
|
||||
|
||||
this will create a static binary that can be installed anywhere, with no other dependency other than libc (minimum v6.1)
|
||||
$ make windows-release DOWNLOAD_SODIUM=ON STATIC_LINK=ON
|
||||
|
||||
### Solaris 2.10+
|
||||
|
||||
|
|
Loading…
Reference in New Issue