blob: 3e5c43775b751cfb857f72bab309d8abcd621573 [file] [log] [blame]
#######################
#
# 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.
#
#######################
add_library(
tscppapi SHARED
AsyncHttpFetch.cc
AsyncTimer.cc
CaseInsensitiveStringComparator.cc
ClientRequest.cc
Continuation.cc
GlobalPlugin.cc
GzipDeflateTransformation.cc
GzipInflateTransformation.cc
Headers.cc
HttpMethod.cc
HttpVersion.cc
InterceptPlugin.cc
Logger.cc
Plugin.cc
RemapPlugin.cc
Request.cc
Response.cc
Stat.cc
Transaction.cc
TransactionPlugin.cc
TransformationPlugin.cc
Url.cc
utils.cc
utils_internal.cc
)
add_library(ts::tscppapi ALIAS tscppapi)
target_link_libraries(tscppapi PUBLIC libswoc::libswoc yaml-cpp::yaml-cpp)
if(APPLE)
target_link_options(tscppapi PRIVATE -undefined dynamic_lookup)
endif()
set(TSCPP_API_PUBLIC_HEADERS
${PROJECT_SOURCE_DIR}/include/tscpp/api/Async.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/AsyncHttpFetch.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/AsyncTimer.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/CaseInsensitiveStringComparator.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Cleanup.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/ClientRequest.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Continuation.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/GlobalPlugin.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/GzipDeflateTransformation.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/GzipInflateTransformation.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Headers.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/HttpMethod.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/HttpStatus.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/HttpVersion.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/InterceptPlugin.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Logger.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Plugin.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/PluginInit.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/RemapPlugin.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Request.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Response.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Stat.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Transaction.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/TransactionPlugin.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/TransformationPlugin.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/Url.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/noncopyable.h
${PROJECT_SOURCE_DIR}/include/tscpp/api/utils.h
)
set_target_properties(tscppapi PROPERTIES PUBLIC_HEADER "${TSCPP_API_PUBLIC_HEADERS}")
install(TARGETS tscppapi PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tscpp/api)
clang_tidy_check(tscppapi)