Skip to content

Mat view #92

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 193 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
58d4175
WIP: added basic MAT view components
ognian- Jan 3, 2024
75d8be6
WIP
ognian- Jan 5, 2024
c53f41c
Added edge mutations
ognian- Jan 6, 2024
1214e54
WIP: added UA node
ognian- Jan 9, 2024
7e70221
Fixed bug in UA edge
ognian- Jan 11, 2024
b105cee
Merge branch 'main' into mat-view--wip
davidrich27 Jan 23, 2024
bb5d919
added comments for condensing implementation (and where to remove)
marybarker Feb 5, 2024
797a0cd
WIP: batching callback changes.
davidrich27 Feb 5, 2024
c7556f8
Merge branch 'mat-view' into mat-view--wip
davidrich27 Feb 5, 2024
1846359
WIP.
davidrich27 Feb 8, 2024
7e8fd82
WIP
davidrich27 Feb 8, 2024
2ed1140
WIP: check missing CGs
ognian- Mar 29, 2024
799c13a
fix access bug
marybarker Apr 1, 2024
e4f281d
WIP: added MAT view validation
ognian- Apr 2, 2024
d591e9f
WIP: fix for UA id and nodes count
ognian- Apr 5, 2024
c8cd806
WIP: ensure we see all edges possible
marybarker Apr 5, 2024
7cf4b18
Fix for ContainsParent
ognian- Apr 8, 2024
8af31c0
WIP: refactored ViewBase
ognian- Apr 10, 2024
2e0f70f
Added uncondensed mode switching
ognian- Apr 17, 2024
effe6df
WIP: MATView storage and containers basics
ognian- May 14, 2024
c751fa8
Added MATView to BatchingCallback
ognian- May 29, 2024
a418557
added matView test with a nontrivially condensing sample_dag
marybarker May 31, 2024
78833e6
WIP
ognian- Jul 1, 2024
54ccfd5
changed condensed_nodes_ maps and added error comment to mat_view.hpp
marybarker Jul 1, 2024
7b91fc9
Fix for GetChild() crash
ognian- Jul 2, 2024
3c077b7
added correct nodeId to sampleId lookup
marybarker Jul 2, 2024
0dc3957
added edge mutations for (un)condensed edges
marybarker Jul 2, 2024
6476a99
changed GetChild() to detect condensed nodes
marybarker Jul 2, 2024
73104f2
incremented upper bound in MATElementContainerBase::All() routine so …
marybarker Jul 2, 2024
8e6abae
Fix for node count calculation
ognian- Jul 8, 2024
fdd0ae3
wip: updating MATView ALL() routine to filter condened nodes correctly
marybarker Jul 8, 2024
d6b5e88
All() routine working for condensed MatView now
marybarker Jul 8, 2024
dcd8fdb
resized new_cgs vector for recomputing compact genomes
marybarker Jul 8, 2024
deb6094
added printouts and comments to show current fail points
marybarker Jul 8, 2024
4b1df35
Fix for wrong condensed check in container
ognian- Jul 9, 2024
205ef91
Fix for condensed check
ognian- Jul 9, 2024
4dc5ff5
nullptr access workaround and reordering uncondensed nodes
marybarker Jul 9, 2024
b5b8999
fixed GetNodesCount/GetEdgesCount templating for extends, and WIP add…
marybarker Jul 10, 2024
5e6d34b
more uncondensed expansion for Extended storage
marybarker Jul 10, 2024
576d42c
RecomputeCompactGenomes with sparse node IDs
ognian- Jul 11, 2024
95ddf28
small bugfixes in GetChildren routine
marybarker Jul 11, 2024
a7d31c4
WIP: adding sparse IDs to Extend
ognian- Jul 12, 2024
049e861
WIP: fixing sparse ID storage
ognian- Aug 1, 2024
79a0345
WIP: fixing MATView's GetChildren
ognian- Aug 2, 2024
9df0daa
WIP: added condensed mode
ognian- Aug 5, 2024
0b0c5de
WIP: added way to globally switch ID continuity
ognian- Aug 12, 2024
4f21d05
WIP
ognian- Aug 20, 2024
c66ad71
WIP: fixing sample dag test
ognian- Sep 5, 2024
1b33ddc
Fix for UA GetChildren
ognian- Sep 9, 2024
6d0e881
fixed iterator in GetChildren() for MATView
marybarker Sep 9, 2024
a97b475
Fixed UA node for trees with 0 id node
ognian- Sep 12, 2024
b9c0873
hacky node/edge count fix for matView, and updated test with seedtree…
marybarker Sep 12, 2024
a1c55ad
changed condensing_sample_dag to have UA node id 10, mat root node id 0
marybarker Sep 12, 2024
0c807b4
small bugfixes
marybarker Sep 13, 2024
cc7a1ca
WIP: fixing GetClade
ognian- Sep 19, 2024
daa3c84
fixed GetChildren issue with UA node
marybarker Sep 20, 2024
7ee1f42
Temporary disable crashing code
ognian- Sep 23, 2024
3e69570
fixed UA edge access
marybarker Sep 23, 2024
5e3d2ee
WIP: fixing GetChildren
ognian- Oct 14, 2024
59deb84
Added size() implementation
ognian- Oct 14, 2024
f03a29e
fixes to GetChildren() and GetClade() and is_ua routines
marybarker Oct 14, 2024
79f1195
forgot to add last update to commit
marybarker Oct 14, 2024
4ade785
small fix
marybarker Oct 15, 2024
b8321a3
added extra node for condensing test to catch miscounting
marybarker Oct 15, 2024
0c71fe2
workaround matOptimize number of nodes issue
marybarker Oct 16, 2024
8a174c8
Fixed merge conflicts
ognian- Oct 24, 2024
1a1e7b0
add maybe_unused for release mode
marybarker Oct 24, 2024
1256f35
WIP: Adding MATView to BatchingCallback
ognian- Nov 4, 2024
c1ac8b0
WIP: isolating reliance on MATConversion
ognian- Nov 12, 2024
c26301b
mat-view integration for SPR
marybarker Nov 12, 2024
5d8abd1
WIP: implementing overlayable MATView
ognian- Nov 13, 2024
6499af9
Fixing MATView integration
ognian- Nov 14, 2024
5bf1341
WIP: debugging SampleIds
ognian- Nov 26, 2024
2e7b0c5
WIP: debugging SampleIds
ognian- Dec 2, 2024
3d8f6ac
sampleIds mapping
marybarker Dec 2, 2024
7804b2f
Fixing overlaying MATView
ognian- Dec 16, 2024
1c75abd
ContainsId function update
marybarker Dec 16, 2024
604001e
added uncondensed check for ContainsId routine in matView
marybarker Dec 16, 2024
89fbc1a
WIP: adding Neighbors to MATView
ognian- Dec 16, 2024
60b4e67
WIP: accessing Neighbours trough MATView
ognian- Dec 17, 2024
3198f9f
WIP: adding Neighbors to MATView
ognian- Dec 19, 2024
a5ffcad
WIP: fixing Neighbours access
ognian- Jan 2, 2025
2ae5a3f
Locking Neighbors creation
ognian- Jan 8, 2025
fbee03a
edge above UA node not allowed
marybarker Jan 9, 2025
b4c2297
fix UA node's read() in GetChildren routine of MatView
marybarker Jan 13, 2025
131988a
WIP: removed collapsing for debugging purposes
marybarker Jan 13, 2025
ff5af2c
Asserts added
marybarker Jan 15, 2025
10afb3f
adding mat-view overlay test
marybarker Jan 15, 2025
d92b097
added neighbors/endpoints test to mat-view overlay test
marybarker Jan 15, 2025
c800c97
WIP: overlaying MATView's Endpoints
ognian- Jan 15, 2025
692280d
Merge branch 'mat-view' of github.com:matsengrp/larch into mat-view
ognian- Jan 15, 2025
ed35a38
WIP: adding access to Overlay upper layer to MATView
ognian- Jan 16, 2025
5d9f2d3
WIP: adding access to Overlay upper layer to MATView
ognian- Jan 17, 2025
298f782
Overlay MATView test passing
ognian- Jan 21, 2025
0340062
WIP: fixed access issue with edge overlay, uncovered neighbors overla…
marybarker Jan 21, 2025
d1bc7ee
WIP: adding overlay check for Neighbors
ognian- Jan 28, 2025
0a52468
WIP: adding overlay check for Neighbors
ognian- Jan 28, 2025
080af89
wip: added broken workaround for ContainsParent/Child
marybarker Jan 29, 2025
45f2f99
Fixing overlay checks
ognian- Feb 4, 2025
2e90678
AddEdge implementation
ognian- Feb 5, 2025
40329d5
WIP: testing clearConnections and SetSingleParent
marybarker Feb 5, 2025
7ccc015
SPR logic fixed for MV overlay access
marybarker Feb 6, 2025
8cd2844
WIP: adding sampleIds to mat-view
marybarker Feb 6, 2025
e82d5f8
WIP: debugging issue with appended node's GetParentCount
marybarker Feb 6, 2025
60ffb04
temporary workarounds with appended nodes
marybarker Feb 7, 2025
b7208fd
overlay test extended for AppendNode/Edge (currently failing)
marybarker Feb 10, 2025
dd3d418
Fix for IsUA fail
ognian- Feb 10, 2025
9770c16
fixed typo in ContainsChild check in test_overlay and updated overlay…
marybarker Feb 10, 2025
4970107
appended nodes/edges overlay check
marybarker Feb 10, 2025
2dad6de
fixed connectivity in overlay test
marybarker Feb 11, 2025
44651e2
disabled invalid move type
marybarker Feb 12, 2025
1b4b6bb
fixed initialization of GetChildren iterator for overlaid nodes with …
marybarker Feb 12, 2025
6715cc9
fixed some overlay logic issues
marybarker Feb 13, 2025
c5ddd6b
more logic fixes
marybarker Feb 14, 2025
836e4fd
WIP final for the day
marybarker Feb 14, 2025
240dd07
problems with GetCladesCount are from view?
marybarker Feb 14, 2025
1e51e04
WIP: debugging code pushed
marybarker Feb 17, 2025
8816529
commented out applyMoveImpl logic for debugging
marybarker Feb 17, 2025
3c986b5
added test for accessing overlaid connections
marybarker Feb 18, 2025
fb0cb27
fixed test_overlay so we don't try to re-overlay node, and cleaned up…
marybarker Feb 18, 2025
66db76e
made sure setSingleParent in ApplyMove
marybarker Feb 19, 2025
d024186
debugging: added print statements in for better comparison
marybarker Feb 19, 2025
f4d2956
BuildConnections workaround
ognian- Feb 19, 2025
2bb7ca8
Fixed Fragment clearing wrong Neighbors
ognian- Feb 24, 2025
f01fc5c
Skipping extra edges in Fragment
ognian- Feb 24, 2025
8c2dcbd
added asserts to applyMoveImpl
marybarker Feb 24, 2025
77faa4b
one more print statement
marybarker Feb 24, 2025
9718aee
WIP
marybarker Feb 24, 2025
98beb03
Added assert for not having overlays on move begin
ognian- Feb 24, 2025
31d922a
Fresh MATView per move
ognian- Feb 24, 2025
d0b6062
fixed rooting issue for BuildRootAndLeafs in fragment and added clade…
marybarker Feb 24, 2025
f6bd6bd
Fixed MATView
ognian- Feb 26, 2025
a7f730d
Deep copy Tree on radius
ognian- Feb 26, 2025
92dd84e
manual deepcopy for mat
marybarker Feb 26, 2025
c7a1512
MAT::Tree deep copying
ognian- Feb 27, 2025
1986174
Merge conflicts
ognian- Feb 27, 2025
0233243
Optional MATView; mock optimizer fixes
ognian- Feb 27, 2025
0981e55
Fixed minor bugs
ognian- Feb 27, 2025
e3efff4
print statements added for debugging
marybarker Feb 27, 2025
a74e21b
Fixing GetNextAvilableId
ognian- Feb 28, 2025
eec02f4
Fixed EdgeMutations on added edges
ognian- Mar 3, 2025
cc7c31f
Fixed leaks
ognian- Mar 3, 2025
81d9298
serialize addDAGs in callback for debugging
marybarker Mar 3, 2025
d479398
WIP: debugging non-matview
marybarker Mar 3, 2025
e610080
Fixing iterating trough sparse nodes
ognian- Mar 4, 2025
543fe5c
Merge branch 'mat-view' of github.com:matsengrp/larch into mat-view
ognian- Mar 4, 2025
38c2ed2
Fixed finding max tree node id
ognian- Mar 4, 2025
d73af06
added assert for leaf count and commented serialized code
marybarker Mar 4, 2025
7c43d05
Fixed GetFullDAG
ognian- Mar 5, 2025
1d7df0b
fixed missing root-edge mutations
marybarker Mar 6, 2025
032ab69
re-enabled collapsing
marybarker Mar 6, 2025
efbf062
added assert for OldSourceParent
marybarker Mar 6, 2025
21e8d80
Refactoring Neighbors
ognian- Mar 13, 2025
93e2def
added GetOriginal() check to test_overlay.cpp
marybarker Mar 13, 2025
12d18aa
Refactoring Endpoints
ognian- Mar 17, 2025
3b2bb90
Merge branch 'mat-view' of github.com:matsengrp/larch into mat-view
ognian- Mar 17, 2025
ca40a03
Removing overlay_access
ognian- Mar 19, 2025
3e48a90
WIP: removing overlay_access
ognian- Mar 24, 2025
ce8d5e8
Added debugging helper
ognian- Mar 25, 2025
7212b6c
Added debugging helper
ognian- Mar 27, 2025
826e3d0
WIP: fixing variant range
ognian- Apr 3, 2025
8e9f4c0
Misc cleanup
ognian- Apr 3, 2025
b22cb04
Fixed overlaying with store_type
ognian- Apr 7, 2025
89f3c1a
Fixed initializing overlaid elements
ognian- Apr 7, 2025
7cc63e4
Fixed static_assert(false)
ognian- Apr 7, 2025
d7abaeb
fixed GetOldSourceParent issue
marybarker Apr 7, 2025
31437c9
Fixed EdgeMutations
ognian- Apr 9, 2025
88228fd
fixed edgemutations calculation for uncondensed MATView
marybarker Apr 9, 2025
93efc17
Fixed ValidateImpl
ognian- Apr 10, 2025
075bad6
added tests for non-traditional UA node Ids
marybarker Apr 10, 2025
95056b0
added non-contiguous UA NodeId test for MATView
marybarker Apr 10, 2025
545f898
Fixing MV_UA_NODE_ID
ognian- Apr 14, 2025
683c13e
fixed All transform so unique values are passed
marybarker Apr 14, 2025
4e6ca6d
fixed All iota_max
marybarker Apr 14, 2025
60a7af9
fixed MATView building
marybarker Apr 14, 2025
768df5c
Fixed data race
ognian- Apr 22, 2025
0c3b071
Fixed data race
ognian- Apr 24, 2025
870415e
Fixed build with clang
ognian- May 7, 2025
830872f
Fixed clang errors in release mode
ognian- May 8, 2025
eb9375a
fixed issue with extra leafs/invalid edge mutations errors
marybarker May 9, 2025
95399dd
Merge branch 'mat-view' of github.com:matsengrp/larch into mat-view
marybarker May 12, 2025
1b05ccf
Merging with main
ognian- May 15, 2025
6abd3d1
Speeding up ambiguities
ognian- May 16, 2025
0057e30
Fixing SampleId hash caching
ognian- May 17, 2025
48fafbc
Reducing lock pressure
ognian- May 17, 2025
3dc65ef
Making SampleId lightweight
ognian- May 17, 2025
a4008c3
Minor fixes
ognian- May 22, 2025
7c37475
CreateMATView per radius
ognian- May 22, 2025
e25bca1
Fixed data race
ognian- May 30, 2025
35c0ca4
WIP: fixing larch-usher
ognian- Jun 2, 2025
b0bb87e
WIP: fixing larch-usher
ognian- Jun 3, 2025
5cffec9
WIP: fixing larch-usher
ognian- Jun 4, 2025
3dfdc98
wip larch-usher fixes: figuring out mapped nodes access
marybarker Jun 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@ BasedOnStyle: Google
ColumnLimit: 88
SortIncludes: false

