#### EDITOR SUPPORT ####
## This file exists ONLY to support code editors (e.g. Visual Code, CLion).
##
## !!!-> IT WILL NOT BUILD TRAFFIC SERVER <-!!!
##
## This file can be tweaked to keep editors happy. In general all projects
## should be defined here so there is only one instance of this file, not one
## per directory. This has been done only to the extent that someone using
## such an editor needed it, so much work is left to be done.
#######################
#
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
#######################

cmake_minimum_required(VERSION 3.7)
project(ats)

set(CMAKE_CXX_STANDARD 11)

include_directories(lib
        include
        proxy
        proxy/hdrs
        proxy/http
        proxy/http/remap
        proxy/shared
        lib/records
        include/wccp
        lib/yamlcpp/include
        iocore/eventsystem
        iocore/net
        iocore/dns
        iocore/hostdb
        iocore/aio
        iocore/cache
        iocore/utils
        mgmt
        mgmt/api
        mgmt/utils
        mgmt/api/include
        proxy/api)

add_executable(traffic_crashlog
        src/traffic_crashlog/procinfo.cc
        src/traffic_crashlog/traffic_crashlog.cc
        src/traffic_crashlog/traffic_crashlog.h
)

add_executable(traffic_ctl
        src/traffic_ctl/alarm.cc
        src/traffic_ctl/config.cc
        src/traffic_ctl/plugin.cc
        src/traffic_ctl/server.cc
        src/traffic_ctl/storage.cc
        src/traffic_ctl/traffic_ctl.cc
        src/traffic_ctl/traffic_ctl.h
        src/traffic_layout/engine.cc
)

add_executable(traffic_layout
        src/traffic_layout/engine.h
        src/traffic_layout/file_system.cc
        src/traffic_layout/file_system.h
        src/traffic_layout/info.cc
        src/traffic_layout/info.h
        src/traffic_layout/traffic_layout.cc
)

add_executable(traffic_logcat
        src/traffic_logcat/logcat.cc
)

add_executable(traffic_logstats
        src/traffic_logstats/logstats.cc
)

add_executable(traffic_manager
        src/traffic_manager/AddConfigFilesHere.cc
        src/traffic_manager/traffic_manager.cc
)

add_executable(traffic_server
        src/traffic_server/CoreUtils.cc
        src/traffic_server/CoreUtils.h
        src/traffic_server/Crash.cc
        src/traffic_server/EventName.cc
        src/traffic_server/EventName.h
        src/traffic_server/FetchSM.cc
        src/traffic_server/FetchSM.h
        src/traffic_server/HostStatus.cc
        src/traffic_server/InkAPI.cc
        src/traffic_server/InkAPITest.cc
        src/traffic_server/InkIOCoreAPI.cc
        src/traffic_server/SocksProxy.cc
        src/traffic_server/traffic_server.cc
)

