aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-11-15 16:37:07 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-11-16 12:10:29 +0000
commit51895fd7df69ddb5d6bfe5c2caf2f6649cc43132 (patch)
tree9e53dd9dcd37163567037774855f82ff114a185e /src
parentMerge pull request #2818 (diff)
downloadmonero-51895fd7df69ddb5d6bfe5c2caf2f6649cc43132.tar.xz
split wallet and wallet_api
This speeds up building a lot when wallet2.h (or something it includes) changes, since all the API includes wallet2.h
Diffstat (limited to '')
-rw-r--r--src/wallet/CMakeLists.txt33
-rw-r--r--src/wallet/api/CMakeLists.txt89
-rw-r--r--src/wallet/api/address_book.h2
-rw-r--r--src/wallet/api/pending_transaction.h2
-rw-r--r--src/wallet/api/subaddress.h2
-rw-r--r--src/wallet/api/subaddress_account.h2
-rw-r--r--src/wallet/api/transaction_history.h2
-rw-r--r--src/wallet/api/transaction_info.h2
-rw-r--r--src/wallet/api/unsigned_transaction.h2
-rw-r--r--src/wallet/api/wallet.h2
-rw-r--r--src/wallet/api/wallet2_api.h (renamed from src/wallet/wallet2_api.h)0
-rw-r--r--src/wallet/api/wallet_manager.h2
-rw-r--r--src/wallet/wallet2.cpp1
13 files changed, 102 insertions, 39 deletions
diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt
index e5c79a447..74992139d 100644
--- a/src/wallet/CMakeLists.txt
+++ b/src/wallet/CMakeLists.txt
@@ -33,21 +33,7 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(wallet_sources
wallet2.cpp
wallet_args.cpp
- node_rpc_proxy.cpp
- api/wallet.cpp
- api/wallet_manager.cpp
- api/transaction_info.cpp
- api/transaction_history.cpp
- api/pending_transaction.cpp
- api/utils.cpp
- api/address_book.cpp
- api/subaddress.cpp
- api/subaddress_account.cpp
- api/unsigned_transaction.cpp)
-
-set(wallet_api_headers
- wallet2_api.h)
-
+ node_rpc_proxy.cpp)
set(wallet_private_headers
wallet2.h
@@ -56,23 +42,12 @@ set(wallet_private_headers
wallet_rpc_server.h
wallet_rpc_server_commands_defs.h
wallet_rpc_server_error_codes.h
- node_rpc_proxy.h
- api/wallet.h
- api/wallet_manager.h
- api/transaction_info.h
- api/transaction_history.h
- api/pending_transaction.h
- api/common_defines.h
- api/address_book.h
- api/subaddress.h
- api/subaddress_account.h
- api/unsigned_transaction.h)
+ node_rpc_proxy.h)
monero_private_headers(wallet
${wallet_private_headers})
monero_add_library(wallet
${wallet_sources}
- ${wallet_api_headers}
${wallet_private_headers})
target_link_libraries(wallet
PUBLIC
@@ -127,6 +102,7 @@ install(TARGETS wallet_rpc_server DESTINATION bin)
# build and install libwallet_merged only if we building for GUI
if (BUILD_GUI_DEPS)
set(libs_to_merge
+ wallet_api
wallet
cryptonote_core
cryptonote_basic
@@ -149,6 +125,5 @@ if (BUILD_GUI_DEPS)
install(TARGETS wallet_merged
ARCHIVE DESTINATION ${lib_folder})
- install(FILES ${wallet_api_headers}
- DESTINATION include/wallet)
+ add_subdirectory(api)
endif()
diff --git a/src/wallet/api/CMakeLists.txt b/src/wallet/api/CMakeLists.txt
new file mode 100644
index 000000000..26127b75c
--- /dev/null
+++ b/src/wallet/api/CMakeLists.txt
@@ -0,0 +1,89 @@
+# Copyright (c) 2014-2017, The Monero Project
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this list of
+# conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice, this list
+# of conditions and the following disclaimer in the documentation and/or other
+# materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its contributors may be
+# used to endorse or promote products derived from this software without specific
+# prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# include (${PROJECT_SOURCE_DIR}/cmake/libutils.cmake)
+
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+
+set(wallet_api_sources
+ wallet.cpp
+ wallet_manager.cpp
+ transaction_info.cpp
+ transaction_history.cpp
+ pending_transaction.cpp
+ utils.cpp
+ address_book.cpp
+ subaddress.cpp
+ subaddress_account.cpp
+ unsigned_transaction.cpp)
+
+set(wallet_api_headers
+ wallet2_api.h)
+
+set(wallet_api_private_headers
+ wallet.h
+ wallet_manager.h
+ transaction_info.h
+ transaction_history.h
+ pending_transaction.h
+ common_defines.h
+ address_book.h
+ subaddress.h
+ subaddress_account.h
+ unsigned_transaction.h)
+
+monero_private_headers(wallet_api
+ ${wallet_api_private_headers})
+monero_add_library(wallet_api
+ ${wallet_api_sources}
+ ${wallet_api_headers}
+ ${wallet_api_private_headers})
+target_link_libraries(wallet_api
+ PUBLIC
+ wallet
+ common
+ cryptonote_core
+ mnemonics
+ ${Boost_CHRONO_LIBRARY}
+ ${Boost_SERIALIZATION_LIBRARY}
+ ${Boost_FILESYSTEM_LIBRARY}
+ ${Boost_SYSTEM_LIBRARY}
+ ${Boost_THREAD_LIBRARY}
+ ${Boost_REGEX_LIBRARY}
+ PRIVATE
+ ${EXTRA_LIBRARIES})
+
+
+if(IOS)
+ set(lib_folder lib-${ARCH})
+else()
+ set(lib_folder lib)
+endif()
+
+install(FILES ${wallet_api_headers}
+ DESTINATION include/wallet)
diff --git a/src/wallet/api/address_book.h b/src/wallet/api/address_book.h
index 25f59128b..b92743fe6 100644
--- a/src/wallet/api/address_book.h
+++ b/src/wallet/api/address_book.h
@@ -28,7 +28,7 @@
//
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include "wallet/wallet2.h"
namespace Monero {
diff --git a/src/wallet/api/pending_transaction.h b/src/wallet/api/pending_transaction.h
index e5b33ac01..c98da59da 100644
--- a/src/wallet/api/pending_transaction.h
+++ b/src/wallet/api/pending_transaction.h
@@ -28,7 +28,7 @@
//
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include "wallet/wallet2.h"
#include <string>
diff --git a/src/wallet/api/subaddress.h b/src/wallet/api/subaddress.h
index e3e28eba1..45fef6e67 100644
--- a/src/wallet/api/subaddress.h
+++ b/src/wallet/api/subaddress.h
@@ -26,7 +26,7 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include "wallet/wallet2.h"
namespace Monero {
diff --git a/src/wallet/api/subaddress_account.h b/src/wallet/api/subaddress_account.h
index 107d7f87f..0a4db9671 100644
--- a/src/wallet/api/subaddress_account.h
+++ b/src/wallet/api/subaddress_account.h
@@ -26,7 +26,7 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include "wallet/wallet2.h"
namespace Monero {
diff --git a/src/wallet/api/transaction_history.h b/src/wallet/api/transaction_history.h
index 4987bdab2..e5207e53a 100644
--- a/src/wallet/api/transaction_history.h
+++ b/src/wallet/api/transaction_history.h
@@ -28,7 +28,7 @@
//
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include <boost/thread/shared_mutex.hpp>
namespace Monero {
diff --git a/src/wallet/api/transaction_info.h b/src/wallet/api/transaction_info.h
index d19ef8899..c961c0a9e 100644
--- a/src/wallet/api/transaction_info.h
+++ b/src/wallet/api/transaction_info.h
@@ -28,7 +28,7 @@
//
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include <string>
#include <ctime>
diff --git a/src/wallet/api/unsigned_transaction.h b/src/wallet/api/unsigned_transaction.h
index 9c442f503..33c994d5f 100644
--- a/src/wallet/api/unsigned_transaction.h
+++ b/src/wallet/api/unsigned_transaction.h
@@ -28,7 +28,7 @@
//
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include "wallet/wallet2.h"
#include <string>
diff --git a/src/wallet/api/wallet.h b/src/wallet/api/wallet.h
index 051eda3ba..c44fe2d13 100644
--- a/src/wallet/api/wallet.h
+++ b/src/wallet/api/wallet.h
@@ -31,7 +31,7 @@
#ifndef WALLET_IMPL_H
#define WALLET_IMPL_H
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include "wallet/wallet2.h"
#include <string>
diff --git a/src/wallet/wallet2_api.h b/src/wallet/api/wallet2_api.h
index 432c820cb..432c820cb 100644
--- a/src/wallet/wallet2_api.h
+++ b/src/wallet/api/wallet2_api.h
diff --git a/src/wallet/api/wallet_manager.h b/src/wallet/api/wallet_manager.h
index 8455f0f16..268adfc9f 100644
--- a/src/wallet/api/wallet_manager.h
+++ b/src/wallet/api/wallet_manager.h
@@ -29,7 +29,7 @@
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
-#include "wallet/wallet2_api.h"
+#include "wallet/api/wallet2_api.h"
#include <string>
namespace Monero {
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 00b096b88..2695cfd95 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -39,7 +39,6 @@ using namespace epee;
#include "cryptonote_config.h"
#include "wallet2.h"
-#include "wallet2_api.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "rpc/core_rpc_server_commands_defs.h"
#include "misc_language.h"