Skip to content

Commit ced0b32

Browse files
committed
Cleanup repository
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
1 parent 1692174 commit ced0b32

19 files changed

+156
-309
lines changed

CMakeLists.txt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cmake_minimum_required(VERSION 3.16)
2+
# We use live-at-head instead of versioning
23
project(hydra VERSION 0.0.0 LANGUAGES C CXX)
34
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
45

56
option(SOURCEMETA_HYDRA_INSTALL "Install the Sourcemeta Hydra library" ON)
67
option(SOURCEMETA_HYDRA_TESTS "Build the Sourcemeta Hydra tests" OFF)
78

8-
# Compiler detection
99
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
1010
set(HYDRA_COMPILER_LLVM ON)
1111
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
@@ -39,16 +39,17 @@ if(CMAKE_SYSTEM_NAME STREQUAL "MSYS")
3939
endif()
4040

4141
find_package(ZLIB REQUIRED)
42-
# mbedTLS is only used on Unix platforms and MSYS2 (Windows/MSVC uses Schannel for SSL)
42+
4343
if(NOT WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "MSYS")
4444
find_package(MbedTLS REQUIRED)
4545
endif()
46+
4647
find_package(Nghttp2 REQUIRED)
47-
# c-ares is only used on non-Windows platforms due to Windows deadlock issues
48-
# MSYS2 also has issues with c-ares, so exclude it there too
48+
4949
if(NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "MSYS")
5050
find_package(CAres REQUIRED)
5151
endif()
52+
5253
find_package(PSL REQUIRED)
5354
find_package(CURL REQUIRED)
5455
find_package(CPR REQUIRED)

Dockerfile

Lines changed: 0 additions & 19 deletions
This file was deleted.

Makefile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Programs
22
CMAKE = cmake
33
CTEST = ctest
4-
DOCKER = docker
54

65
# Options
76
PRESET = Debug
@@ -27,12 +26,8 @@ compile: .always
2726
test: .always
2827
$(CTEST) --test-dir ./build --build-config $(PRESET) --output-on-failure --parallel
2928

30-
docker: .always
31-
$(DOCKER) build . --file Dockerfile --progress plain
32-
3329
clean: .always
3430
$(CMAKE) -E rm -R -f build
35-
$(DOCKER) system prune --force --all --volumes || true
3631

3732
# For NMake, which doesn't support .PHONY
3833
.always:

cmake/FindCAres.cmake

Lines changed: 66 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
if(NOT CAres_FOUND)
22
set(CARES_DIR "${PROJECT_SOURCE_DIR}/vendor/c-ares")
33

4-
# Read version from DEPENDENCIES file
54
file(STRINGS "${PROJECT_SOURCE_DIR}/DEPENDENCIES" CARES_VERSION_LINE
65
REGEX "^c-ares ")
76
if(CARES_VERSION_LINE)
@@ -11,7 +10,7 @@ if(NOT CAres_FOUND)
1110
set(CARES_VERSION_PATCH "${CMAKE_MATCH_3}")
1211
set(CARES_VERSION_STRING "${CARES_VERSION_MAJOR}.${CARES_VERSION_MINOR}.${CARES_VERSION_PATCH}")
1312
else()
14-
message(FATAL_ERROR "Could not find c-ares version in DEPENDENCIES file")
13+
message(FATAL_ERROR "Could not find c-ares version in DEPENDENCIES")
1514
endif()
1615

