• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) The c-ares project and its contributors
2# SPDX-License-Identifier: MIT
3IF (CARES_BUILD_TOOLS)
4	# Transform Makefile.inc
5	transform_makefile_inc("Makefile.inc" "${PROJECT_BINARY_DIR}/src/tools/Makefile.inc.cmake")
6	include(${PROJECT_BINARY_DIR}/src/tools/Makefile.inc.cmake)
7
8	# Build ahost
9	ADD_EXECUTABLE (ahost ahost.c ${SAMPLESOURCES})
10	TARGET_INCLUDE_DIRECTORIES (ahost
11		PUBLIC "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>"
12		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>"
13		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/lib>"
14		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/lib/include>"
15		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
16		       "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
17		PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}"
18	)
19	SET_TARGET_PROPERTIES (ahost PROPERTIES
20		C_STANDARD                   90
21	)
22
23	IF (ANDROID)
24		SET_TARGET_PROPERTIES (ahost PROPERTIES C_STANDARD 99)
25	ENDIF ()
26
27	TARGET_COMPILE_DEFINITIONS (ahost PRIVATE HAVE_CONFIG_H=1 CARES_NO_DEPRECATED)
28	TARGET_LINK_LIBRARIES (ahost PRIVATE ${PROJECT_NAME})
29
30	# Avoid "fatal error C1041: cannot open program database" due to multiple
31	# targets trying to use the same PDB.  /FS does NOT resolve this issue.
32	SET_TARGET_PROPERTIES(ahost PROPERTIES COMPILE_PDB_NAME ahost.pdb)
33
34	IF (CARES_INSTALL)
35		INSTALL (TARGETS ahost COMPONENT Tools ${TARGETS_INST_DEST})
36	ENDIF ()
37
38
39	# Build adig
40	ADD_EXECUTABLE (adig adig.c)
41	# Don't build adig and ahost in parallel.  This is to prevent a Windows MSVC
42	# build error due to them both using the same source files.
43	ADD_DEPENDENCIES(adig ahost)
44	TARGET_INCLUDE_DIRECTORIES (adig
45		PUBLIC "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>"
46		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>"
47		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/lib>"
48		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/lib/include>"
49		       "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
50		       "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
51		PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}"
52	)
53	SET_TARGET_PROPERTIES (adig PROPERTIES
54		C_STANDARD                   90
55	)
56
57	IF (ANDROID)
58		SET_TARGET_PROPERTIES (adig PROPERTIES C_STANDARD 99)
59	ENDIF ()
60
61	TARGET_COMPILE_DEFINITIONS (adig PRIVATE HAVE_CONFIG_H=1 CARES_NO_DEPRECATED)
62	TARGET_LINK_LIBRARIES (adig PRIVATE ${PROJECT_NAME})
63
64	# Avoid "fatal error C1041: cannot open program database" due to multiple
65	# targets trying to use the same PDB.  /FS does NOT resolve this issue.
66	SET_TARGET_PROPERTIES(adig PROPERTIES COMPILE_PDB_NAME adig.pdb)
67
68	IF (CARES_INSTALL)
69		INSTALL (TARGETS adig COMPONENT Tools ${TARGETS_INST_DEST})
70	ENDIF ()
71ENDIF ()
72