add_executable(ats
        src/traffic_via/traffic_via.cc
        src/traffic_wccp/wccp_client.cc
        example/add_header/add_header.c
        example/append_transform/append_transform.c
        example/basic_auth/basic_auth.c
        example/blacklist_0/blacklist_0.c
        example/blacklist_1/blacklist_1.c
        example/bnull_transform/bnull_transform.c
        example/cache_scan/cache_scan.cc
        example/cppapi/async_http_fetch/AsyncHttpFetch.cc
        example/cppapi/async_http_fetch_streaming/AsyncHttpFetchStreaming.cc
        example/cppapi/async_timer/AsyncTimer.cc
        example/cppapi/boom/boom.cc
        example/cppapi/clientredirect/ClientRedirect.cc
        example/cppapi/clientrequest/ClientRequest.cc
        example/cppapi/custom_error_remap_plugin/CustomErrorRemapPlugin.cc
        example/cppapi/customresponse/CustomResponse.cc
        example/cppapi/delay_transformation_plugin/DelayTransformationPlugin.cc
        example/cppapi/globalhook/GlobalHookPlugin.cc
        example/cppapi/gzip_transformation/GzipTransformationPlugin.cc
        example/cppapi/helloworld/HelloWorldPlugin.cc
        example/cppapi/intercept/intercept.cc
        example/cppapi/internal_transaction_handling/InternalTransactionHandling.cc
        example/cppapi/logger_example/LoggerExample.cc
        example/cppapi/multiple_transaction_hooks/MultipleTransactionHookPlugins.cc
        example/cppapi/null_transformation_plugin/NullTransformationPlugin.cc
        example/cppapi/post_buffer/PostBuffer.cc
        example/cppapi/remap_plugin/RemapPlugin.cc
        example/cppapi/serverresponse/ServerResponse.cc
        example/cppapi/stat_example/StatExample.cc
        example/cppapi/timeout_example/TimeoutExamplePlugin.cc
        example/cppapi/transactionhook/TransactionHookPlugin.cc
        example/cppapi/websocket/WebSocket.cc
        example/cppapi/websocket/WebSocket.h
        example/cppapi/websocket/WSBuffer.cc
        example/cppapi/websocket/WSBuffer.h
        example/disable_http2/disable_http2.cc
        example/file_1/file_1.c
        example/hello/hello.c
        example/intercept/intercept.cc
        example/lifecycle_plugin/lifecycle_plugin.c
        example/null_transform/null_transform.c
        example/output_header/output_header.c
        example/passthru/passthru.cc
        example/protocol/Protocol.c
        example/protocol/Protocol.h
        example/protocol/TxnSM.c
        example/protocol/TxnSM.h
        example/protocol_stack/protocol_stack.cc
        example/query_remap/query_remap.c
        example/redirect_1/redirect_1.c
        example/remap/remap.cc
        example/remap_header_add/remap_header_add.cc
        example/replace_header/replace_header.c
        example/response_header_1/response_header_1.c
        example/secure_link/secure_link.c
        example/server_push/server_push.c
        example/server_transform/server_transform.c
        example/session_hooks/session_hooks.c
        example/ssl_preaccept/ssl_preaccept.cc
        example/ssl_sni/ssl_sni.cc
        example/ssl_sni_whitelist/ssl_sni_whitelist.cc
        example/statistic/statistic.cc
        example/thread_1/thread_1.c
        example/thread_pool/include/gen.c
        example/thread_pool/psi.c
        example/thread_pool/thread.c
        example/thread_pool/thread.h
        example/txn_data_sink/txn_data_sink.c
        example/version/version.c
        iocore/aio/AIO.cc
        iocore/aio/I_AIO.h
        iocore/aio/Inline.cc
        iocore/aio/P_AIO.h
        iocore/aio/test_AIO.cc
        iocore/dns/DNS.cc
        iocore/dns/DNSConnection.cc
        iocore/dns/I_DNS.h
        iocore/dns/I_DNSProcessor.h
        iocore/dns/I_SplitDNS.h
        iocore/dns/I_SplitDNSProcessor.h
        iocore/dns/Inline.cc
        iocore/dns/P_DNS.h
        iocore/dns/P_DNSConnection.h
        iocore/dns/P_DNSProcessor.h
        iocore/dns/P_SplitDNS.h
        iocore/dns/P_SplitDNSProcessor.h
        iocore/dns/SplitDNS.cc
        iocore/dns/SRV.h
        iocore/dns/test_I_DNS.cc
        iocore/dns/test_P_DNS.cc
        iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
        iocore/eventsystem/EventSystem.cc
        iocore/eventsystem/I_Action.h
        iocore/eventsystem/I_Continuation.h
        iocore/eventsystem/I_EThread.h
        iocore/eventsystem/I_Event.h
        iocore/eventsystem/I_EventProcessor.h
        iocore/eventsystem/I_EventSystem.h
        iocore/eventsystem/I_IOBuffer.h
        iocore/eventsystem/I_Lock.h
        iocore/eventsystem/I_MIOBufferWriter.h
        iocore/eventsystem/I_PriorityEventQueue.h
        iocore/eventsystem/I_Processor.h
        iocore/eventsystem/I_ProtectedQueue.h
        iocore/eventsystem/I_ProxyAllocator.h
        iocore/eventsystem/I_SocketManager.h
        iocore/eventsystem/I_Tasks.h
        iocore/eventsystem/I_Thread.h
        iocore/eventsystem/I_VConnection.h
        iocore/eventsystem/I_VIO.h
        iocore/eventsystem/Inline.cc
        iocore/eventsystem/IOBuffer.cc
        iocore/eventsystem/Lock.cc
        iocore/eventsystem/P_EventSystem.h
        iocore/eventsystem/P_Freer.h
        iocore/eventsystem/P_IOBuffer.h
        iocore/eventsystem/P_ProtectedQueue.h
        iocore/eventsystem/P_Thread.h
        iocore/eventsystem/P_UnixEThread.h
        iocore/eventsystem/P_UnixEvent.h
        iocore/eventsystem/P_UnixEventProcessor.h
        iocore/eventsystem/P_UnixSocketManager.h
        iocore/eventsystem/P_VConnection.h
        iocore/eventsystem/P_VIO.h
        iocore/eventsystem/PQ-List.cc
        iocore/eventsystem/Processor.cc
        iocore/eventsystem/ProtectedQueue.cc
        iocore/eventsystem/ProxyAllocator.cc
        iocore/eventsystem/SocketManager.cc
        iocore/eventsystem/Tasks.cc
        iocore/eventsystem/test_Buffer.cc
        iocore/eventsystem/test_Event.cc
        iocore/eventsystem/test_I_Buffer.cc
        iocore/eventsystem/test_I_Event.cc
        iocore/eventsystem/test_P_Buffer.cc
        iocore/eventsystem/test_P_Event.cc
        iocore/eventsystem/Thread.cc
        iocore/eventsystem/UnixEThread.cc
        iocore/eventsystem/UnixEvent.cc
        iocore/eventsystem/UnixEventProcessor.cc
        iocore/hostdb/HostDB.cc
        iocore/hostdb/I_HostDB.h
        iocore/hostdb/I_HostDBProcessor.h
        iocore/hostdb/Inline.cc
        iocore/hostdb/P_HostDB.h
        iocore/hostdb/P_HostDBProcessor.h
        iocore/hostdb/P_RefCountCache.h
        iocore/hostdb/P_RefCountCacheSerializer.h
        iocore/hostdb/RefCountCache.cc
        iocore/hostdb/test_I_HostDB.cc
        iocore/hostdb/test_P_HostDB.cc
        iocore/hostdb/test_RefCountCache.cc
        iocore/net/BIO_fastopen.cc
        iocore/net/BIO_fastopen.h
        iocore/net/Connection.cc
        iocore/net/I_Net.h
        iocore/net/I_NetProcessor.h
        iocore/net/I_NetVConnection.h
        iocore/net/I_SessionAccept.h
        iocore/net/I_Socks.h
        iocore/net/I_UDPConnection.h
        iocore/net/I_UDPNet.h
        iocore/net/I_UDPPacket.h
        iocore/net/Inline.cc
        iocore/net/YamlSNIConfig.cc
        iocore/net/YamlSNIConfig.h
        iocore/net/Net.cc
        iocore/net/NetVConnection.cc
        iocore/net/NetVCTest.cc
        iocore/net/OCSPStapling.cc
        iocore/net/P_CompletionUtil.h
        iocore/net/P_Connection.h
        iocore/net/P_InkBulkIO.h
        iocore/net/P_LibBulkIO.h
        iocore/net/P_Net.h
        iocore/net/P_NetAccept.h
        iocore/net/P_NetVConnection.h
        iocore/net/P_NetVCTest.h
        iocore/net/P_OCSPStapling.h
        iocore/net/P_SNIActionPerformer.h
        iocore/net/P_Socks.h
        iocore/net/P_SSLCertLookup.h
        iocore/net/P_SSLClientUtils.h
        iocore/net/P_SSLConfig.h
        iocore/net/P_SSLNetAccept.h
        iocore/net/P_SSLNetProcessor.h
        iocore/net/P_SSLNetVConnection.h
        iocore/net/P_SSLNextProtocolAccept.h
        iocore/net/P_SSLNextProtocolSet.h
        iocore/net/P_SSLSNI.h
        iocore/net/P_SSLUtils.h
        iocore/net/P_UDPConnection.h
        iocore/net/P_UDPIOEvent.h
        iocore/net/P_UDPNet.h
        iocore/net/P_UDPPacket.h
        iocore/net/P_UnixCompletionUtil.h
        iocore/net/P_UnixNet.h
        iocore/net/P_UnixNetProcessor.h
        iocore/net/P_UnixNetState.h
        iocore/net/P_UnixNetVConnection.h
        iocore/net/P_UnixPollDescriptor.h
        iocore/net/P_UnixUDPConnection.h
        iocore/net/SessionAccept.cc
        iocore/net/SNIActionPerformer.cc
        iocore/net/Socks.cc
        iocore/net/SSLCertLookup.cc
        iocore/net/SSLClientUtils.cc
        iocore/net/SSLConfig.cc
        iocore/net/SSLDynlock.cc
        iocore/net/SSLDynlock.h
        iocore/net/SSLInternal.cc
        iocore/net/SSLNetAccept.cc
        iocore/net/SSLNetProcessor.cc
        iocore/net/SSLNetVConnection.cc
        iocore/net/SSLNextProtocolAccept.cc
        iocore/net/SSLNextProtocolSet.cc
        iocore/net/SSLSessionCache.cc
        iocore/net/SSLSessionCache.h
        iocore/net/SSLSNIConfig.cc
        iocore/net/SSLUtils.cc
        iocore/net/test_certlookup.cc
        iocore/net/test_I_Net.cc
        iocore/net/test_I_UDPNet.cc
        iocore/net/test_P_Net.cc
        iocore/net/UDPIOEvent.cc
        iocore/net/UnixConnection.cc
        iocore/net/UnixNet.cc
        iocore/net/UnixNetAccept.cc
        iocore/net/UnixNetPages.cc
        iocore/net/UnixNetProcessor.cc
        iocore/net/UnixNetVConnection.cc
        iocore/net/UnixUDPConnection.cc
        iocore/net/UnixUDPNet.cc
        iocore/utils/diags.i
        iocore/utils/I_Machine.h
        iocore/utils/I_OneWayMultiTunnel.h
        iocore/utils/I_OneWayTunnel.h
        iocore/utils/Machine.cc
        iocore/utils/OneWayMultiTunnel.cc
        iocore/utils/OneWayTunnel.cc
        lib/records/I_RecAlarms.h
        lib/records/I_RecCore.h
        lib/records/I_RecDefs.h
        lib/records/I_RecEvents.h
        lib/records/I_RecHttp.h
        lib/records/I_RecLocal.h
        lib/records/I_RecMutex.h
        lib/records/I_RecProcess.h
        lib/records/I_RecSignals.h
        lib/records/P_RecCore.cc
        lib/records/P_RecCore.h
        lib/records/P_RecDefs.h
        lib/records/P_RecFile.h
        lib/records/P_RecLocal.h
        lib/records/P_RecMessage.h
        lib/records/P_RecProcess.h
        lib/records/P_RecUtils.h
        lib/records/RecConfigParse.cc
        lib/records/RecCore.cc
        lib/records/RecDebug.cc
        lib/records/RecFile.cc
        lib/records/RecHttp.cc
        lib/records/RecLocal.cc
        lib/records/RecMessage.cc
        lib/records/RecMutex.cc
        lib/records/RecProcess.cc
        lib/records/RecRawStats.cc
        lib/records/RecUtils.cc
        lib/records/test_I_RecLocal.cc
        lib/records/test_I_RecProcess.cc
        lib/records/test_P_RecProcess.cc
        lib/records/test_RecordsConfig.cc
        lib/records/test_RecordsConfig.h
        lib/records/test_RecProcess.i
        lib/records/test_RecTree.cc
        src/wccp/wccp-test-router.cc
        include/wccp/Wccp.h
        src/wccp/WccpConfig.cc
        src/wccp/WccpEndPoint.cc
        src/wccp/WccpLocal.h
        src/wccp/WccpMeta.h
        src/wccp/WccpMsg.cc
        src/wccp/WccpStatic.cc
        src/wccp/WccpUtil.h
        lib/ink_autoconf.h
        mgmt/api/include/mgmtapi.h
        mgmt/api/APITestCliRemote.cc
        mgmt/api/CoreAPI.cc
        mgmt/api/CoreAPI.h
        mgmt/api/CoreAPIRemote.cc
        mgmt/api/CoreAPIShared.cc
        mgmt/api/CoreAPIShared.h
        mgmt/api/EventCallback.cc
        mgmt/api/EventCallback.h
        mgmt/api/EventControlMain.cc
        mgmt/api/EventControlMain.h
        mgmt/api/INKMgmtAPI.cc
        mgmt/api/NetworkMessage.cc
        mgmt/api/NetworkMessage.h
        mgmt/api/NetworkUtilsLocal.cc
        mgmt/api/NetworkUtilsLocal.h
        mgmt/api/NetworkUtilsRemote.cc
        mgmt/api/NetworkUtilsRemote.h
        mgmt/api/TSControlMain.cc
        mgmt/api/TSControlMain.h
        mgmt/utils/ExpandingArray.cc
        mgmt/utils/ExpandingArray.h
        mgmt/utils/MgmtHashTable.h
        mgmt/utils/MgmtLocalCleanup.cc
        mgmt/utils/MgmtMarshall.cc
        mgmt/utils/MgmtMarshall.h
        mgmt/utils/MgmtProcessCleanup.cc
        mgmt/utils/MgmtSocket.cc
        mgmt/utils/MgmtSocket.h
        mgmt/utils/MgmtUtils.cc
        mgmt/utils/MgmtUtils.h
        mgmt/utils/test_marshall.cc
        mgmt/Alarms.cc
        mgmt/Alarms.h
        mgmt/BaseManager.cc
        mgmt/BaseManager.h
        mgmt/FileManager.cc
        mgmt/FileManager.h
        mgmt/LocalManager.cc
        mgmt/LocalManager.h
        mgmt/MgmtDefs.h
        mgmt/ProcessManager.cc
        mgmt/ProcessManager.h
        mgmt/ProxyConfig.cc
        mgmt/ProxyConfig.h
        mgmt/RecordsConfig.cc
        mgmt/RecordsConfig.h
        mgmt/RecordsConfigUtils.cc
        mgmt/Rollback.cc
        mgmt/Rollback.h
        mgmt/WebMgmtUtils.cc
        mgmt/WebMgmtUtils.h
        plugins/authproxy/authproxy.cc
        plugins/authproxy/utils.cc
        plugins/authproxy/utils.h
        plugins/background_fetch/background_fetch.cc
        plugins/background_fetch/configs.cc
        plugins/background_fetch/configs.h
        plugins/background_fetch/headers.cc
        plugins/background_fetch/headers.h
        plugins/background_fetch/rules.cc
        plugins/background_fetch/rules.h
        plugins/cache_promote/cache_promote.cc
        plugins/conf_remap/conf_remap.cc
        plugins/esi/fetcher/FetchedDataProcessor.h
        plugins/esi/fetcher/HttpDataFetcher.h
        plugins/esi/fetcher/HttpDataFetcherImpl.cc
        plugins/esi/fetcher/HttpDataFetcherImpl.h
        plugins/esi/lib/Attribute.h
        plugins/esi/lib/ComponentBase.h
        plugins/esi/lib/DocNode.cc
        plugins/esi/lib/DocNode.h
        plugins/esi/lib/EsiGunzip.cc
        plugins/esi/lib/EsiGunzip.h
        plugins/esi/lib/EsiGzip.cc
        plugins/esi/lib/EsiGzip.h
        plugins/esi/lib/EsiParser.cc
        plugins/esi/lib/EsiParser.h
        plugins/esi/lib/EsiProcessor.cc
        plugins/esi/lib/EsiProcessor.h
        plugins/esi/lib/Expression.cc
        plugins/esi/lib/Expression.h
        plugins/esi/lib/FailureInfo.cc
        plugins/esi/lib/FailureInfo.h
        plugins/esi/lib/gzip.cc
        plugins/esi/lib/gzip.h
        plugins/esi/lib/HandlerManager.cc
        plugins/esi/lib/HandlerManager.h
        plugins/esi/lib/HttpHeader.h
        plugins/esi/lib/IncludeHandlerFactory.h
        plugins/esi/lib/SpecialIncludeHandler.h
        plugins/esi/lib/Stats.cc
        plugins/esi/lib/Stats.h
        plugins/esi/lib/StringHash.h
        plugins/esi/lib/Utils.cc
        plugins/esi/lib/Utils.h
        plugins/esi/lib/Variables.cc
        plugins/esi/lib/Variables.h
        plugins/esi/test/docnode_test.cc
        plugins/esi/test/gzip_test.cc
        plugins/esi/test/HandlerMap.cc
        plugins/esi/test/HandlerMap.h
        plugins/esi/test/parser_test.cc
        plugins/esi/test/print_funcs.cc
        plugins/esi/test/print_funcs.h
        plugins/esi/test/processor_test.cc
        plugins/esi/test/sampleProb.cc
        plugins/esi/test/StubIncludeHandler.cc
        plugins/esi/test/StubIncludeHandler.h
        plugins/esi/test/TestHandlerManager.cc
        plugins/esi/test/TestHttpDataFetcher.h
        plugins/esi/test/utils_test.cc
        plugins/esi/test/vars_test.cc
        plugins/esi/combo_handler.cc
        plugins/esi/esi.cc
        plugins/esi/serverIntercept.cc
        plugins/esi/serverIntercept.h
        plugins/experimental/acme/acme.c
        plugins/experimental/balancer/balancer.cc
        plugins/experimental/balancer/balancer.h
        plugins/experimental/balancer/hash.cc
        plugins/experimental/balancer/roundrobin.cc
        plugins/experimental/buffer_upload/buffer_upload.cc
        plugins/experimental/cache_key_genid/cache_key_genid.c
        plugins/experimental/cache_range_requests/cache_range_requests.cc
        plugins/experimental/collapsed_forwarding/collapsed_forwarding.cc
        plugins/experimental/custom_redirect/custom_redirect.cc
        plugins/experimental/geoip_acl/acl.cc
        plugins/experimental/geoip_acl/acl.h
        plugins/experimental/geoip_acl/geoip_acl.cc
        plugins/experimental/geoip_acl/lulu.h
        plugins/experimental/header_freq/header_freq.cc
        plugins/experimental/header_normalize/header_normalize.cc
        plugins/experimental/hipes/gen_escape.c
        plugins/experimental/hipes/hipes.cc
        plugins/experimental/hook-trace/hook-trace.cc
        plugins/experimental/inliner/ats-inliner.cc
        plugins/experimental/inliner/cache-handler.h
        plugins/experimental/inliner/cache.cc
        plugins/experimental/inliner/cache.h
        plugins/experimental/inliner/chunk-decoder.cc
        plugins/experimental/inliner/chunk-decoder.h
        plugins/experimental/inliner/fetcher.cc
        plugins/experimental/inliner/fetcher.h
        plugins/experimental/inliner/gif.h
        plugins/experimental/inliner/html-parser.cc
        plugins/experimental/inliner/html-parser.h
        plugins/experimental/inliner/inliner-handler.cc
        plugins/experimental/inliner/inliner-handler.h
        plugins/experimental/inliner/jpeg.h
        plugins/experimental/inliner/png.h
        plugins/experimental/inliner/ts.cc
        plugins/experimental/inliner/ts.h
        plugins/experimental/inliner/util.h
        plugins/experimental/inliner/vconnection.h
        plugins/experimental/memcache/protocol_binary.h
        plugins/experimental/memcache/tsmemcache.cc
        plugins/experimental/memcache/tsmemcache.h
        plugins/experimental/memcached_remap/memcached_remap.cc
        plugins/experimental/metalink/metalink.cc
        plugins/experimental/money_trace/money_trace.cc
        plugins/experimental/money_trace/money_trace.h
        plugins/experimental/mp4/mp4.cc
        plugins/experimental/mp4/mp4_common.h
        plugins/experimental/mp4/mp4_meta.cc
        plugins/experimental/mp4/mp4_meta.h
        plugins/experimental/multiplexer/ats-multiplexer.cc
        plugins/experimental/multiplexer/chunk-decoder.cc
        plugins/experimental/multiplexer/chunk-decoder.h
        plugins/experimental/multiplexer/dispatch.cc
        plugins/experimental/multiplexer/dispatch.h
        plugins/experimental/multiplexer/fetcher.cc
        plugins/experimental/multiplexer/fetcher.h
        plugins/experimental/multiplexer/original-request.cc
        plugins/experimental/multiplexer/original-request.h
        plugins/experimental/multiplexer/post.cc
        plugins/experimental/multiplexer/post.h
        plugins/experimental/multiplexer/ts.cc
        plugins/experimental/multiplexer/ts.h
        plugins/experimental/mysql_remap/lib/dictionary.c
        plugins/experimental/mysql_remap/lib/dictionary.h
        plugins/experimental/mysql_remap/lib/iniparser.c
        plugins/experimental/mysql_remap/lib/iniparser.h
        plugins/experimental/mysql_remap/default.h
        plugins/experimental/mysql_remap/mysql_remap.cc
        plugins/experimental/remap_purge/remap_purge.c
        plugins/experimental/remap_stats/remap_stats.c
        plugins/experimental/server_push_preload/server_push_preload.cc
        plugins/experimental/sslheaders/expand.cc
        plugins/experimental/sslheaders/sslheaders.cc
        plugins/experimental/sslheaders/sslheaders.h
        plugins/experimental/sslheaders/test_sslheaders.cc
        plugins/experimental/sslheaders/util.cc
        plugins/experimental/stale_while_revalidate/stale_while_revalidate.c
        plugins/experimental/stream_editor/stream_editor.cc
        plugins/experimental/system_stats/system_stats.c
        plugins/experimental/tls_bridge/regex.cc
        plugins/experimental/tls_bridge/regex.h
        plugins/experimental/tls_bridge/tls_bridge.cc
        plugins/experimental/uri_signing/config.c
        plugins/experimental/uri_signing/config.h
        plugins/experimental/uri_signing/cookie.c
        plugins/experimental/uri_signing/cookie.h
        plugins/experimental/uri_signing/jwt.c
        plugins/experimental/uri_signing/jwt.h
        plugins/experimental/uri_signing/match.c
        plugins/experimental/uri_signing/match.h
        plugins/experimental/uri_signing/parse.c
        plugins/experimental/uri_signing/parse.h
        plugins/experimental/uri_signing/timing.c
        plugins/experimental/uri_signing/timing.h
        plugins/experimental/uri_signing/uri_signing.c
        plugins/experimental/uri_signing/uri_signing.h
        plugins/experimental/url_sig/url_sig.c
        plugins/experimental/url_sig/url_sig.h
        plugins/experimental/webp_transform/ImageTransform.cc
        plugins/generator/generator.cc
        plugins/header_rewrite/condition.cc
        plugins/header_rewrite/condition.h
        plugins/header_rewrite/conditions.cc
        plugins/header_rewrite/conditions.h
        plugins/header_rewrite/expander.cc
        plugins/header_rewrite/expander.h
        plugins/header_rewrite/factory.cc
        plugins/header_rewrite/factory.h
        plugins/header_rewrite/header_rewrite.cc
        plugins/header_rewrite/header_rewrite_test.cc
        plugins/header_rewrite/lulu.cc
        plugins/header_rewrite/lulu.h
        plugins/header_rewrite/matcher.h
        plugins/header_rewrite/operator.cc
        plugins/header_rewrite/operator.h
        plugins/header_rewrite/operators.cc
        plugins/header_rewrite/operators.h
        plugins/header_rewrite/parser.cc
        plugins/header_rewrite/parser.h
        plugins/header_rewrite/regex_helper.cc
        plugins/header_rewrite/regex_helper.h
        plugins/header_rewrite/resources.cc
        plugins/header_rewrite/resources.h
        plugins/header_rewrite/ruleset.cc
        plugins/header_rewrite/ruleset.h
        plugins/header_rewrite/statement.cc
        plugins/header_rewrite/statement.h
        plugins/header_rewrite/value.h
        plugins/healthchecks/healthchecks.c
        plugins/libloader/libloader.c
        plugins/lua/ts_lua.c
        plugins/lua/ts_lua_cached_response.c
        plugins/lua/ts_lua_cached_response.h
        plugins/lua/ts_lua_client_request.c
        plugins/lua/ts_lua_client_request.h
        plugins/lua/ts_lua_client_response.c
        plugins/lua/ts_lua_client_response.h
        plugins/lua/ts_lua_common.h
        plugins/lua/ts_lua_constant.c
        plugins/lua/ts_lua_constant.h
        plugins/lua/ts_lua_context.c
        plugins/lua/ts_lua_context.h
        plugins/lua/ts_lua_coroutine.c
        plugins/lua/ts_lua_coroutine.h
        plugins/lua/ts_lua_crypto.c
        plugins/lua/ts_lua_crypto.h
        plugins/lua/ts_lua_fetch.c
        plugins/lua/ts_lua_fetch.h
        plugins/lua/ts_lua_hook.c
        plugins/lua/ts_lua_hook.h
        plugins/lua/ts_lua_http.c
        plugins/lua/ts_lua_http.h
        plugins/lua/ts_lua_http_cntl.c
        plugins/lua/ts_lua_http_cntl.h
        plugins/lua/ts_lua_http_config.c
        plugins/lua/ts_lua_http_config.h
        plugins/lua/ts_lua_http_intercept.c
        plugins/lua/ts_lua_http_intercept.h
        plugins/lua/ts_lua_http_milestone.c
        plugins/lua/ts_lua_http_milestone.h
        plugins/lua/ts_lua_io.c
        plugins/lua/ts_lua_io.h
        plugins/lua/ts_lua_log.c
        plugins/lua/ts_lua_log.h
        plugins/lua/ts_lua_mgmt.c
        plugins/lua/ts_lua_mgmt.h
        plugins/lua/ts_lua_misc.c
        plugins/lua/ts_lua_misc.h
        plugins/lua/ts_lua_package.c
        plugins/lua/ts_lua_package.h
        plugins/lua/ts_lua_remap.c
        plugins/lua/ts_lua_remap.h
        plugins/lua/ts_lua_server_request.c
        plugins/lua/ts_lua_server_request.h
        plugins/lua/ts_lua_server_response.c
        plugins/lua/ts_lua_server_response.h
        plugins/lua/ts_lua_stat.c
        plugins/lua/ts_lua_stat.h
        plugins/lua/ts_lua_string.c
        plugins/lua/ts_lua_string.h
        plugins/lua/ts_lua_transform.c
        plugins/lua/ts_lua_transform.h
        plugins/lua/ts_lua_util.c
        plugins/lua/ts_lua_util.h
        plugins/regex_remap/regex_remap.cc
        plugins/regex_revalidate/regex_revalidate.c
        plugins/s3_auth/unit_tests/test_aws_auth_v4.cc
        plugins/s3_auth/unit_tests/test_aws_auth_v4.h
        plugins/s3_auth/aws_auth_v4.cc
        plugins/s3_auth/aws_auth_v4.h
        plugins/s3_auth/aws_auth_v4_wrap.h
        plugins/s3_auth/s3_auth.cc
        plugins/stats_over_http/stats_over_http.c
        plugins/tcpinfo/tcpinfo.cc
        plugins/xdebug/xdebug.cc
        include/ts/experimental.h
        include/ts/InkAPIPrivateIOCore.h
        include/ts/remap.h
        include/ts/ts.h
        include/ts/TsException.h
        proxy/hdrs/HdrHeap.cc
        proxy/hdrs/HdrHeap.h
        proxy/hdrs/HdrTest.cc
        proxy/hdrs/HdrTest.h
        proxy/hdrs/HdrToken.cc
        proxy/hdrs/HdrToken.h
        proxy/hdrs/HdrTSOnly.cc
        proxy/hdrs/HdrUtils.cc
        proxy/hdrs/HdrUtils.h
        proxy/hdrs/HTTP.cc
        proxy/hdrs/HTTP.h
        proxy/hdrs/HttpCompat.cc
        proxy/hdrs/HttpCompat.h
        proxy/hdrs/load_http_hdr.cc
        proxy/hdrs/MIME.cc
        proxy/hdrs/MIME.h
        proxy/hdrs/test_mime.cc
        proxy/hdrs/test_urlhash.cc
        proxy/hdrs/URL.cc
        proxy/hdrs/URL.h
        proxy/http/remap/AclFiltering.cc
        proxy/http/remap/AclFiltering.h
        proxy/http/remap/RemapConfig.cc
        proxy/http/remap/RemapConfig.h
        proxy/http/remap/RemapPluginInfo.cc
        proxy/http/remap/RemapPluginInfo.h
        proxy/http/remap/RemapPlugins.cc
        proxy/http/remap/RemapPlugins.h
        proxy/http/remap/RemapProcessor.cc
        proxy/http/remap/RemapProcessor.h
        proxy/http/remap/UrlMapping.cc
        proxy/http/remap/UrlMapping.h
        proxy/http/remap/UrlMappingPathIndex.cc
        proxy/http/remap/UrlMappingPathIndex.h
        proxy/http/remap/UrlRewrite.cc
        proxy/http/remap/UrlRewrite.h
        proxy/http/unit_tests/test_ForwardedConfig.cc
        proxy/http/unit_tests/test_ForwardedConfig_mocks.cc
        proxy/http/ForwardedConfig.cc
        proxy/http/Http1ClientSession.cc
        proxy/http/Http1ClientSession.h
        proxy/http/Http1ClientTransaction.cc
        proxy/http/Http1ClientTransaction.h
        proxy/http/HttpBodyFactory.cc
        proxy/http/HttpBodyFactory.h
        proxy/http/HttpCacheSM.cc
        proxy/http/HttpCacheSM.h
        proxy/http/HttpConfig.cc
        proxy/http/HttpConfig.h
        proxy/http/HttpConnectionCount.cc
        proxy/http/HttpConnectionCount.h
        proxy/http/HttpDebugNames.cc
        proxy/http/HttpDebugNames.h
        proxy/http/HttpPages.cc
        proxy/http/HttpPages.h
        proxy/http/HttpProxyAPIEnums.h
        proxy/http/HttpProxyServerMain.cc
        proxy/http/HttpProxyServerMain.h
        proxy/http/HttpServerSession.cc
        proxy/http/HttpServerSession.h
        proxy/http/HttpSessionAccept.cc
        proxy/http/HttpSessionAccept.h
        proxy/http/HttpSessionManager.cc
        proxy/http/HttpSessionManager.h
        proxy/http/HttpSM.cc
        proxy/http/HttpSM.h
        proxy/http/HttpTransact.cc
        proxy/http/HttpTransact.h
        proxy/http/HttpTransactCache.cc
        proxy/http/HttpTransactCache.h
        proxy/http/HttpTransactHeaders.cc
        proxy/http/HttpTransactHeaders.h
        proxy/http/HttpTunnel.cc
        proxy/http/HttpTunnel.h
        proxy/http/HttpUpdateSM.cc
        proxy/http/HttpUpdateSM.h
        proxy/http/HttpUpdateTester.cc
        proxy/http/RegressionHttpTransact.cc
        proxy/http/test_socket_close.cc
        proxy/http/testheaders.cc
        proxy/http/TestUrl.cc
        proxy/http2/HPACK.cc
        proxy/http2/HPACK.h
        proxy/http2/HTTP2.cc
        proxy/http2/HTTP2.h
        proxy/http2/Http2ClientSession.cc
        proxy/http2/Http2ClientSession.h
        proxy/http2/Http2ConnectionState.cc
        proxy/http2/Http2ConnectionState.h
        proxy/http2/Http2DebugNames.cc
        proxy/http2/Http2DebugNames.h
        proxy/http2/Http2DependencyTree.h
        proxy/http2/Http2SessionAccept.cc
        proxy/http2/Http2SessionAccept.h
        proxy/http2/Http2Stream.cc
        proxy/http2/Http2Stream.h
        proxy/http2/HuffmanCodec.cc
        proxy/http2/HuffmanCodec.h
        proxy/http2/RegressionHPACK.cc
        proxy/http2/test_HPACK.cc
        proxy/http2/test_Http2DependencyTree.cc
        proxy/http2/test_Huffmancode.cc
        proxy/logging/Log.cc
        proxy/logging/Log.h
        proxy/logging/LogAccess.cc
        proxy/logging/LogAccess.h
        proxy/logging/LogAccessTest.cc
        proxy/logging/LogAccessTest.h
        proxy/logging/LogBuffer.cc
        proxy/logging/LogBuffer.h
        proxy/logging/LogBufferSink.h
        proxy/logging/LogCollationAccept.cc
        proxy/logging/LogCollationAccept.h
        proxy/logging/LogCollationBase.h
        proxy/logging/LogCollationClientSM.cc
        proxy/logging/LogCollationClientSM.h
        proxy/logging/LogCollationHostSM.cc
        proxy/logging/LogCollationHostSM.h
        proxy/logging/LogConfig.cc
        proxy/logging/LogConfig.h
        proxy/logging/LogField.cc
        proxy/logging/LogField.h
        proxy/logging/LogFieldAliasMap.cc
        proxy/logging/LogFieldAliasMap.h
        proxy/logging/LogFile.cc
        proxy/logging/LogFile.h
        proxy/logging/LogFilter.cc
        proxy/logging/LogFilter.h
        proxy/logging/LogFormat.cc
        proxy/logging/LogFormat.h
        proxy/logging/LogHost.cc
        proxy/logging/LogHost.h
        proxy/logging/LogLimits.h
        proxy/logging/LogObject.cc
        proxy/logging/LogObject.h
        proxy/logging/LogSock.cc
        proxy/logging/LogSock.h
        proxy/logging/LogStandalone.cc
        proxy/logging/LogUtils.cc
        proxy/logging/LogUtils.h
        proxy/logging/test_LogUtils.cc
        proxy/shared/DiagsConfig.cc
        proxy/shared/DiagsConfig.h
        proxy/shared/UglyLogStubs.cc
        proxy/CacheControl.cc
        proxy/CacheControl.h
        proxy/ControlBase.cc
        proxy/ControlBase.h
        proxy/ControlMatcher.cc
        proxy/ControlMatcher.h
        proxy/InkAPIInternal.h
        proxy/IPAllow.cc
        proxy/IPAllow.h
        proxy/Main.h
        proxy/Milestones.h
        proxy/ParentConsistentHash.cc
        proxy/ParentConsistentHash.h
        proxy/ParentRoundRobin.cc
        proxy/ParentRoundRobin.h
        proxy/ParentSelection.cc
        proxy/ParentSelection.h
        proxy/ParentSelectionStrategy.cc
        proxy/Plugin.cc
        proxy/Plugin.h
        proxy/PluginVC.cc
        proxy/PluginVC.h
        proxy/ProtocolProbeSessionAccept.cc
        proxy/ProtocolProbeSessionAccept.h
        proxy/ProxyClientSession.cc
        proxy/ProxyClientSession.h
        proxy/ProxyClientTransaction.cc
        proxy/ProxyClientTransaction.h
        proxy/RegressionSM.cc
        proxy/RegressionSM.h
        proxy/ReverseProxy.cc
        proxy/ReverseProxy.h
        proxy/Show.h
        proxy/StatPages.cc
        proxy/StatPages.h
        proxy/TimeTrace.h
        proxy/Transform.cc
        proxy/Transform.h
        proxy/TransformInternal.h
        tests/gold_tests/tls/ssl-post.c
        tests/include/catch.hpp
        tests/tools/plugins/continuations_verify.cc
        tests/tools/plugins/custom204plugin.cc
        tests/tools/plugins/null_transform.c
        tests/tools/plugins/ssl_hook_test.cc
        tests/tools/plugins/ssntxnorder_verify.cc
        tools/http_load/http_load.c
        tools/http_load/port.h
        tools/http_load/timers.c
        tools/http_load/timers.h
        tools/jtest/jtest.cc)

