Skip to content

Commit

Permalink
[upstream_utils] Add ConcurrentQueue
Browse files Browse the repository at this point in the history
  • Loading branch information
PeterJohnson committed Sep 11, 2024
1 parent 874d8a8 commit cf9760d
Show file tree
Hide file tree
Showing 5 changed files with 3,797 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .github/workflows/upstream-utils.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ jobs:
cd upstream_utils
./apriltag.py clone
./apriltag.py copy-src
- name: Run concurrentqueue.py
run: |
cd upstream_utils
./concurrentqueue.py clone
./concurrentqueue.py copy-src
- name: Run eigen.py
run: |
cd upstream_utils
Expand Down
39 changes: 39 additions & 0 deletions upstream_utils/concurrentqueue.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env python3

import os
import shutil

from upstream_utils import Lib


def copy_upstream_src(wpilib_root):
wpiutil = os.path.join(wpilib_root, "wpiutil")

# Copy expected header into allwpilib
dest_filename = os.path.join(
wpiutil, "src/main/native/thirdparty/concurrentqueue/include/wpi/concurrentqueue.h"
)
shutil.copyfile("concurrentqueue.h", dest_filename)

# Rename namespace from tl to wpi, and detail to detail_expected
with open(dest_filename) as f:
content = f.read()
content = content.replace("namespace moodycamel", "namespace wpi")
content = content.replace("moodycamel::", "wpi::")
content = content.replace("MOODYCAMEL_", "WPI_")
with open(dest_filename, "w") as f:
f.write(content)


def main():
name = "concurrentqueue"
url = "https://github.com/cameron314/concurrentqueue"
# master on 2024-09-10
tag = "6dd38b8a1dbaa7863aa907045f32308a56a6ff5d"

concurrentqueue = Lib(name, url, tag, copy_upstream_src)
concurrentqueue.main()


if __name__ == "__main__":
main()
2 changes: 2 additions & 0 deletions wpiutil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ endif()
install(
DIRECTORY
src/main/native/include/
src/main/native/thirdparty/concurrentqueue/include/
src/main/native/thirdparty/expected/include/
src/main/native/thirdparty/json/include/
src/main/native/thirdparty/llvm/include/
Expand All @@ -198,6 +199,7 @@ target_include_directories(
wpiutil
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/concurrentqueue/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/expected/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/json/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/llvm/include>
Expand Down
5 changes: 4 additions & 1 deletion wpiutil/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ nativeUtils.exportsConfigs {
}

cppHeadersZip {
from('src/main/native/thirdparty/concurrentqueue/include') {
into '/'
}
from('src/main/native/thirdparty/expected/include') {
into '/'
}
Expand Down Expand Up @@ -235,7 +238,7 @@ model {
all {
it.sources.each {
it.exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/expected/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/memory/include', 'src/main/native/thirdparty/mpack/include', 'src/main/native/thirdparty/protobuf/include'
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/concurrentqueue/include', 'src/main/native/thirdparty/expected/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/memory/include', 'src/main/native/thirdparty/mpack/include', 'src/main/native/thirdparty/protobuf/include'
}
}
}
Expand Down
Loading

0 comments on commit cf9760d

Please sign in to comment.