# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

#############################################################
#                NOTE TO FUCHSIA DEVELOPERS
#
# Do not use CMake within the Fuchsia project. This CMake file is
# used only for the Cobalt stand-alone build, not for building
# Cobalt's Fuchsia client, nor any other component of Fuchsia.
#
# See:
# https://fuchsia.atlassian.net/projects/CB/issues/CB-61
#############################################################

# Note(rudominer) This file was created by hand by translating the BUILD.gn
# file in this directory into CMake.

CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12)

PROJECT (libcurl C)

add_definitions(-DBUILDING_LIBCURL=1)
add_definitions(-DCURL_HIDDEN_SYMBOLS=1)
add_definitions(-DHAVE_CONFIG_H=1)
add_definitions(-D_GNU_SOURCE=1)

file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/lib/curl_config.h.cobalt
     DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/curl_config.h.cobalt
            ${CMAKE_CURRENT_BINARY_DIR}/curl_config.h)

file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/include/curl/curlbuild.h.cobalt
     DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/curlbuild.h.cobalt
            ${CMAKE_CURRENT_BINARY_DIR}/curlbuild.h)

file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/include/curl/curlbuild.h.cobalt
     DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/curl)

file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/curl/curlbuild.h.cobalt
            ${CMAKE_CURRENT_BINARY_DIR}/curl/curlbuild.h)