1716
set(CARES_PUBLIC_HEADERS
@@ -117,19 +116,53 @@ if(NOT CAres_FOUND)
117116
add_library(cares ${CARES_SOURCES})
118117

119118
if(HYDRA_COMPILER_MSVC)
120-
target_compile_options(cares PRIVATE
121-
/W3
122-
/wd4996
123-
/wd4013
124-
/MP)
125-
target_compile_definitions(cares PRIVATE
126-
_CRT_SECURE_NO_WARNINGS
127-
CARES_BUILDING_LIBRARY
128-
HAVE_WS2TCPIP_H
129-
HAVE_IPHLPAPI_H
130-
HAVE_SYS_STAT_H
131-
HAVE_IOCTLSOCKET
132-
HAVE_IOCTLSOCKET_FIONBIO)
119+
target_compile_options(cares PRIVATE /W3 /wd4996 /wd4013 /MP)
120+
set(CARES_TYPEOF_ARES_SOCKLEN_T "int")
121+
set(CARES_TYPEOF_ARES_SSIZE_T "SSIZE_T")
122+
set(RECV_TYPE_ARG1 "SOCKET")
123+
set(RECV_TYPE_ARG2 "char *")
124+
set(RECV_TYPE_ARG3 "int")
125+
set(RECV_TYPE_ARG4 "int")
126+
set(RECVFROM_TYPE_ARG1 "SOCKET")
127+
set(RECVFROM_TYPE_ARG2 "char *")
128+
set(RECVFROM_TYPE_ARG3 "int")
129+
set(RECVFROM_TYPE_ARG4 "int")
130+
set(RECVFROM_TYPE_ARG5 "struct sockaddr *")
131+
set(RECVFROM_TYPE_ARG6 "int *")
132+
set(SEND_TYPE_ARG1 "SOCKET")
133+
set(SEND_TYPE_ARG2 "const char *")
134+
set(SEND_TYPE_ARG3 "int")
135+
set(SEND_TYPE_ARG4 "int")
136+
set(GETHOSTNAME_TYPE_ARG2 "int")
137+
set(GETNAMEINFO_TYPE_ARG1 "struct sockaddr *")
138+
set(GETNAMEINFO_TYPE_ARG2 "int")
139+
set(GETNAMEINFO_TYPE_ARG46 "DWORD")
140+
set(GETNAMEINFO_TYPE_ARG7 "int")
141+
target_compile_definitions(cares PRIVATE _CRT_SECURE_NO_WARNINGS)
142+
target_compile_definitions(cares PRIVATE HAVE_WINDOWS_H)
143+
target_compile_definitions(cares PRIVATE HAVE_WINSOCK2_H)
144+
target_compile_definitions(cares PRIVATE HAVE_WS2TCPIP_H)
145+
target_compile_definitions(cares PRIVATE HAVE_IPHLPAPI_H)
146+
target_compile_definitions(cares PRIVATE HAVE_NETIOAPI_H)
147+
target_compile_definitions(cares PRIVATE HAVE_SYS_STAT_H)
148+
target_compile_definitions(cares PRIVATE HAVE_STRUCT_TIMEVAL)
149+
target_compile_definitions(cares PRIVATE HAVE_STRUCT_SOCKADDR_IN6)
150+
target_compile_definitions(cares PRIVATE HAVE_STRUCT_ADDRINFO)
151+
target_compile_definitions(cares PRIVATE HAVE_AF_INET6)
152+
target_compile_definitions(cares PRIVATE HAVE_RECV)
153+
target_compile_definitions(cares PRIVATE HAVE_RECVFROM)
154+
target_compile_definitions(cares PRIVATE HAVE_SEND)
155+
target_compile_definitions(cares PRIVATE HAVE_SENDTO)
156+
target_compile_definitions(cares PRIVATE HAVE_IOCTLSOCKET)
157+
target_compile_definitions(cares PRIVATE HAVE_IOCTLSOCKET_FIONBIO)
158+
target_compile_definitions(cares PRIVATE HAVE_ERRNO_H)
159+
target_compile_definitions(cares PRIVATE HAVE_STDLIB_H)
160+
target_compile_definitions(cares PRIVATE HAVE_STRING_H)
161+
target_compile_definitions(cares PRIVATE HAVE_LIMITS_H)
162+
target_compile_definitions(cares PRIVATE HAVE_STDINT_H)
163+
target_compile_definitions(cares PRIVATE _WIN32_WINNT=0x0600)
164+
target_link_libraries(cares PRIVATE ws2_32)
165+
target_link_libraries(cares PRIVATE iphlpapi)
133166
else()
134167
target_compile_options(cares PRIVATE
135168
-Wall
@@ -153,82 +186,33 @@ if(NOT CAres_FOUND)
153186
-fno-math-errno
154187
-fwrapv)
155188
endif()
156-
endif()
157189

158-
# Generate configuration headers
159-
if(WIN32 AND HYDRA_COMPILER_MSVC)
160-
set(CARES_TYPEOF_ARES_SOCKLEN_T "int")
161-
set(CARES_TYPEOF_ARES_SSIZE_T "SSIZE_T")
162-
else()
163190
set(CARES_TYPEOF_ARES_SOCKLEN_T "socklen_t")
164191
set(CARES_TYPEOF_ARES_SSIZE_T "ssize_t")
165-
endif()
166-
167-
# Socket function type definitions for Unix and Unix-like (MSYS2)
168-
if(UNIX OR CMAKE_SYSTEM_NAME STREQUAL "MSYS")
169192
set(RECV_TYPE_ARG1 "int")
170193
set(RECV_TYPE_ARG2 "void *")
171194
set(RECV_TYPE_ARG3 "size_t")
172195
set(RECV_TYPE_ARG4 "int")
173-
174196
set(RECVFROM_TYPE_ARG1 "int")
175197
set(RECVFROM_TYPE_ARG2 "void *")
176198
set(RECVFROM_TYPE_ARG3 "size_t")
177199
set(RECVFROM_TYPE_ARG4 "int")
178200
set(RECVFROM_TYPE_ARG5 "struct sockaddr *")
179201
set(RECVFROM_TYPE_ARG6 "socklen_t *")
180-
181202
set(SEND_TYPE_ARG1 "int")
182203
set(SEND_TYPE_ARG2 "const void *")
183204
set(SEND_TYPE_ARG3 "size_t")
184205
set(SEND_TYPE_ARG4 "int")
185-
186206
set(GETHOSTNAME_TYPE_ARG2 "size_t")
187207
set(GETNAMEINFO_TYPE_ARG1 "struct sockaddr *")
188208
set(GETNAMEINFO_TYPE_ARG2 "socklen_t")
189209
set(GETNAMEINFO_TYPE_ARG46 "size_t")
190210
set(GETNAMEINFO_TYPE_ARG7 "int")
191-
elseif(WIN32 AND HYDRA_COMPILER_MSVC)
192-
set(RECV_TYPE_ARG1 "SOCKET")
193-
set(RECV_TYPE_ARG2 "char *")
194-
set(RECV_TYPE_ARG3 "int")
195-
set(RECV_TYPE_ARG4 "int")
196211

197-
set(RECVFROM_TYPE_ARG1 "SOCKET")
198-
set(RECVFROM_TYPE_ARG2 "char *")
199-
set(RECVFROM_TYPE_ARG3 "int")
200-
set(RECVFROM_TYPE_ARG4 "int")
201-
set(RECVFROM_TYPE_ARG5 "struct sockaddr *")
202-
set(RECVFROM_TYPE_ARG6 "int *")
203-
204-
set(SEND_TYPE_ARG1 "SOCKET")
205-
set(SEND_TYPE_ARG2 "const char *")
206-
set(SEND_TYPE_ARG3 "int")
207-
set(SEND_TYPE_ARG4 "int")
208-
209-
set(GETHOSTNAME_TYPE_ARG2 "int")
210-
set(GETNAMEINFO_TYPE_ARG1 "struct sockaddr *")
211-
set(GETNAMEINFO_TYPE_ARG2 "int")
212-
set(GETNAMEINFO_TYPE_ARG46 "DWORD")
213-
set(GETNAMEINFO_TYPE_ARG7 "int")
214-
endif()
215-
216-
configure_file("${CARES_DIR}/include/ares_build.h.cmake"
217-
"${CMAKE_CURRENT_BINARY_DIR}/cares_generated/ares_build.h" @ONLY)
218-
configure_file("${CARES_DIR}/src/lib/ares_config.h.cmake"
219-
"${CMAKE_CURRENT_BINARY_DIR}/cares_generated/ares_config.h" @ONLY)
220-
221-
target_compile_definitions(cares PRIVATE HAVE_CONFIG_H)
222-
target_compile_definitions(cares PRIVATE CARES_BUILDING_LIBRARY)
223-
if(NOT BUILD_SHARED_LIBS)
224-
target_compile_definitions(cares PUBLIC CARES_STATICLIB)
225-
endif()
226-
227-
# Platform-specific defines
228-
if(UNIX OR CMAKE_SYSTEM_NAME STREQUAL "MSYS")
229212
if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "MSYS")
230213
target_compile_definitions(cares PRIVATE _POSIX_C_SOURCE=199309L)
231214
endif()
215+
232216
target_compile_definitions(cares PRIVATE HAVE_SYS_TIME_H)
233217
target_compile_definitions(cares PRIVATE HAVE_TIME_H)
234218
target_compile_definitions(cares PRIVATE HAVE_SYS_SELECT_H)
@@ -260,27 +244,22 @@ if(NOT CAres_FOUND)
260244
target_compile_definitions(cares PRIVATE HAVE_GETTIMEOFDAY)
261245
target_compile_definitions(cares PRIVATE HAVE_CLOCK_GETTIME_MONOTONIC)
262246
target_compile_definitions(cares PRIVATE HAVE_STDINT_H)
263-
elseif(WIN32 AND HYDRA_COMPILER_MSVC)
264-
target_compile_definitions(cares PRIVATE HAVE_WINDOWS_H)
265-
target_compile_definitions(cares PRIVATE HAVE_WINSOCK2_H)
266-
target_compile_definitions(cares PRIVATE HAVE_WS2TCPIP_H)
267-
target_compile_definitions(cares PRIVATE HAVE_IPHLPAPI_H)
268-
target_compile_definitions(cares PRIVATE HAVE_NETIOAPI_H)
269-
target_compile_definitions(cares PRIVATE HAVE_STRUCT_TIMEVAL)
270-
target_compile_definitions(cares PRIVATE HAVE_STRUCT_SOCKADDR_IN6)
271-
target_compile_definitions(cares PRIVATE HAVE_STRUCT_ADDRINFO)
272-
target_compile_definitions(cares PRIVATE HAVE_AF_INET6)
273-
target_compile_definitions(cares PRIVATE HAVE_RECV)
274-
target_compile_definitions(cares PRIVATE HAVE_RECVFROM)
275-
target_compile_definitions(cares PRIVATE HAVE_SEND)
276-
target_compile_definitions(cares PRIVATE HAVE_SENDTO)
277-
target_compile_definitions(cares PRIVATE HAVE_ERRNO_H)
278-
target_compile_definitions(cares PRIVATE HAVE_STDLIB_H)
279-
target_compile_definitions(cares PRIVATE HAVE_STRING_H)
280-
target_compile_definitions(cares PRIVATE HAVE_LIMITS_H)
281-
target_compile_definitions(cares PRIVATE HAVE_STDINT_H)
282-
# Windows version for IP Helper API
283-
target_compile_definitions(cares PRIVATE _WIN32_WINNT=0x0600)
247+
248+
if(APPLE)
249+
target_link_libraries(cares PRIVATE "-framework CoreFoundation")
250+
target_link_libraries(cares PRIVATE "-framework SystemConfiguration")
251+
endif()
252+
endif()
253+
254+
configure_file("${CARES_DIR}/include/ares_build.h.cmake"
255+
"${CMAKE_CURRENT_BINARY_DIR}/cares_generated/ares_build.h" @ONLY)
256+
configure_file("${CARES_DIR}/src/lib/ares_config.h.cmake"
257+
"${CMAKE_CURRENT_BINARY_DIR}/cares_generated/ares_config.h" @ONLY)
258+
259+
target_compile_definitions(cares PRIVATE HAVE_CONFIG_H)
260+
target_compile_definitions(cares PRIVATE CARES_BUILDING_LIBRARY)
261+
if(NOT BUILD_SHARED_LIBS)
262+
target_compile_definitions(cares PUBLIC CARES_STATICLIB)
284263
endif()
285264