DerivePointerAlignment: false
PointerAlignment: Left
ReferenceAlignment: Left
QualifierAlignment: Left

79 changes: 48 additions & 31 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,26 @@ set(CMAKE_DEPS_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/deps)
set(CMAKE_SHARED_LIBRARY_PREFIX "liblarch_")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib;${CMAKE_INSTALL_PREFIX}/lib/larch")

set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

option(PROTOBUF_FROM_SOURCE "Build protobuf from source code" ON)
option(USE_USHER "Use matOptimize" ON)
option(PROTOBUF_FROM_SOURCE "Build protobuf from source code" OFF)
option(USE_MAT_VIEW "Use MATView" ON)
option(USE_CPPTRACE "Use cpptrace" OFF)
option(USE_ASAN "Use asan" OFF)
option(USE_TSAN "Use tsan" OFF)
option(USE_HTSLIB "Use htslib" OFF)

# set default cmake build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (Debug, Release, RelWithDebInfo, MinSizeRel)" FORCE)
endif()

if(${USE_USHER})
set(TBB_VERSION "2019_U9")
if(USE_USHER)
set(TBB_VERSION "2019_U9")
else()
set(TBB_VERSION "v2021.11.0")
set(TBB_VERSION "v2021.11.0")
endif()

message(STATUS "cmake system architecture: ${CMAKE_SYSTEM_PROCESSOR}")
Expand All @@ -57,22 +62,21 @@ function(lib_install PRODUCT)
endfunction()

