Skip to content

Commit 05b633c

Browse files
Switch to git submodule for third party dependencies
1 parent 46e26ab commit 05b633c

File tree

7 files changed

+37
-83
lines changed

7 files changed

+37
-83
lines changed

.gitmodules

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[submodule "third_party/--force"]
2+
path = third_party/--force
3+
url = https://github.com/richgel999/fpng
4+
[submodule "third_party/fpng"]
5+
path = third_party/fpng
6+
url = https://github.com/richgel999/fpng
7+
[submodule "third_party/wuffs"]
8+
path = third_party/wuffs
9+
url = https://github.com/google/wuffs-mirror-release-c
10+
[submodule "third_party/abseil"]
11+
path = third_party/abseil
12+
url = https://github.com/abseil/abseil-cpp
13+
[submodule "third_party/grpc"]
14+
path = third_party/grpc
15+
url = https://github.com/grpc/grpc
16+
[submodule "third_party/libyuv"]
17+
path = third_party/libyuv
18+
url = https://chromium.googlesource.com/libyuv/libyuv

CMakeLists.txt

Lines changed: 14 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -33,75 +33,17 @@ else()
3333
option(USE_WUFFS_LIBJPEG_READER "Use Wuffs and libjpeg to read images" ON)
3434
endif()
3535

36-
include(FetchContent)
37-
set(FETCHCONTENT_QUIET OFF)
38-
39-
FetchContent_Declare(
40-
fpng
41-
GIT_REPOSITORY https://github.com/richgel999/fpng
42-
GIT_TAG 357d3a6b73c769e190dafa254895be8e958cfd13
43-
GIT_PROGRESS TRUE
44-
)
45-
46-
FetchContent_Declare(
47-
wuffs
48-
GIT_REPOSITORY https://github.com/google/wuffs-mirror-release-c
49-
GIT_TAG v0.3.3
50-
GIT_PROGRESS TRUE
51-
)
52-
53-
FetchContent_Declare(
54-
abseil
55-
GIT_REPOSITORY https://github.com/abseil/abseil-cpp
56-
GIT_TAG 20240722.0
57-
GIT_SHALLOW TRUE
58-
GIT_PROGRESS TRUE
59-
OVERRIDE_FIND_PACKAGE
60-
)
61-
62-
FetchContent_Declare(
63-
grpc
64-
GIT_REPOSITORY https://github.com/grpc/grpc
65-
GIT_TAG v1.66.1
66-
GIT_SHALLOW TRUE
67-
GIT_PROGRESS TRUE
68-
GIT_SUBMODULES "third_party/boringssl-with-bazel;third_party/cares/cares;third_party/re2;third_party/zlib;third_party/envoy-api;third_party/googleapis;third_party/opencensus-proto;third_party/xds;third_party/protobuf"
69-
)
70-
71-
option(LIBYUV_USE_GITHUB_MIRROR "Use an UNOFFICIAL mirror for libyuv" OFF)
72-
73-
if (LIBYUV_USE_GITHUB_MIRROR)
74-
set(LIBYUV_GIT_REPOSITORY "https://github.com/lemenkov/libyuv")
75-
else ()
76-
set(LIBYUV_GIT_REPOSITORY "https://chromium.googlesource.com/libyuv/libyuv")
77-
endif ()
78-
FetchContent_Declare(
79-
libyuv
80-
GIT_REPOSITORY ${LIBYUV_GIT_REPOSITORY}
81-
GIT_TAG 0d5a31eccb71d2745f0b5f231909f221743b0a5b
82-
GIT_PROGRESS TRUE
83-
)
84-
85-
FetchContent_GetProperties(fpng)
86-
if(NOT fpng_POPULATED)
87-
FetchContent_Populate(fpng)
88-
endif()
89-
90-
add_library(image_fpng STATIC ${fpng_SOURCE_DIR}/src/fpng.h ${fpng_SOURCE_DIR}/src/fpng.cpp)
36+
add_library(image_fpng STATIC
37+
${CMAKE_CURRENT_SOURCE_DIR}/third_party/fpng/src/fpng.h
38+
${CMAKE_CURRENT_SOURCE_DIR}/third_party/fpng/src/fpng.cpp)
9139
target_compile_definitions(image_fpng PUBLIC FPNG_NO_STDIO)
9240
target_compile_options(image_fpng PRIVATE -msse4.1 -mpclmul -fno-strict-aliasing)
93-
target_include_directories(image_fpng INTERFACE ${fpng_SOURCE_DIR}/src)
41+
target_include_directories(image_fpng INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fpng/src)
9442
target_link_libraries(image_fpng PRIVATE CCCL::CCCL)
9543