286265
target_include_directories(cares PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/cares_generated")
@@ -291,14 +270,8 @@ if(NOT CAres_FOUND)
291270
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/cares_generated>"
292271
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
293272

294-
if(APPLE)
295-
target_link_libraries(cares PRIVATE "-framework CoreFoundation")
296-
target_link_libraries(cares PRIVATE "-framework SystemConfiguration")
297-
elseif(WIN32)
298-
target_link_libraries(cares PRIVATE ws2_32 iphlpapi)
299-
endif()
300-
301273
add_library(CAres::cares ALIAS cares)
274+
add_library(c-ares::cares ALIAS cares)
302275

303276
set_target_properties(cares
304277
PROPERTIES
@@ -332,7 +305,6 @@ if(NOT CAres_FOUND)
332305
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cares"
333306
COMPONENT sourcemeta_hydra_dev)
334307

335-
# Install headers
336308
install(FILES ${CARES_PUBLIC_HEADERS}
337309
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
338310
COMPONENT sourcemeta_hydra_dev)

cmake/FindCPR.cmake

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,7 @@ if(NOT CPR_FOUND)
8686
"${CPR_DIR}/cpr/util.cpp")
8787

8888
if(HYDRA_COMPILER_MSVC)
89-
target_compile_options(cpr PRIVATE
90-
/W3
91-
/MP
92-
/EHsc
93-
/wd4996
94-
/wd4244
95-
/GS-)
89+
target_compile_options(cpr PRIVATE /W3 /MP /EHsc /wd4996 /wd4244 /GS-)
9690
target_compile_definitions(cpr PRIVATE _CRT_SECURE_NO_WARNINGS)
9791
else()
9892
target_compile_options(cpr PRIVATE
@@ -125,6 +119,7 @@ if(NOT CPR_FOUND)
125119
endif()
126120
endif()
127121

122+
# We don't need to know the actual version
128123
set(cpr_VERSION "0.0.0")
129124
set(cpr_VERSION_MAJOR 0)
130125
set(cpr_VERSION_MINOR 0)
@@ -174,7 +169,6 @@ if(NOT CPR_FOUND)
174169
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cpr"
175170
COMPONENT sourcemeta_hydra_dev)
176171

177-
# Install headers
178172
install(DIRECTORY "${CPR_DIR}/include/cpr"
179173
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
180174
COMPONENT sourcemeta_hydra_dev)

0 commit comments

Comments
 (0)