add_library(libtscore SHARED
        include/tscore/Allocator.h
        src/tscore/Arena.cc
        include/tscore/Arena.h
        src/tscore/BaseLogFile.cc
        include/tscore/BaseLogFile.h
        src/tscore/Bitops.cc
        include/tscore/Bitops.h
        include/tscore/bwf_std_format.h
        include/tscore/BufferWriter.h
        include/tscore/BufferWriterForward.h
        src/tscore/BufferWriterFormat.cc
        src/tscore/CompileParseRules.cc
        src/tscore/ConsistentHash.cc
        include/tscore/ConsistentHash.h
        src/tscore/ContFlags.cc
        include/tscore/ContFlags.h
        src/tscore/CryptoHash.cc
        include/tscore/CryptoHash.h
        include/tscore/defalloc.h
        src/tscore/Diags.cc
        include/tscore/Diags.h
        include/tscore/DynArray.h
        src/tscore/EventNotify.cc
        include/tscore/EventNotify.h
        src/tscore/fastlz.c
        include/tscore/fastlz.h
        src/tscore/Hash.cc
        include/tscore/Hash.h
        src/tscore/HashFNV.cc
        include/tscore/HashFNV.h
        src/tscore/HashMD5.cc
        include/tscore/HashMD5.h
        src/tscore/HashSip.cc
        include/tscore/HashSip.h
        include/tscore/History.h
        src/tscore/HostLookup.cc
        include/tscore/HostLookup.h
        src/tscore/hugepages.cc
        include/tscore/hugepages.h
        include/tscore/I_Layout.h
        include/tscore/I_Version.h
        include/tscore/ink_aiocb.h
        include/tscore/ink_align.h
        src/tscore/ink_args.cc
        include/tscore/ink_args.h
        src/tscore/ink_assert.cc
        include/tscore/ink_assert.h
        include/tscore/ink_atomic.h
        src/tscore/ink_base64.cc
        include/tscore/ink_base64.h
        src/tscore/ink_cap.cc
        include/tscore/ink_cap.h
        src/tscore/ink_code.cc
        include/tscore/ink_code.h
        include/tscore/ink_config.h
        src/tscore/ink_defs.cc
        include/tscore/ink_defs.h
        src/tscore/ink_error.cc
        include/tscore/ink_error.h
        include/tscore/ink_exception.h
        src/tscore/ink_file.cc
        include/tscore/ink_file.h
        src/tscore/ink_hash_table.cc
        include/tscore/ink_hash_table.h
        src/tscore/ink_hrtime.cc
        include/tscore/ink_hrtime.h
        src/tscore/ink_inet.cc
        include/tscore/ink_inet.h
        include/tscore/ink_inout.h
        include/tscore/ink_llqueue.h
        include/tscore/ink_lockfile.h
        include/tscore/INK_MD5.h
        src/tscore/ink_memory.cc
        include/tscore/ink_memory.h
        src/tscore/ink_mutex.cc
        include/tscore/ink_mutex.h
        include/tscore/ink_platform.h
        src/tscore/ink_queue.cc
        include/tscore/ink_queue.h
        src/tscore/ink_queue_utils.cc
        src/tscore/ink_rand.cc
        include/tscore/ink_rand.h
        src/tscore/ink_res_init.cc
        src/tscore/ink_res_mkquery.cc
        include/tscore/ink_resolver.h
        src/tscore/ink_resource.cc
        include/tscore/ink_resource.h
        src/tscore/ink_rwlock.cc
        include/tscore/ink_rwlock.h
        src/tscore/ink_sock.cc
        include/tscore/ink_sock.h
        src/tscore/ink_sprintf.cc
        include/tscore/ink_sprintf.h
        src/tscore/ink_stack_trace.cc
        include/tscore/ink_stack_trace.h
        src/tscore/ink_string++.cc
        include/tscore/ink_string++.h
        src/tscore/ink_string.cc
        include/tscore/ink_string.h
        src/tscore/ink_sys_control.cc
        include/tscore/ink_sys_control.h
        src/tscore/ink_syslog.cc
        include/tscore/ink_syslog.h
        src/tscore/ink_thread.cc
        include/tscore/ink_thread.h
        src/tscore/ink_time.cc
        include/tscore/ink_time.h
        src/tscore/ink_uuid.cc
        include/tscore/ink_uuid.h
        src/tscore/InkErrno.cc
        include/tscore/InkErrno.h
        include/tscore/IntrusiveDList.h
        src/tscore/IntrusivePtrTest.cc
        src/tscore/IpMap.cc
        include/tscore/IpMap.h
        src/tscore/IpMapConf.cc
        include/tscore/IpMapConf.h
        src/tscore/Layout.cc
        include/tscore/List.h
        src/tscore/llqueue.cc
        src/tscore/load_http_hdr.cc
        src/tscore/lockfile.cc
        include/tscore/Map.h
        src/tscore/MatcherUtils.cc
        include/tscore/MatcherUtils.h
        include/tscore/MemArena.h
        src/tscore/MemArena.cc
        include/tscore/MemSpan.h
        src/tscore/mkdfa.c
        src/tscore/MMH.cc
        include/tscore/MMH.h
        include/tscore/MT_hashtable.h
        src/tscore/ParseRules.cc
        include/tscore/ParseRules.h
        include/tscore/PriorityQueue.h
        include/tscore/Ptr.h
        src/tscore/RawHashTable.cc
        include/tscore/RawHashTable.h
        src/tscore/RbTree.cc
        include/tscore/RbTree.h
        src/tscore/Regex.cc
        include/tscore/Regex.h
        src/tscore/Regression.cc
        include/tscore/Regression.h
        include/tscore/Result.h
        src/tscore/runroot.cc
        include/tscore/runroot.h
        include/tscore/Scalar.h
        include/tscore/SHA256.h
        src/tscore/signals.cc
        include/tscore/signals.h
        include/tscore/SimpleTokenizer.h
        src/tscore/SourceLocation.cc
        include/tscore/SourceLocation.h
        src/tscore/test_arena.cc
        src/tscore/test_atomic.cc
        src/tscore/test_freelist.cc
        src/tscore/test_geometry.cc
        src/tscore/test_History.cc
        src/tscore/test_List.cc
        src/tscore/test_Map.cc
        src/tscore/test_PriorityQueue.cc
        src/tscore/test_Ptr.cc
        src/tscore/test_Regex.cc
        src/tscore/test_Vec.cc
        src/tscore/test_X509HostnameValidator.cc
        include/tscore/TestBox.h
        src/tscore/TestHttpHeader.cc
        src/tscore/tests.cc
        src/tscore/TextBuffer.cc
        include/tscore/TextBuffer.h
        include/tscpp/util/TextView.h
        src/tscore/Tokenizer.cc
        include/tscore/Tokenizer.h
        include/tscore/Trie.h
        include/tscore/TsBuffer.h
        src/tscore/Version.cc
        src/tscore/X509HostnameValidator.cc
        include/tscore/X509HostnameValidator.h
)

