Skip to content

Commit e8255aa

Browse files
committed
CMake: Add install step for libraries
1 parent 930b218 commit e8255aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+125
-82
lines changed

CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ option(TSAN "Enable thread sanitizer" OFF)
5151
option(UBSAN "Enable UB sanitizer" OFF)
5252

5353
include(CheckCXXCompilerFlag)
54+
include(cmake/install.cmake)
55+
include(cmake/filecoin_functions.cmake)
5456
include(cmake/toolchain-util.cmake)
5557
include(cmake/dependencies.cmake)
5658
include(cmake/functions.cmake)

cmake/filecoin_functions.cmake

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#
2+
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
6+
include(GNUInstallDirs)
7+
8+
function(filecoin_add_library target)
9+
add_library(${target}
10+
${ARGN}
11+
)
12+
filecoin_install(${target})
13+
endfunction()

cmake/install.cmake

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#
2+
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
6+
include(GNUInstallDirs)
7+
8+
function (filecoin_install targets)
9+
install(TARGETS ${targets} EXPORT filecoinConfig
10+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
11+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
12+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
13+
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
14+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
15+
FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
16+
)
17+
endfunction()
18+
19+
install(
20+
EXPORT filecoinConfig
21+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/filecoin
22+
NAMESPACE filecoin::
23+
)

core/adt/CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ add_custom_target(filecoin_adt
99
filecoin_multimap
1010
)
1111