# # oneTBB
if(${USE_USHER})
if(USE_USHER)
set(TBB_DIR "${PROJECT_BINARY_DIR}/deps/onetbb")
FetchContent_Declare(oneTBB
GIT_REPOSITORY https://github.com/oneapi-src/oneTBB
GIT_TAG ${TBB_VERSION}
GIT_SHALLOW true
GIT_PROGRESS true
UPDATE_DISCONNECTED true
CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DTBB_TEST=OFF -DTBB_FIND_PACKAGE=OFF
)
)
FetchContent_MakeAvailable(oneTBB)
include(${onetbb_SOURCE_DIR}/cmake/TBBBuild.cmake)
tbb_build(
TBB_ROOT ${onetbb_SOURCE_DIR}
CONFIG_DIR TBB_DIR
MAKE_ARGS tbb_cpf=1 CFLAGS="-w" tbb_build_dir=${TBB_DIR}
MAKE_ARGS tbb_cpf=1 CFLAGS="-w" CXXFLAGS="-Wno-changes-meaning" tbb_build_dir=${TBB_DIR}
)

find_package(TBB REQUIRED COMPONENTS tbbmalloc tbbmalloc_proxy tbb_preview)
Expand All @@ -92,23 +96,17 @@ else()
CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DTBB_TEST=OFF -DTBB_FIND_PACKAGE=OFF
)
FetchContent_MakeAvailable(oneTBB)