add_executable(test_tscore
	src/tscore/unit_tests/unit_test_main.cc
	src/tscore/unit_tests/test_BufferWriter.cc
	src/tscore/unit_tests/test_BufferWriterFormat.cc
	src/tscore/unit_tests/test_ink_inet.cc
	src/tscore/unit_tests/test_IntrusivePtr.cc
	src/tscore/unit_tests/test_IpMap.cc
	src/tscore/unit_tests/test_layout.cc
	src/tscore/unit_tests/test_MemArena.cc
	src/tscore/unit_tests/test_MemSpan.cc
	src/tscore/unit_tests/test_MT_hashtable.cc
	src/tscore/unit_tests/test_Scalar.cc
	src/tscore/unit_tests/test_scoped_resource.cc
)

# iocore/cache
add_library(libcache SHARED
        iocore/cache/Cache.cc
        iocore/cache/CacheDir.cc
        iocore/cache/CacheDisk.cc
        iocore/cache/CacheHosting.cc
        iocore/cache/CacheHttp.cc
        iocore/cache/CacheLink.cc
        iocore/cache/CachePages.cc
        iocore/cache/CachePagesInternal.cc
        iocore/cache/CacheRead.cc
        iocore/cache/CacheTest.cc
        iocore/cache/CacheVol.cc
        iocore/cache/CacheWrite.cc
        iocore/cache/I_Cache.h
        iocore/cache/I_CacheDefs.h
        iocore/cache/I_Store.h
        iocore/cache/Inline.cc
        iocore/cache/P_Cache.h
        iocore/cache/P_CacheArray.h
        iocore/cache/P_CacheBC.h
        iocore/cache/P_CacheDir.h
        iocore/cache/P_CacheDisk.h
        iocore/cache/P_CacheHosting.h
        iocore/cache/P_CacheHttp.h
        iocore/cache/P_CacheInternal.h
        iocore/cache/P_CacheTest.h
        iocore/cache/P_CacheVol.h
        iocore/cache/P_RamCache.h
        iocore/cache/RamCacheCLFUS.cc
        iocore/cache/RamCacheLRU.cc
        iocore/cache/Store.cc
)