9644
if(USE_WUFFS_LIBJPEG_READER)
97-
FetchContent_GetProperties(wuffs)
98-
if(NOT wuffs_POPULATED)
99-
FetchContent_Populate(wuffs)
100-
endif()
101-
10245
add_library(image_wuffs OBJECT image_io.h image_wuffs.cpp)
103-
104-
target_include_directories(image_wuffs PRIVATE ${wuffs_SOURCE_DIR}/release/c)
46+
target_include_directories(image_wuffs PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/wuffs/release/c)
10547

10648
find_package(PkgConfig)
10749
pkg_check_modules(JPEG REQUIRED IMPORTED_TARGET libjpeg)
@@ -114,12 +56,7 @@ if (LOCAL_DEPENDENCIES)
11456

11557
if (WITH_RPC_SERVICE)
11658
set(ABSL_PROPAGATE_CXX_STD 1)
117-
118-
FetchContent_GetProperties(abseil)
119-
if (NOT abseil_POPULATED)
120-
FetchContent_Populate(abseil)
121-
add_subdirectory(${abseil_SOURCE_DIR} ${abseil_BINARY_DIR} EXCLUDE_FROM_ALL)
122-
endif ()
59+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/abseil EXCLUDE_FROM_ALL SYSTEM)
12360

12461
set(protobuf_INSTALL OFF)
12562
set(protobuf_BUILD_TESTS OFF)
@@ -145,13 +82,9 @@ if (LOCAL_DEPENDENCIES)
14582
set(gRPC_ABSL_PROVIDER "package")
14683
set(gRPC_ZLIB_PROVIDER "module")
14784

148-
FetchContent_GetProperties(grpc)
149-
if (NOT grpc_POPULATED)
150-
FetchContent_Populate(grpc)
151-
add_subdirectory(${grpc_SOURCE_DIR} ${grpc_BINARY_DIR} EXCLUDE_FROM_ALL)
152-
# Have totally no idea why I need to do this.
153-
include(${grpc_SOURCE_DIR}/third_party/protobuf/cmake/protobuf-generate.cmake)
154-
endif ()
85+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/grpc EXCLUDE_FROM_ALL SYSTEM)
86+
# Have totally no idea why I need to do this.
87+
include(${grpc_SOURCE_DIR}/third_party/protobuf/cmake/protobuf-generate.cmake)
15588
if (NOT TARGET gRPC::grpc++)
15689
add_library(gRPC::grpc++ ALIAS grpc++)
15790
endif ()
@@ -160,11 +93,7 @@ if (LOCAL_DEPENDENCIES)
16093
endif ()
16194
endif()
16295

163-
FetchContent_GetProperties(libyuv)
164-
if(NOT libyuv_POPULATED)
165-
FetchContent_Populate(libyuv)
166-
add_subdirectory(${libyuv_SOURCE_DIR} ${libyuv_BINARY_DIR} EXCLUDE_FROM_ALL)
167-
endif()
96+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/libyuv EXCLUDE_FROM_ALL SYSTEM)
16897
else()
16998
if (WITH_RPC_SERVICE)
17099
find_package(absl REQUIRED)
@@ -173,7 +102,7 @@ else()
173102
find_package(libyuv REQUIRED)
174103
endif()
175104

176-
find_package(CUDAToolkit 12.0 REQUIRED)
105+
find_package(CUDAToolkit 12.0 REQUIRED COMPONENTS cudart)
177106
find_package(TensorRT 8.6.0 REQUIRED COMPONENTS OnnxParser)
178107
find_package(CCCL 2 REQUIRED)
179108

@@ -223,7 +152,9 @@ target_link_libraries(cmd_common PUBLIC
223152
absl::log_flags
224153
absl::log_initialize
225154
)
226-
target_include_directories(cmd_common PRIVATE ${libyuv_SOURCE_DIR}/include)
155+
if (LOCAL_DEPENDENCIES)
156+
target_include_directories(cmd_common PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libyuv/include)
157+
endif()
227158

228159
if (TensorRT_VERSION_STRING VERSION_LESS 9.0)
229160
add_library(trt_plugins STATIC

third_party/abseil

Submodule abseil added at d9e4955

third_party/fpng

Submodule fpng added at 9257965

third_party/grpc

Submodule grpc added at 4e9357b

third_party/libyuv

Submodule libyuv added at bf0f29f

third_party/wuffs

Submodule wuffs added at 50869df

0 commit comments

Comments
 (0)