[wpiutil] Separate third party libraries (#4190)

This commit is contained in:
PJ Reiniger
2022-06-18 11:08:31 -04:00
committed by GitHub
parent 6671f8d099
commit 787fe6e7a5
102 changed files with 165 additions and 124 deletions

View File

@@ -17,21 +17,15 @@ Program Locations
------- ---------
RoboRIO Libraries ni-libraries
Google Test gtest
LLVM wpiutil/src/main/native/include/wpi/{various files}
wpiutil/src/main/native/cpp/llvm/
wpiutil/src/main/native/cpp/leb128.cpp
wpiutil/src/test/native/cpp/leb128Test.cpp
JSON for Modern C++ wpiutil/src/main/native/include/wpi/json.h
wpiutil/src/main/native/cpp/json_*.cpp
LLVM wpiutil/src/main/native/thirdparty/llvm
wpiutil/src/test/native/cpp/llvm/
JSON for Modern C++ wpiutil/src/main/native/thirdparty/json
wpiutil/src/test/native/cpp/json/
libuv wpinet/src/main/native/thirdparty/libuv/
fmtlib wpiutil/src/main/native/fmtlib/
sigslot wpiutil/src/main/native/include/wpi/Signal.h
wpiutil/src/test/native/cpp/sigslot/
tcpsockets wpiutil/src/main/native/cpp/TCP{Stream,Connector,Acceptor}.cpp
wpiutil/src/main/native/include/wpi/TCP*.h
MPack wpiutil/src/main/native/include/mpack.h
wpiutil/src/main/native/cpp/mpack.cpp
fmtlib wpiutil/src/main/native/thirdparty/fmtlib/
sigslot wpiutil/src/main/native/thirdparty/sigslot
tcpsockets wpinet/src/main/native/thirdparty/tcpsockets
MPack wpiutil/src/main/native/thirdparty/mpack
Bootstrap wpinet/src/main/native/resources/bootstrap-*
CoreUI wpinet/src/main/native/resources/coreui-*
Feather Icons wpinet/src/main/native/resources/feather-*
@@ -40,9 +34,9 @@ popper.js wpinet/src/main/native/resources/popper-*
units wpimath/src/main/native/include/units/
Eigen wpimath/src/main/native/thirdparty/eigen/include/
StackWalker wpiutil/src/main/native/windows/StackWalker.*
TCB span wpiutil/src/main/native/include/wpi/span.h
TCB span wpiutil/src/main/native/thirdparty/include/wpi/span.h
wpiutil/src/test/native/cpp/span/
GHC filesystem wpiutil/src/main/native/include/wpi/ghc/
GHC filesystem wpiutil/src/main/native/thirdparty/include/wpi/ghc/
Team 254 Library wpilibj/src/main/java/edu/wpi/first/wpilibj/spline/SplineParameterizer.java
wpilibj/src/main/java/edu/wpi/first/wpilibj/trajectory/TrajectoryParameterizer.java
wpilibc/src/main/native/include/spline/SplineParameterizer.h

View File

@@ -102,10 +102,7 @@ def find_wpiutil_llvm_files(wpiutil_root, subfolder):
for f in files:
if f not in ignore_list:
full_file = os.path.join(root, f)
with open(full_file, 'r') as ff:
contents = ff.read()
if "LLVM Compiler" in contents or "LLVM Project" in contents:
wpiutil_files.append(full_file)
wpiutil_files.append(full_file)
return wpiutil_files
@@ -129,8 +126,9 @@ def overwrite_source(wpiutil_root, llvm_root):
"llvm/include/llvm/Support/", "llvm/lib/Support/"
])
wpi_files = find_wpiutil_llvm_files(
wpiutil_root, "src/main/native/include/wpi") + find_wpiutil_llvm_files(
wpiutil_root, "src/main/native/cpp/llvm")
wpiutil_root, "src/main/native/thirdparty/llvm/include/wpi"
) + find_wpiutil_llvm_files(wpiutil_root,
"src/main/native/thirdparty/llvm/cpp/llvm")
overwrite_files(wpi_files, llvm_files)
run_global_replacements(wpi_files)

View File

