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