mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-13 10:21:34 +02:00
build: simplify dependency graph
Allow the objects of static libs to be built in parallel rather than serially based on their dependency ordering. For more detail, see: https://cmake.org/cmake/help/latest/prop_tgt/OPTIMIZE_DEPENDENCIES.html
This commit is contained in:
parent
c4e498300c
commit
12fa9511b5
@ -71,6 +71,13 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
|||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/module)
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/module)
|
||||||
|
|
||||||
|
# Flatten static lib dependencies.
|
||||||
|
# Without this, if libfoo.a depends on libbar.a, libfoo's objects can't begin
|
||||||
|
# to be compiled until libbar.a has been created.
|
||||||
|
if (NOT DEFINED CMAKE_OPTIMIZE_DEPENDENCIES)
|
||||||
|
set(CMAKE_OPTIMIZE_DEPENDENCIES TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
#=============================
|
#=============================
|
||||||
# Configurable options
|
# Configurable options
|
||||||
#=============================
|
#=============================
|
||||||
|
@ -74,6 +74,9 @@ add_library(minisketch STATIC EXCLUDE_FROM_ALL
|
|||||||
${PROJECT_SOURCE_DIR}/src/minisketch/src/fields/generic_8bytes.cpp
|
${PROJECT_SOURCE_DIR}/src/minisketch/src/fields/generic_8bytes.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/24058
|
||||||
|
set_target_properties(minisketch PROPERTIES OPTIMIZE_DEPENDENCIES OFF)
|
||||||
|
|
||||||
target_include_directories(minisketch
|
target_include_directories(minisketch
|
||||||
PUBLIC
|
PUBLIC
|
||||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/minisketch/include>
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/minisketch/include>
|
||||||
|
@ -36,6 +36,9 @@ add_library(bitcoin_util STATIC EXCLUDE_FROM_ALL
|
|||||||
../sync.cpp
|
../sync.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/24058
|
||||||
|
set_target_properties(bitcoin_util PROPERTIES OPTIMIZE_DEPENDENCIES OFF)
|
||||||
|
|
||||||
target_link_libraries(bitcoin_util
|
target_link_libraries(bitcoin_util
|
||||||
PRIVATE
|
PRIVATE
|
||||||
core_interface
|
core_interface
|
||||||
|
Loading…
x
Reference in New Issue
Block a user