Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
3 changes: 2 additions & 1 deletion BUILD_TOPOLOGY.toml
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ type = "generic"
[artifact_groups.third-party-libs]
description = "Optional third-party libraries (for tests/specific features)"
type = "generic"
artifact_group_deps = ["compiler"]
source_sets = [] # No submodules - uses vendored/in-tree deps

[artifact_groups.base]
Expand Down Expand Up @@ -408,7 +409,7 @@ feature_group = "CORE"
[artifacts.spdlog]
artifact_group = "third-party-libs"
type = "target-neutral"
artifact_deps = []
artifact_deps = ["amd-llvm"]
feature_group = "CORE"
Comment thread
ScottTodd marked this conversation as resolved.

# --- Base Infrastructure ---
Expand Down
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -439,9 +439,10 @@ endif()

# Add subdirectories in dependency DAG order (which happens to be semi-alpha:
# don't be fooled).
add_subdirectory(third-party)
add_subdirectory(third-party/sysdeps)
add_subdirectory(base)
add_subdirectory(compiler)
add_subdirectory(third-party)
add_subdirectory(core)
add_subdirectory(debug-tools)
# Note that rocprofiler-register is in base and is what higher level clients
Expand Down
21 changes: 10 additions & 11 deletions third-party/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Subdirectory load order here is carefully balanced - see usage from the root
# CMakeLists.txt. Notably this file does *not* include the sysdeps subdirectory,
# which is expected to be included *first*. This allows for bootstrapping
# compiler/, so other projects in this directory can use the amd-llvm compiler
# toolchain if they so wish (most should eventually).

add_custom_target(therock-third-party)

# No-dep third party libraries (alphabetical)
Expand All @@ -18,8 +24,10 @@ add_subdirectory(fftw3)
# frugally-deep depends on eigen, FunctionalPlus and nlohmann-json
add_subdirectory(frugally-deep)

# spdlog depends on fmt.
add_subdirectory(spdlog)
# spdlog depends on fmt and amd-llvm toolchain.
if(THEROCK_ENABLE_SPDLOG)
add_subdirectory(spdlog)
endif()
Comment thread
ScottTodd marked this conversation as resolved.

# Host math libraries.
if(THEROCK_ENABLE_HOST_BLAS)
Expand All @@ -29,15 +37,6 @@ if(THEROCK_ENABLE_HOST_SUITE_SPARSE)
add_subdirectory(SuiteSparse)
endif()

# TODO: Relocate non header-only libraries here (i.e. boost, host-blas).
if(THEROCK_BUNDLE_SYSDEPS)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
add_subdirectory(sysdeps/linux)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
add_subdirectory(sysdeps/windows)
endif()
endif()

# gRPC: Static library for RDC (built on-demand when depended upon)
# See: docs/rfcs/RFC0007-rdc-therock-integration.md
add_subdirectory(grpc)
2 changes: 2 additions & 0 deletions third-party/spdlog/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ therock_cmake_subproject_declare(therock-spdlog
NO_MERGE_COMPILE_COMMANDS
OUTPUT_ON_FAILURE
EXTERNAL_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/source"
COMPILER_TOOLCHAIN
amd-llvm
BUILD_DEPS
therock-fmt
CMAKE_ARGS
Expand Down
8 changes: 8 additions & 0 deletions third-party/sysdeps/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# TODO: Relocate non header-only libraries here (i.e. boost, host-blas).
if(THEROCK_BUNDLE_SYSDEPS)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
add_subdirectory(linux)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
add_subdirectory(windows)
endif()
endif()
Loading