@@ -9,20 +9,15 @@ cppSrcFileInclude {
}
generatedFileExclude {
src/main/native/thirdparty/
src/main/native/cpp/http_parser\.cpp$
src/main/native/include/wpinet/http_parser\.h$
src/main/native/thirdparty/libuv/
src/main/native/resources/
src/main/native/linux/AvahiClient
}
licenseUpdateExclude {
src/main/native/cpp/TCPAcceptor\.cpp$
src/main/native/cpp/TCPConnector\.cpp$
src/main/native/cpp/TCPStream\.cpp$
src/main/native/include/wpinet/TCPAcceptor\.h$
src/main/native/include/wpinet/TCPConnector\.h$
src/main/native/include/wpinet/TCPStream\.h$
}
repoRootNameOverride {

View File

@@ -64,7 +64,7 @@ endif()
GENERATE_RESOURCES(src/main/native/resources generated/main/cpp WPI wpi wpinet_resources_src)
file(GLOB_RECURSE wpinet_native_src src/main/native/cpp/*.cpp)
file(GLOB_RECURSE wpinet_native_src src/main/native/cpp/*.cpp src/main/native/thirdparty/tcpsockets/cpp/*.cpp)
list(REMOVE_ITEM wpinet_native_src ${wpinet_jni_src})
file(GLOB_RECURSE wpinet_unix_src src/main/native/unix/*.cpp)
file(GLOB_RECURSE wpinet_linux_src src/main/native/linux/*.cpp)
@@ -167,6 +167,9 @@ endif()
target_include_directories(wpinet PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/include>
$<INSTALL_INTERFACE:${include_dest}/wpinet>)
target_include_directories(wpinet PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/tcpsockets/include>
$<INSTALL_INTERFACE:${include_dest}/wpinet>)
install(TARGETS wpinet EXPORT wpinet DESTINATION "${main_lib_dest}")
install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpinet")

View File

@@ -23,6 +23,15 @@ ext {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/libuv/include', 'src/main/native/thirdparty/libuv/src'
}
}
tcpsocketsCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/thirdparty/tcpsockets/cpp'
include '*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/tcpsockets/include'
}
}
resourcesCpp(CppSourceSet) {
source {
srcDirs "$buildDir/generated/main/cpp", "$rootDir/shared/singlelib"
@@ -201,6 +210,9 @@ cppHeadersZip {
from('src/main/native/thirdparty/libuv/include') {
into '/'
}
from('src/main/native/third_party/tcpsockets/include') {
into '/'
}
}
model {
@@ -208,7 +220,7 @@ model {
all {
it.sources.each {
it.exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/libuv/include', 'src/main/native/thirdparty/libuv/src'
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/libuv/include', 'src/main/native/thirdparty/tcpsockets/include', 'src/main/native/thirdparty/libuv/src'
}
}
}

View File

@@ -11,79 +11,21 @@ cppSrcFileInclude {
}
generatedFileExclude {
src/main/native/cpp/llvm/
src/main/native/include/llvm/
src/main/native/include/wpi/AllocatorBase\.h$
src/main/native/include/wpi/AlignOf\.h$
src/main/native/include/wpi/ArrayRef\.h$
src/main/native/include/wpi/Chrono\.h$
src/main/native/include/wpi/Compiler\.h$
src/main/native/include/wpi/ConvertUTF\.h$
src/main/native/include/wpi/DenseMap\.h$
src/main/native/include/wpi/DenseMapInfo\.h$
src/main/native/include/wpi/DJB\.h$
src/main/native/include/wpi/EpochTracker\.h$
src/main/native/include/wpi/Endian\.h$
src/main/native/include/wpi/Errc\.h$
src/main/native/include/wpi/Errno\.h$
src/main/native/include/wpi/Error\.h$
src/main/native/include/wpi/ErrorHandling\.h$
src/main/native/include/wpi/ErrorOr\.h$
src/main/native/include/wpi/FileSystem\.h$
src/main/native/include/wpi/Format\.h$
src/main/native/include/wpi/FunctionExtras\.h$
src/main/native/include/wpi/Hashing\.h$
src/main/native/include/wpi/IntrusiveRefCntPtr\.h$
src/main/native/include/wpi/ManagedStatic\.h$
src/main/native/include/wpi/MapVector\.h$
src/main/native/include/wpi/MathExtras\.h$
src/main/native/include/wpi/MemAlloc\.h$
src/main/native/include/wpi/NativeFormatting\.h$
src/main/native/include/wpi/Path\.h$
src/main/native/include/wpi/PointerIntPair\.h$
src/main/native/include/wpi/PointerLikeTypeTraits\.h$
src/main/native/include/wpi/PointerUnion\.h$
src/main/native/include/wpi/ReverseIteration\.h$
src/main/native/include/wpi/STLExtras\.h$
src/main/native/include/wpi/Signal\.h$
src/main/native/include/wpi/SmallPtrSet\.h$
src/main/native/include/wpi/SmallSet\.h$
src/main/native/include/wpi/SmallString\.h$
src/main/native/include/wpi/SmallVector\.h$
src/main/native/include/wpi/StringMap\.h$
src/main/native/include/wpi/StringMapEntry\.h$
src/main/native/include/wpi/STLForwardCompat\.h$
src/main/native/include/wpi/StringRef\.h$
src/main/native/include/wpi/SwapByteOrder\.h$
src/main/native/include/wpi/Twine\.h$
src/main/native/include/wpi/VersionTuple\.h$
src/main/native/include/wpi/WindowsError\.h$
src/main/native/include/wpi/iterator\.h$
src/main/native/include/wpi/iterator_range\.h$
src/main/native/include/wpi/raw_os_ostream\.h$
src/main/native/include/wpi/raw_ostream\.h$
src/main/native/include/wpi/span\.h$
src/main/native/thirdparty/
src/main/native/include/wpi/fs\.h$
src/main/native/include/wpi/mpack\.h$
src/main/native/cpp/fs\.cpp$
src/main/native/cpp/mpack\.cpp$
src/main/native/include/wpi/ghc/
src/test/native/cpp/span/
src/main/native/include/wpi/type_traits\.h$
src/main/native/cpp/json
src/main/native/include/wpi/json
src/test/native/cpp/json/
src/main/native/fmtlib/
src/main/native/resources/
src/test/native/cpp/llvm/
src/main/native/windows/StackWalker
src/test/native/cpp/llvm/
src/test/native/cpp/span/
src/test/native/cpp/json/
}
licenseUpdateExclude {
src/main/native/cpp/Base64\.cpp$
src/main/native/cpp/sha1\.cpp$
src/main/native/include/wpi/ConcurrentQueue\.h$
src/main/native/include/wpi/Path\.h$
src/main/native/include/wpi/sha1\.h$
}

View File

@@ -87,14 +87,17 @@ endif()
GENERATE_RESOURCES(src/main/native/resources generated/main/cpp WPI wpi wpiutil_resources_src)
file(GLOB_RECURSE wpiutil_native_src src/main/native/cpp/*.cpp)
file(GLOB_RECURSE wpiutil_native_src src/main/native/cpp/*.cpp
src/main/native/thirdparty/json/cpp/*.cpp
src/main/native/thirdparty/llvm/cpp/*.cpp
src/main/native/thirdparty/mpack/cpp/*.cpp)
list(REMOVE_ITEM wpiutil_native_src ${wpiutil_jni_src})
file(GLOB_RECURSE wpiutil_unix_src src/main/native/unix/*.cpp)
file(GLOB_RECURSE wpiutil_linux_src src/main/native/linux/*.cpp)
file(GLOB_RECURSE wpiutil_macos_src src/main/native/macOS/*.cpp)
file(GLOB_RECURSE wpiutil_windows_src src/main/native/windows/*.cpp)
file(GLOB fmtlib_native_src src/main/native/fmtlib/src/*.cpp)
file(GLOB fmtlib_native_src src/main/native/thirdparty/fmtlib/src/*.cpp)
add_library(wpiutil ${wpiutil_native_src} ${fmtlib_native_src} ${wpiutil_resources_src})
set_target_properties(wpiutil PROPERTIES DEBUG_POSTFIX "d")
@@ -118,7 +121,7 @@ if (NOT USE_VCPKG_FMTLIB)
target_sources(wpiutil PRIVATE ${fmtlib_native_src})
install(DIRECTORY src/main/native/fmtlib/include/ DESTINATION "${include_dest}/wpiutil")
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/fmtlib/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/fmtlib/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
else()
find_package(fmt CONFIG REQUIRED)
@@ -139,6 +142,24 @@ endif()
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/ghc/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/json/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/llvm/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/mpack/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/sigslot/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
target_include_directories(wpiutil PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/tcb_span/include>
$<INSTALL_INTERFACE:${include_dest}/wpiutil>)
install(TARGETS wpiutil EXPORT wpiutil DESTINATION "${main_lib_dest}")
install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpiutil")

View File

@@ -17,11 +17,57 @@ ext {
it.sources {
fmtlibCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/fmtlib/src'
srcDirs 'src/main/native/thirdparty/fmtlib/src'
include '*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/fmtlib/include'
srcDirs 'src/main/native/thirdparty/fmtlib/include'
}
}
ghcCpp(CppSourceSet) {
exportedHeaders {
srcDirs 'src/main/native/thirdparty/ghc/include'
}
}
jsonCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/thirdparty/json/cpp'
include '*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/tcb_span/include', 'src/main/native/thirdparty/fmtlib/include'
}
}
llvmCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/thirdparty/llvm'
include '**/*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/tcb_span/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/ghc/include'
}
}
mpackCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/thirdparty/mpack/src'
include '*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/thirdparty/mpack/include'
}
}
sigslotCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/thirdparty/sigslot/src'
include '*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/thirdparty/sigslot/include'
}
}
tcbSpanCpp(CppSourceSet) {
exportedHeaders {
srcDirs 'src/main/native/thirdparty/tcb_span/include'
}
}
resourcesCpp(CppSourceSet) {
@@ -43,7 +89,7 @@ ext {
include '**/*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/cpp'
srcDirs 'src/main/native/include', 'src/main/native/cpp', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/tcb_span/include'
include '**/*.h'
}
}
@@ -53,11 +99,11 @@ ext {
it.sources {
wpiutilWindowsCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/windows'
srcDirs 'src/main/native/windows', 'src/main/native/llvm/cpp/llvm', 'src/main/native/json/cpp'
include '**/*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/cpp'
srcDirs 'src/main/native/include', 'src/main/native/cpp', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/tcb_span/include'
include '**/*.h'
}
}
@@ -66,11 +112,11 @@ ext {
it.sources {
wpiutilmacOSCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/macOS'
srcDirs 'src/main/native/macOS', 'src/main/native/llvm/cpp/llvm', 'src/main/native/json/cpp'
include '**/*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/cpp'
srcDirs 'src/main/native/include', 'src/main/native/cpp', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/tcb_span/include'
include '**/*.h'
}
}
@@ -79,11 +125,11 @@ ext {
it.sources {
wpiutilLinuxCpp(CppSourceSet) {
source {
srcDirs 'src/main/native/linux'
srcDirs 'src/main/native/linux', 'src/main/native/llvm/cpp/llvm', 'src/main/native/json/cpp'
include '**/*.cpp'
}
exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/cpp', 'src/main/native/fmtlib/include'
srcDirs 'src/main/native/include', 'src/main/native/cpp', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/tcb_span/include'
include '**/*.h'
}
}
@@ -123,7 +169,34 @@ nativeUtils.exportsConfigs {
}
cppHeadersZip {
from('src/main/native/fmtlib/include') {
from('src/main/native/thirdparty/fmtlib/include') {
into '/'
}
from('src/main/native/thirdparty/ghc/include') {
into '/'
}
from('src/main/native/thirdparty/json/include') {
into '/'
}
from('src/main/native/thirdparty/llvm/include') {
into '/'
}
from('src/main/native/thirdparty/mpack/include') {
into '/'
}
from('src/main/native/thirdparty/sigslot/include') {
into '/'
}
from('src/main/native/thirdparty/tcb_span/include') {
into '/'
}
}
cppSourcesZip {
from('src/main/native/thirdparty/llvm/cpp') {
into '/'
}
from('src/main/native/thirdparty/json/cpp') {
into '/'
}
}
@@ -133,7 +206,7 @@ model {
all {
it.sources.each {
it.exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/fmtlib/include'
srcDirs 'src/main/native/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/tcb_span/include', 'src/main/native/thirdparty/ghc/include'
}
}
}

View File

@@ -1,15 +0,0 @@
#ifndef WPI_REVERSEITERATION_H
#define WPI_REVERSEITERATION_H
#include "wpi/PointerLikeTypeTraits.h"
namespace wpi {
template<class T = void *>
constexpr bool shouldReverseIterate() {
return false;
}
}
#endif

View File

@@ -40,7 +40,7 @@ using fstream = std::fstream;
#ifndef GHC_USE_STD_FS
// #define GHC_WIN_DISABLE_WSTRING_STORAGE_TYPE
#define GHC_FILESYSTEM_FWD
#include "ghc/filesystem.hpp"
#include "wpi/ghc/filesystem.hpp"
namespace fs {
using namespace ghc::filesystem;
using ifstream = ghc::filesystem::ifstream;

View File

@@ -9,7 +9,7 @@
#include <mutex>
#include <thread>
#include "Compiler.h"
#include "wpi/Compiler.h"
namespace wpi {

View File

@@ -0,0 +1,18 @@
#ifndef WPIUTIL_WPI_REVERSEITERATION_H
#define WPIUTIL_WPI_REVERSEITERATION_H
#include "wpi/PointerLikeTypeTraits.h"
namespace wpi {
template<class T = void *>
bool shouldReverseIterate() {
#if LLVM_ENABLE_REVERSE_ITERATION
return detail::IsPointerLike<T>::value;
#else
return false;
#endif
}
}
#endif

Some files were not shown because too many files have changed in this diff Show More