include_directories("include")
include_directories("lib")
include_directories(BEFORE SYSTEM  ${OPENSSL_INCLUDE_DIR})
include_directories(BEFORE SYSTEM  ${ZLIB_INCLUDE_DIR})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_library(curl
  "lib/amigaos.c"
  "lib/amigaos.h"
  "lib/arpa_telnet.h"
  "lib/asyn-ares.c"
  "lib/asyn-thread.c"
  "lib/asyn.h"
  "lib/base64.c"
  "lib/conncache.c"
  "lib/conncache.h"
  "lib/connect.c"
  "lib/connect.h"
  "lib/content_encoding.c"
  "lib/content_encoding.h"
  "lib/cookie.c"
  "lib/cookie.h"
  "lib/curl_addrinfo.c"
  "lib/curl_addrinfo.h"
  "lib/curl_base64.h"
  "lib/curl_des.c"
  "lib/curl_des.h"
  "lib/curl_endian.c"
  "lib/curl_endian.h"
  "lib/curl_fnmatch.c"
  "lib/curl_fnmatch.h"
  "lib/curl_gethostname.c"
  "lib/curl_gethostname.h"
  "lib/curl_gssapi.c"
  "lib/curl_gssapi.h"
  "lib/curl_hmac.h"
  "lib/curl_ldap.h"
  "lib/curl_md4.h"
  "lib/curl_md5.h"
  "lib/curl_memory.h"
  "lib/curl_memrchr.c"
  "lib/curl_memrchr.h"
  "lib/curl_multibyte.c"
  "lib/curl_multibyte.h"
  "lib/curl_ntlm_core.c"
  "lib/curl_ntlm_core.h"
  "lib/curl_ntlm_wb.c"
  "lib/curl_ntlm_wb.h"
  "lib/curl_printf.h"
  "lib/curl_rtmp.c"
  "lib/curl_rtmp.h"
  "lib/curl_sasl.c"
  "lib/curl_sasl.h"
  "lib/curl_sec.h"
  "lib/curl_setup.h"
  "lib/curl_setup_once.h"
  "lib/curl_sspi.c"
  "lib/curl_sspi.h"
  "lib/curl_threads.c"
  "lib/curl_threads.h"
  "lib/curlx.h"
  "lib/dict.c"
  "lib/dict.h"
  "lib/dotdot.c"
  "lib/dotdot.h"
  "lib/easy.c"
  "lib/easyif.h"
  "lib/escape.c"
  "lib/escape.h"
  "lib/file.c"
  "lib/file.h"
  "lib/fileinfo.c"
  "lib/fileinfo.h"
  "lib/formdata.c"
  "lib/formdata.h"
  "lib/ftp.c"
  "lib/ftp.h"
  "lib/ftplistparser.c"
  "lib/ftplistparser.h"
  "lib/getenv.c"
  "lib/getinfo.c"
  "lib/getinfo.h"
  "lib/gopher.c"
  "lib/gopher.h"
  "lib/hash.c"
  "lib/hash.h"
  "lib/hmac.c"
  "lib/hostasyn.c"
  "lib/hostcheck.c"
  "lib/hostcheck.h"
  "lib/hostip.c"
  "lib/hostip.h"
  "lib/hostip4.c"
  "lib/hostip6.c"
  "lib/hostsyn.c"
  "lib/http.c"
  "lib/http.h"
  "lib/http2.c"
  "lib/http2.h"
  "lib/http_chunks.c"
  "lib/http_chunks.h"
  "lib/http_digest.c"
  "lib/http_digest.h"
  "lib/http_negotiate.c"
  "lib/http_negotiate.h"
  "lib/http_ntlm.c"
  "lib/http_ntlm.h"
  "lib/http_proxy.c"
  "lib/http_proxy.h"
  "lib/idn_win32.c"
  "lib/if2ip.c"
  "lib/if2ip.h"
  "lib/imap.c"
  "lib/imap.h"
  "lib/inet_ntop.c"
  "lib/inet_ntop.h"
  "lib/inet_pton.c"
  "lib/inet_pton.h"
  "lib/krb5.c"
  "lib/ldap.c"
  "lib/llist.c"
  "lib/llist.h"
  "lib/md4.c"
  "lib/md5.c"
  "lib/memdebug.c"
  "lib/memdebug.h"
  "lib/mprintf.c"
  "lib/multi.c"
  "lib/multihandle.h"
  "lib/multiif.h"
  "lib/netrc.c"
  "lib/netrc.h"
  "lib/non-ascii.c"
  "lib/non-ascii.h"
  "lib/nonblock.c"
  "lib/nonblock.h"
  "lib/openldap.c"
  "lib/parsedate.c"
  "lib/parsedate.h"
  "lib/pingpong.c"
  "lib/pingpong.h"
  "lib/pipeline.c"
  "lib/pipeline.h"
  "lib/pop3.c"
  "lib/pop3.h"
  "lib/progress.c"
  "lib/progress.h"
  "lib/rand.c"
  "lib/rand.h"
  "lib/rtsp.c"
  "lib/rtsp.h"
  "lib/security.c"
  "lib/select.c"
  "lib/select.h"
  "lib/sendf.c"
  "lib/sendf.h"
  "lib/setup-vms.h"
  "lib/share.c"
  "lib/share.h"
  "lib/sigpipe.h"
  "lib/slist.c"
  "lib/slist.h"
  "lib/smb.c"
  "lib/smb.h"
  "lib/smtp.c"
  "lib/smtp.h"
  "lib/sockaddr.h"
  "lib/socks.c"
  "lib/socks.h"
  "lib/socks_gssapi.c"
  "lib/socks_sspi.c"
  "lib/speedcheck.c"
  "lib/speedcheck.h"
  "lib/splay.c"
  "lib/splay.h"
  "lib/ssh.c"
  "lib/ssh.h"
  "lib/strcase.c"
  "lib/strcase.h"
  "lib/strdup.c"
  "lib/strdup.h"
  "lib/strerror.c"
  "lib/strerror.h"
  "lib/strtok.c"
  "lib/strtok.h"
  "lib/strtoofft.c"
  "lib/strtoofft.h"
  "lib/system_win32.c"
  "lib/system_win32.h"
  "lib/telnet.c"
  "lib/telnet.h"
  "lib/tftp.c"
  "lib/tftp.h"
  "lib/timeval.c"
  "lib/timeval.h"
  "lib/transfer.c"
  "lib/transfer.h"
  "lib/url.c"
  "lib/url.h"
  "lib/urldata.h"
  "lib/vauth/cleartext.c"
  "lib/vauth/cram.c"
  "lib/vauth/digest.c"
  "lib/vauth/digest.h"
  "lib/vauth/digest_sspi.c"
  "lib/vauth/krb5_gssapi.c"
  "lib/vauth/krb5_sspi.c"
  "lib/vauth/ntlm.c"
  "lib/vauth/ntlm.h"
  "lib/vauth/ntlm_sspi.c"
  "lib/vauth/oauth2.c"
  "lib/vauth/spnego_gssapi.c"
  "lib/vauth/spnego_sspi.c"
  "lib/vauth/vauth.c"
  "lib/vauth/vauth.h"
  "lib/version.c"
  "lib/vtls/axtls.c"
  "lib/vtls/axtls.h"
  "lib/vtls/cyassl.c"
  "lib/vtls/cyassl.h"
  "lib/vtls/darwinssl.c"
  "lib/vtls/darwinssl.h"
  "lib/vtls/gskit.c"
  "lib/vtls/gskit.h"
  "lib/vtls/gtls.c"
  "lib/vtls/gtls.h"
  "lib/vtls/mbedtls.c"
  "lib/vtls/mbedtls.h"
  "lib/vtls/nss.c"
  "lib/vtls/nssg.h"
  "lib/vtls/openssl.c"
  "lib/vtls/openssl.h"
  "lib/vtls/polarssl.c"
  "lib/vtls/polarssl.h"
  "lib/vtls/polarssl_threadlock.c"
  "lib/vtls/polarssl_threadlock.h"
  "lib/vtls/schannel.c"
  "lib/vtls/schannel.h"
  "lib/vtls/vtls.c"
  "lib/vtls/vtls.h"
  "lib/warnless.c"
  "lib/warnless.h"
  "lib/wildcard.c"
  "lib/wildcard.h"
  "lib/x509asn1.c"
  "lib/x509asn1.h"
)