12-
add_library(filecoin_array
12+
filecoin_add_library(filecoin_array
1313
impl/array.cpp
1414
)
1515
target_link_libraries(filecoin_array
1616
filecoin_amt
1717
)
1818

19-
add_library(filecoin_balance_table_hamt
19+
filecoin_add_library(filecoin_balance_table_hamt
2020
impl/balance_table_hamt.cpp
2121
)
2222
target_link_libraries(filecoin_balance_table_hamt
2323
filecoin_address
2424
filecoin_hamt
2525
)
2626

27-
add_library(filecoin_multimap
27+
filecoin_add_library(filecoin_multimap
2828
impl/multimap.cpp
2929
)
3030
target_link_libraries(filecoin_multimap

core/blockchain/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
add_subdirectory(message_pool)
77
add_subdirectory(production)
88

9-
add_library(filecoin_block_validator
9+
filecoin_add_library(filecoin_block_validator
1010
impl/block_validator_impl.cpp
1111
)
1212
target_link_libraries(filecoin_block_validator
1313
filecoin_block
1414
)
1515

16-
add_library(filecoin_weight_calculator
16+
filecoin_add_library(filecoin_weight_calculator
1717
impl/weight_calculator_impl.cpp
1818
)
1919
target_link_libraries(filecoin_weight_calculator

core/blockchain/message_pool/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_message_pool
6+
filecoin_add_library(filecoin_message_pool
77
impl/gas_price_scored_message_storage.cpp
88
impl/message_pool_error.cpp)
99
target_link_libraries(filecoin_message_pool

core/blockchain/production/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#SPDX - License - Identifier : Apache - 2.0
44
#
55

6-
add_library(filecoin_block_producer
6+
filecoin_add_library(filecoin_block_producer
77
impl/block_producer_impl.cpp
88
)
99
target_link_libraries(filecoin_block_producer

core/clock/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_clock
6+
filecoin_add_library(filecoin_clock
77
chain_epoch_clock.cpp
88
impl/chain_epoch_clock_impl.cpp
99
impl/utc_clock_impl.cpp

core/codec/cbor/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_cbor
6+
filecoin_add_library(filecoin_cbor
77
cbor_decode_stream.cpp
88
cbor_encode_stream.cpp
99
cbor_errors.cpp

core/codec/rle/CMakeLists.txt

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
add_library(filecoin_rle_plus_codec
1+
#
2+
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
6+
filecoin_add_library(filecoin_rle_plus_codec
27
rle_plus_encoding_stream.cpp
38
rle_plus_errors.cpp
49
)

core/common/CMakeLists.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_hexutil
6+
filecoin_add_library(filecoin_hexutil
77
hexutil.hpp
88
hexutil.cpp
99
)
@@ -12,21 +12,21 @@ target_link_libraries(filecoin_hexutil
1212
filecoin_outcome
1313
)
1414

15-
add_library(filecoin_blob
15+
filecoin_add_library(filecoin_blob
1616
blob.hpp
1717
blob.cpp
1818
)
1919
target_link_libraries(filecoin_blob
2020
filecoin_hexutil
2121
)
2222

23-
add_library(filecoin_outcome INTERFACE)
23+
filecoin_add_library(filecoin_outcome INTERFACE)
2424
target_link_libraries(filecoin_outcome INTERFACE
2525
Boost::boost
2626
p2p::p2p
2727
)
2828

29-
add_library(filecoin_buffer
29+
filecoin_add_library(filecoin_buffer
3030
buffer.hpp
3131
buffer.cpp
3232
buffer_back_insert_iterator.cpp
@@ -35,7 +35,7 @@ target_link_libraries(filecoin_buffer
3535
filecoin_hexutil
3636
)
3737

38-
add_library(filecoin_logger
38+
filecoin_add_library(filecoin_logger
3939
logger.cpp
4040
)
4141
target_link_libraries(filecoin_logger

core/crypto/blake2/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_blake2
6+
filecoin_add_library(filecoin_blake2
77
blake2s.c
88
blake2b.c
99
blake2b160.cpp

core/crypto/bls/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_bls_provider
6+
filecoin_add_library(filecoin_bls_provider
77
impl/bls_provider_impl.cpp
88
)
99

core/crypto/hasher/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_hasher
6+
filecoin_add_library(filecoin_hasher
77
hasher.cpp
88
)
99
target_link_libraries(filecoin_hasher

core/crypto/murmur/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_murmur
6+
filecoin_add_library(filecoin_murmur
77
murmur.cpp
88
)
99
target_link_libraries(filecoin_murmur

core/crypto/randomness/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_randomness_provider
4+
filecoin_add_library(filecoin_randomness_provider
55
impl/randomness_provider_impl.cpp
66
)
77
target_link_libraries(filecoin_randomness_provider
@@ -11,7 +11,7 @@ target_link_libraries(filecoin_randomness_provider
1111
p2p::p2p_sha
1212
)
1313

14-
add_library(filecoin_chain_randomness_provider
14+
filecoin_add_library(filecoin_chain_randomness_provider
1515
impl/chain_randomness_provider_impl.cpp
1616
)
1717
target_link_libraries(filecoin_chain_randomness_provider

core/crypto/signature/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_signature
6+
filecoin_add_library(filecoin_signature
77
signature.cpp
88
)
99
target_link_libraries(filecoin_signature

core/crypto/vrf/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_vrf_provider
4+
filecoin_add_library(filecoin_vrf_provider
55
impl/vrf_provider_impl.cpp
66
vrf_hash_encoder.cpp
77
vrf_types.cpp

core/fslock/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_fslock
6+
filecoin_add_library(filecoin_fslock
77
fslock.cpp
88
fslock_error.cpp
99
)

core/power/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_power_table
4+
filecoin_add_library(filecoin_power_table
55
impl/power_table_impl.cpp
66
impl/power_table_error.cpp
77
)
@@ -10,7 +10,7 @@ target_link_libraries(filecoin_power_table
1010
filecoin_outcome
1111
)
1212

13-
add_library(filecoin_power_table_hamt
13+
filecoin_add_library(filecoin_power_table_hamt
1414
impl/power_table_hamt.cpp
1515
impl/power_table_error.cpp
1616
)

core/primitives/address/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_address
4+
filecoin_add_library(filecoin_address
55
address.cpp
66
address_codec.cpp
77
../piece/piece.hpp ../piece/piece.hpp)

core/primitives/block/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_block INTERFACE)
6+
filecoin_add_library(filecoin_block INTERFACE)
77
target_link_libraries(filecoin_block INTERFACE
88
filecoin_address
99
filecoin_cbor

core/primitives/chain/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_chain
6+
filecoin_add_library(filecoin_chain
77
chain.cpp
88
)
99
target_link_libraries(filecoin_chain

core/primitives/chain_epoch/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_chain_epoch_codec
4+
filecoin_add_library(filecoin_chain_epoch_codec
55
chain_epoch_codec.cpp
66
)
77
target_link_libraries(filecoin_chain_epoch_codec

core/primitives/cid/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_cid
6+
filecoin_add_library(filecoin_cid
77
cid.cpp
88
json_codec.cpp
99
)
@@ -15,7 +15,7 @@ target_link_libraries(filecoin_cid
1515
p2p::p2p_cid
1616
)
1717

18-
add_library(filecoin_comm_cid
18+
filecoin_add_library(filecoin_comm_cid
1919
comm_cid.cpp
2020
comm_cid_errors.cpp
2121
)

core/primitives/piece/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_piece
6+
filecoin_add_library(filecoin_piece
77
piece.cpp
88
piece_error.cpp
99
)

core/primitives/rle_bitset/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_rle_bitset INTERFACE)
6+
filecoin_add_library(filecoin_rle_bitset INTERFACE)
77
target_link_libraries(filecoin_rle_bitset INTERFACE
88
filecoin_cbor
99
filecoin_rle_plus_codec

core/primitives/ticket/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_tickets
4+
filecoin_add_library(filecoin_tickets
55
ticket.cpp
66
epost_ticket.cpp
77
ticket_codec.cpp

core/primitives/tipset/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright Soramitsu Co., Ltd. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(filecoin_tipset
4+
filecoin_add_library(filecoin_tipset
55
tipset.cpp
66
tipset_key.cpp
77
)

core/proofs/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_proof_param_provider
6+
filecoin_add_library(filecoin_proof_param_provider
77
proof_param_provider.cpp
88
proof_param_provider_error.cpp
99
)
@@ -26,7 +26,7 @@ add_custom_command(
2626
${CMAKE_CURRENT_SOURCE_DIR}/parameters.json
2727
/var/tmp/filecoin-proof-parameters/parameters.json)
2828

29-
add_library(filecoin_proofs
29+
filecoin_add_library(filecoin_proofs
3030
proofs.cpp
3131
proofs_error.cpp
3232
)

core/storage/amt/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
add_library(filecoin_amt
6+
filecoin_add_library(filecoin_amt
77
amt.cpp
88
)
99
target_link_libraries(filecoin_amt

0 commit comments

Comments
 (0)