add_library(libtsconfig SHARED
        lib/tsconfig/Errata.cc
        lib/tsconfig/Errata.h
        lib/tsconfig/IntrusivePtr.h
        lib/tsconfig/NumericType.h
        lib/tsconfig/test-tsconfig.cc
        lib/tsconfig/TsBuilder.cc
        lib/tsconfig/TsBuilder.h
        lib/tsconfig/TsConfigGrammar.c
        lib/tsconfig/TsConfigGrammar.h
        lib/tsconfig/TsConfigLexer.h
        lib/tsconfig/TsConfigParseEvents.h
        lib/tsconfig/TsConfigSyntax.c
        lib/tsconfig/TsConfigTypes.h
        lib/tsconfig/TsErrataUtil.cc
        lib/tsconfig/TsErrataUtil.h
        lib/tsconfig/TsValue.cc
        lib/tsconfig/TsValue.h
)

# Plugins
add_library(plugin_compress SHARED
        plugins/compress/configuration.cc
        plugins/compress/configuration.h
        plugins/compress/debug_macros.h
        plugins/compress/compress.cc
        plugins/compress/misc.cc
        plugins/compress/misc.h
)

add_library(plugin_cachekey SHARED
        plugins/cachekey/tests/pattern_test.cc
        plugins/cachekey/cachekey.cc
        plugins/cachekey/cachekey.h
        plugins/cachekey/common.cc
        plugins/cachekey/common.h
        plugins/cachekey/configs.cc
        plugins/cachekey/configs.h
        plugins/cachekey/pattern.cc
        plugins/cachekey/pattern.h
        plugins/cachekey/plugin.cc
        )

add_library(plugin_escalate SHARED
        plugins/escalate/escalate.cc
        )

# CacheTool
add_executable(traffic_cache_tool
	src/traffic_cache_tool/CacheStore.h
	src/traffic_cache_tool/CacheDefs.h
	src/traffic_cache_tool/CacheDefs.cc
	src/traffic_cache_tool/CacheTool.cc
	src/traffic_cache_tool/Command.h
	src/traffic_cache_tool/Command.cc
	src/traffic_cache_tool/File.h
	src/traffic_cache_tool/File.cc
)
