aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-10-01 10:02:15 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2016-10-01 10:02:15 +0200
commit7e30f35cfc42ac3983dfa281d554df9aa9485a99 (patch)
tree5b11a3e14a2a60cdb80db1fca1d0d3f850f97bac
parent37effc3e136c73afd4d6ba37d23a91766795d0f7 (diff)
downloadcmix-7e30f35cfc42ac3983dfa281d554df9aa9485a99.tar.gz
cmix-7e30f35cfc42ac3983dfa281d554df9aa9485a99.tar.bz2
cmix-7e30f35cfc42ac3983dfa281d554df9aa9485a99.zip
Fixes the build for mxe-cross-builds, and if building shared libraries.
-rw-r--r--CMakeModules/gmpConfig.cmake14
-rw-r--r--CMakeModules/sodiumConfig.cmake6
-rw-r--r--libcmix-crypto/CMakeLists.txt2
-rw-r--r--libcmix-crypto/curve25519/CMakeLists.txt1
-rw-r--r--libcmix-crypto/curve25519/null/CMakeLists.txt1
-rw-r--r--libcmix-crypto/curve25519/sodium/CMakeLists.txt1
-rw-r--r--libcmix-crypto/elgamal/CMakeLists.txt3
-rw-r--r--libcmix-crypto/elgamal/null/CMakeLists.txt1
-rw-r--r--libcmix-crypto/elgamal/null/null_elgamal.c25
-rw-r--r--libcmix-network/CMakeLists.txt12
-rw-r--r--liblog/CMakeLists.txt2
-rw-r--r--node/CMakeLists.txt13
-rw-r--r--node/node.cpp2
13 files changed, 65 insertions, 18 deletions
diff --git a/CMakeModules/gmpConfig.cmake b/CMakeModules/gmpConfig.cmake
index a6e6682..f810a3f 100644
--- a/CMakeModules/gmpConfig.cmake
+++ b/CMakeModules/gmpConfig.cmake
@@ -1,13 +1,19 @@
+
add_library(gmp UNKNOWN IMPORTED)
find_library(gmp_LIBRARY NAMES "gmp")
+find_path(gmp_INCLUDE_DIR NAMES "gmp.h")
+
+find_package_handle_standard_args(gmp DEFAULT_MSG gmp_LIBRARY gmp_INCLUDE_DIR)
+
+set_property(TARGET gmp PROPERTY INCLUDE_DIRECTORIES ${gmp_INCLUDE_DIR})
set_property(TARGET gmp PROPERTY IMPORTED_LOCATION "${gmp_LIBRARY}")
add_library(gmpxx UNKNOWN IMPORTED)
find_library(gmpxx_LIBRARY NAMES "gmpxx")
-set_property(TARGET gmpxx PROPERTY IMPORTED_LOCATION "${gmpxx_LIBRARY}")
+find_path(gmpxx_INCLUDE_DIR NAMES "gmpxx.h")
-find_path(gmp_INCLUDE_DIR NAMES "gmp.h")
-set_property(TARGET gmp PROPERTY INCLUDE_DIRECTORIES ${gmp_INCLUDE_DIR})
+find_package_handle_standard_args(gmpxx DEFAULT_MSG gmpxx_LIBRARY gmpxx_INCLUDE_DIR)
-find_path(gmpxx_INCLUDE_DIR NAMES "gmpxx.h")
+set_property(TARGET gmpxx PROPERTY IMPORTED_LOCATION "${gmpxx_LIBRARY}")
set_property(TARGET gmpxx PROPERTY INCLUDE_DIRECTORIES ${gmpxx_INCLUDE_DIR})
+
diff --git a/CMakeModules/sodiumConfig.cmake b/CMakeModules/sodiumConfig.cmake
index f1c0760..4ddcbac 100644
--- a/CMakeModules/sodiumConfig.cmake
+++ b/CMakeModules/sodiumConfig.cmake
@@ -2,9 +2,9 @@
add_library(sodium UNKNOWN IMPORTED)
find_library(sodium_LIBRARY NAMES "sodium")
-
-set_property(TARGET sodium PROPERTY IMPORTED_LOCATION "${sodium_LIBRARY}")
-
find_path(sodium_INCLUDE_DIR NAMES "sodium.h")
+find_package_handle_standard_args(sodium DEFAULT_MSG sodium_LIBRARY sodium_INCLUDE_DIR)
+
+set_property(TARGET sodium PROPERTY IMPORTED_LOCATION "${sodium_LIBRARY}")
set_property(TARGET sodium PROPERTY INCLUDE_DIRECTORIES ${sodium_INCLUDE_DIR})
diff --git a/libcmix-crypto/CMakeLists.txt b/libcmix-crypto/CMakeLists.txt
index dea1196..0986024 100644
--- a/libcmix-crypto/CMakeLists.txt
+++ b/libcmix-crypto/CMakeLists.txt
@@ -37,4 +37,4 @@ option(UseEC "Use curve25519 instead of RSA" ON)
target_link_libraries(cmix-crypto
INTERFACE curve25519-implementation
INTERFACE elgamal-implementation
-)
+) \ No newline at end of file
diff --git a/libcmix-crypto/curve25519/CMakeLists.txt b/libcmix-crypto/curve25519/CMakeLists.txt
index ba79d87..afcc1b4 100644
--- a/libcmix-crypto/curve25519/CMakeLists.txt
+++ b/libcmix-crypto/curve25519/CMakeLists.txt
@@ -26,6 +26,7 @@ target_include_directories(curve25519-implementation
)
target_link_libraries(curve25519-implementation
+ PUBLIC curve25519-interface
PUBLIC curve25519-${curve25519_implementation}
)
diff --git a/libcmix-crypto/curve25519/null/CMakeLists.txt b/libcmix-crypto/curve25519/null/CMakeLists.txt
index 12264db..e5cefdd 100644
--- a/libcmix-crypto/curve25519/null/CMakeLists.txt
+++ b/libcmix-crypto/curve25519/null/CMakeLists.txt
@@ -11,6 +11,5 @@ target_compile_options(${target_name}
)
target_link_libraries(${target_name}
- INTERFACE cmix-crypto
PRIVATE curve25519-interface
)
diff --git a/libcmix-crypto/curve25519/sodium/CMakeLists.txt b/libcmix-crypto/curve25519/sodium/CMakeLists.txt
index 7679a88..78561ce 100644
--- a/libcmix-crypto/curve25519/sodium/CMakeLists.txt
+++ b/libcmix-crypto/curve25519/sodium/CMakeLists.txt
@@ -13,7 +13,6 @@ target_compile_options(${target_name}
)
target_link_libraries(${target_name}
- INTERFACE cmix-crypto
PRIVATE curve25519-interface
PUBLIC sodium
)
diff --git a/libcmix-crypto/elgamal/CMakeLists.txt b/libcmix-crypto/elgamal/CMakeLists.txt
index 88f5ba8..b92e5ae 100644
--- a/libcmix-crypto/elgamal/CMakeLists.txt
+++ b/libcmix-crypto/elgamal/CMakeLists.txt
@@ -25,5 +25,6 @@ target_include_directories(elgamal-implementation
)
target_link_libraries(elgamal-implementation
+ PUBLIC elgamal-interface
PUBLIC elgamal-${elgamal_implementation}
-)
+)
diff --git a/libcmix-crypto/elgamal/null/CMakeLists.txt b/libcmix-crypto/elgamal/null/CMakeLists.txt
index 39db0f0..76cd77c 100644
--- a/libcmix-crypto/elgamal/null/CMakeLists.txt
+++ b/libcmix-crypto/elgamal/null/CMakeLists.txt
@@ -11,6 +11,5 @@ target_compile_options(${target_name}
)
target_link_libraries(${target_name}
- INTERFACE cmix-crypto
PRIVATE elgamal-interface
)
diff --git a/libcmix-crypto/elgamal/null/null_elgamal.c b/libcmix-crypto/elgamal/null/null_elgamal.c
index e69de29..ef98912 100644
--- a/libcmix-crypto/elgamal/null/null_elgamal.c
+++ b/libcmix-crypto/elgamal/null/null_elgamal.c
@@ -0,0 +1,25 @@
+
+#include "api.h"
+
+#include <stddef.h>
+#include <stdbool.h>
+
+void elgamal_keypair_deleter(struct KeyPair p) {}
+
+struct KeyPair elgamal_create_keypair() {
+ return (struct KeyPair){
+ NULL,
+ NULL,
+ 0,
+ 0
+ };
+}
+
+void elgamal_shared_key_deleter(struct SharedKey s) {}
+
+struct SharedKey elgamal_derive_shared_key(struct KeyPair pair, unsigned char* pub_key, bool swap_pub_order) {
+ return (struct SharedKey){
+ NULL,
+ 0
+ };
+}
diff --git a/libcmix-network/CMakeLists.txt b/libcmix-network/CMakeLists.txt
index 1420d69..5891254 100644
--- a/libcmix-network/CMakeLists.txt
+++ b/libcmix-network/CMakeLists.txt
@@ -24,15 +24,23 @@ target_include_directories(cmix-network
target_link_libraries(cmix-network
PRIVATE Boost::boost
PUBLIC Boost::system
- PUBLIC OpenSSL::SSL
PUBLIC ${CMAKE_THREAD_LIBS_INIT}
PRIVATE cmix
PRIVATE log
)
if(WIN32)
+ target_include_directories(cmix-network
+ PUBLIC ${OPENSSL_INCLUDE_DIRS}
+ )
+
target_link_libraries(cmix-network
PUBLIC wsock32
PUBLIC ws2_32
+ PUBLIC ${OPENSSL_LIBRARIES}
+ )
+else(WIN32)
+ target_link_libraries(cmix-network
+ PUBLIC OpenSSL::SSL
)
-endif()
+endif(WIN32)
diff --git a/liblog/CMakeLists.txt b/liblog/CMakeLists.txt
index cb4ce84..3ecce93 100644
--- a/liblog/CMakeLists.txt
+++ b/liblog/CMakeLists.txt
@@ -18,7 +18,7 @@ target_compile_options(log
)
target_link_libraries(log
- PRIVATE Boost::log
PRIVATE Boost::system
+ PUBLIC Boost::log
PUBLIC ${CMAKE_THREAD_LIBS_INIT}
) \ No newline at end of file
diff --git a/node/CMakeLists.txt b/node/CMakeLists.txt
index adbedb1..6fe0ef7 100644
--- a/node/CMakeLists.txt
+++ b/node/CMakeLists.txt
@@ -8,9 +8,16 @@ add_executable(node
nextnode.hpp nextnode.cpp
)
-target_compile_options(node
- PRIVATE "-std=c++11"
-)
+if(WIN32)
+ target_compile_options(node
+ PRIVATE "-std=gnu++11"
+ )
+else(WIN32)
+ target_compile_options(node
+ PRIVATE "-std=c++11"
+ )
+endif(WIN32)
+
target_link_libraries(node
PRIVATE Boost::boost
diff --git a/node/node.cpp b/node/node.cpp
index 92c51ec..b8416e1 100644
--- a/node/node.cpp
+++ b/node/node.cpp
@@ -18,6 +18,8 @@ Node::Node(ListenSettings const& listen_settings, NodeNetworkSettings network_se
, keypair(api.create_key_pair())
, network_pub_key()
{
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
auto on_connect = [this, network_settings](){
BOOST_LOG_TRIVIAL(trace) << "is first: " << std::boolalpha << network_settings.is_first;
if(network_settings.is_first) {