find_package(TBB REQUIRED COMPONENTS tbbmalloc tbbmalloc_proxy tbb_preview)
lib_install(TBB::tbbmalloc)
lib_install(TBB::tbbmalloc_proxy)
lib_install(TBB::tbb_preview)
endif()

# # protobuf
if(${PROTOBUF_FROM_SOURCE})
if(PROTOBUF_FROM_SOURCE)
message(STATUS "protobuf from source...")
include(protobuf.cmake)
else()
message(STATUS "protobuf from conda environment...")
find_package(Protobuf REQUIRED)
endif()

find_package(Protobuf REQUIRED)

add_library(larch-autogen OBJECT
${DAG_PROTO_SRCS} ${DAG_PROTO_HDRS}
${PROTO_SRCS} ${PROTO_HDRS}
Expand Down Expand Up @@ -141,14 +139,23 @@ ExternalProject_Add(range-v3
GIT_TAG 0.12.0
GIT_SHALLOW true
GIT_PROGRESS true
GIT_SUBMODULES ""
UPDATE_DISCONNECTED true
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/deps/range-v3/install -DCMAKE_BUILD_TYPE=Release -DRANGE_V3_DOCS=OFF -DRANGE_V3_TESTS=OFF -DRANGE_V3_EXAMPLES=OFF -DRANGE_V3_PERF=OFF -DRANGE_V3_HEADER_CHECKS=OFF
PREFIX deps/range-v3
INSTALL_DIR deps/range-v3/install
)

if(USE_CPPTRACE)
FetchContent_Declare(cpptrace
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
GIT_TAG v0.8.2
GIT_PROGRESS true)
FetchContent_MakeAvailable(cpptrace)
endif()

# # htslib
if(${USE_HTSLIB})
if(USE_HTSLIB)
ExternalProject_Add(htslib
GIT_REPOSITORY https://github.com/samtools/htslib.git
GIT_TAG 1.17
Expand Down Expand Up @@ -194,13 +201,21 @@ function(larch_compile_opts PRODUCT)
target_compile_options(${PRODUCT} PUBLIC -fno-omit-frame-pointer -fno-stack-protector)
endif()

if(${USE_USHER})
if(USE_USHER)
target_compile_options(${PRODUCT} PUBLIC -DUSE_USHER)
endif()

if(${USE_ASAN})
if(USE_MAT_VIEW)
target_compile_options(${PRODUCT} PUBLIC -DUSE_MAT_VIEW)
endif()

if(USE_CPPTRACE)
target_compile_options(${PRODUCT} PUBLIC -DUSE_CPPTRACE)
endif()

if(USE_ASAN)
target_compile_options(${PRODUCT} PUBLIC -O0 -g3 -fsanitize=address,undefined -fno-sanitize-recover)
elseif(${USE_TSAN})
elseif(USE_TSAN)
target_compile_options(${PRODUCT} PUBLIC -O0 -g3 -fsanitize=thread)
endif()

Expand All @@ -211,13 +226,13 @@ function(larch_compile_opts PRODUCT)
target_include_directories(${PRODUCT} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/deps/range-v3/install/include)
add_dependencies(${PRODUCT} range-v3)

if(${USE_HTSLIB})
if(USE_HTSLIB)
target_include_directories(${PRODUCT} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/deps/htslib/install/include)
add_dependencies(${PRODUCT} htslib)
endif()
endfunction()

if(${USE_USHER})
if(USE_USHER)
include_directories(deps/usher/)
file(GLOB MATOPTIMIZE_SRC
"deps/usher/src/matOptimize/apply_move/*.cpp"
Expand All @@ -244,9 +259,9 @@ endif()
function(larch_link_opts PRODUCT)
target_link_libraries(${PRODUCT} PUBLIC larch-autogen)

if(${USE_ASAN})
if(USE_ASAN)
target_link_libraries(${PRODUCT} PUBLIC -lasan -lubsan)
elseif(${USE_TSAN})
elseif(USE_TSAN)
target_link_libraries(${PRODUCT} PUBLIC -ltsan)
endif()

Expand All @@ -255,13 +270,13 @@ function(larch_link_opts PRODUCT)
target_link_libraries(${PRODUCT} PUBLIC ${Protobuf_LIBRARIES})
target_link_libraries(${PRODUCT} PUBLIC ${Boost_LIBRARIES})

if(${USE_USHER})
if(USE_USHER)
target_link_libraries(${PRODUCT} PUBLIC TBB::tbbmalloc TBB::tbbmalloc_proxy TBB::tbb_preview -lstdc++fs)
else()
target_link_libraries(${PRODUCT} PUBLIC TBB::tbb)
endif()

if(${USE_HTSLIB})
if(USE_HTSLIB)
target_link_directories(${PRODUCT} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/htslib/install)
target_link_libraries(${PRODUCT} PUBLIC -lhts)
endif()
Expand Down Expand Up @@ -293,15 +308,15 @@ add_library(larch
larch_compile_opts(larch)
target_compile_options(larch PRIVATE ${STRICT_WARNINGS})

if(${USE_ASAN})
if(USE_ASAN)
else()
target_compile_options(larch PRIVATE -Wstack-usage=2048)
endif()

larch_link_opts(larch)

# # usher library
if(${USE_USHER})
if(USE_USHER)
add_library(usher
${MATOPTIMIZE_SRC}
src/usher_globals.cpp
Expand Down Expand Up @@ -357,6 +372,7 @@ larch_executable(larch-test
test/test_lca.cpp
test/test_map.cpp
test/test_mat_conversion.cpp
test/test_mat_view.cpp
test/test_matOptimize.cpp
test/test_merge.cpp
test/test_overlay.cpp
Expand All @@ -372,7 +388,7 @@ larch_executable(larch-test
)
target_compile_options(larch-test PRIVATE ${STRICT_WARNINGS})

if(${USE_USHER})
if(USE_USHER)
target_link_libraries(larch-test PUBLIC larch-usher-glue usher)
add_dependencies(larch-test larch-usher-glue)
set_target_properties(larch-test
Expand All @@ -393,7 +409,7 @@ larch_executable(larch-dag2dot
larch_install(larch-dag2dot)

# # larch-usher
if(${USE_USHER})
if(USE_USHER)
larch_executable(larch-usher
tools/larch-usher.cpp
)
Expand All @@ -402,3 +418,4 @@ if(${USE_USHER})
add_dependencies(larch-usher larch-usher-glue)
larch_install(larch-usher)
endif()

2 changes: 1 addition & 1 deletion deps/usher
Loading