This is an automated email from the ASF dual-hosted git repository.
cmcfarlen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new f007799886 Update cmake for cleaner install with static vs shared
(#10938)
f007799886 is described below
commit f0077998861d3f5a1934dd257074251492004a54
Author: Chris McFarlen <[email protected]>
AuthorDate: Sat Dec 16 08:51:59 2023 -0600
Update cmake for cleaner install with static vs shared (#10938)
* Update cmake for cleaner install with static vs shared
* link order
* remove some tsapi deps from proxy
---------
Co-authored-by: Chris McFarlen <[email protected]>
---
lib/swoc/CMakeLists.txt | 2 +-
src/api/CMakeLists.txt | 15 +++++++++++++--
src/proxy/FetchSM.cc | 2 +-
src/proxy/Plugin.cc | 2 --
src/proxy/logging/CMakeLists.txt | 2 +-
src/traffic_logstats/CMakeLists.txt | 4 +---
src/traffic_server/traffic_server.cc | 2 ++
src/tscore/CMakeLists.txt | 8 ++++++++
src/tsutil/CMakeLists.txt | 7 ++++++-
9 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/lib/swoc/CMakeLists.txt b/lib/swoc/CMakeLists.txt
index e3d68ab872..05eef1bed4 100644
--- a/lib/swoc/CMakeLists.txt
+++ b/lib/swoc/CMakeLists.txt
@@ -7,7 +7,7 @@ cmake_policy(SET CMP0087 NEW)
# override "lib64" to be "lib" unless the user explicitly sets it.
set(CMAKE_INSTALL_LIBDIR
"lib"
- CACHE STRING "directory for libraries" FORCE
+ CACHE STRING "directory for libraries"
)
include(GNUInstallDirs)
include(CMakeDependentOption)
diff --git a/src/api/CMakeLists.txt b/src/api/CMakeLists.txt
index 3b131c3f15..f9b65b52df 100644
--- a/src/api/CMakeLists.txt
+++ b/src/api/CMakeLists.txt
@@ -34,7 +34,7 @@ set_target_properties(tsapi PROPERTIES PUBLIC_HEADER
"${TSAPI_PUBLIC_HEADERS}")
# Items common between api and other ts libraries
add_library(
- tsapibackend
+ tsapibackend STATIC # need to fix circular dep to remove this
ConfigUpdateCbTable.cc # configmanager
InkContInternal.cc # proxy, http
InkVConnInternal.cc # proxy, http
@@ -50,7 +50,18 @@ target_link_libraries(
PRIVATE ts::proxy ts::hdrs ts::tscore
)
-install(TARGETS tsapi tsapibackend PUBLIC_HEADER DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/ts)
+install(
+ TARGETS tsapi tsapibackend
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ts
+)
+
+install(
+ TARGETS tsapibackend
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
if(APPLE)
target_link_options(tsapi PRIVATE -undefined dynamic_lookup)
diff --git a/src/proxy/FetchSM.cc b/src/proxy/FetchSM.cc
index 6ac96bcd66..cf7b3a907f 100644
--- a/src/proxy/FetchSM.cc
+++ b/src/proxy/FetchSM.cc
@@ -653,7 +653,7 @@ FetchSM::ext_init(Continuation *cont, const char *method,
const char *url, const
void
FetchSM::ext_add_header(const char *name, int name_len, const char *value, int
value_len)
{
- if (TS_MIME_LEN_CONTENT_LENGTH == name_len &&
!strncasecmp(TS_MIME_FIELD_CONTENT_LENGTH, name, name_len)) {
+ if (MIME_LEN_CONTENT_LENGTH == name_len &&
!strncasecmp(MIME_FIELD_CONTENT_LENGTH, name, name_len)) {
req_content_length = atoll(value);
}
diff --git a/src/proxy/Plugin.cc b/src/proxy/Plugin.cc
index eba29018be..de39d2dbde 100644
--- a/src/proxy/Plugin.cc
+++ b/src/proxy/Plugin.cc
@@ -27,7 +27,6 @@
#include "tscore/ParseRules.h"
#include "records/RecCore.h"
#include "tscore/Layout.h"
-#include "api/InkAPIInternal.h"
#include "proxy/Plugin.h"
#include "tscore/ink_cap.h"
#include "tscore/Filenames.h"
@@ -274,7 +273,6 @@ plugin_init(bool validateOnly)
static bool INIT_ONCE = true;
if (INIT_ONCE) {
- api_init();
plugin_dir = ats_stringdup(RecConfigReadPluginDir());
INIT_ONCE = false;
}
diff --git a/src/proxy/logging/CMakeLists.txt b/src/proxy/logging/CMakeLists.txt
index 25d44aea3a..62fe72f974 100644
--- a/src/proxy/logging/CMakeLists.txt
+++ b/src/proxy/logging/CMakeLists.txt
@@ -36,7 +36,7 @@ add_library(ts::logging ALIAS logging)
target_include_directories(logging PRIVATE ${SWOC_INCLUDE_DIR})
-target_link_libraries(logging PUBLIC ts::inkevent ts::inkutils ts::proxy
ts::tscore yaml-cpp::yaml-cpp)
+target_link_libraries(logging PUBLIC ts::inkevent ts::inkutils ts::http
ts::hdrs ts::tscore yaml-cpp::yaml-cpp)
if(BUILD_TESTING)
add_executable(test_LogUtils LogUtils.cc unit-tests/test_LogUtils.cc)
diff --git a/src/traffic_logstats/CMakeLists.txt
b/src/traffic_logstats/CMakeLists.txt
index 7c20bac85e..8d62e07df1 100644
--- a/src/traffic_logstats/CMakeLists.txt
+++ b/src/traffic_logstats/CMakeLists.txt
@@ -16,9 +16,7 @@
#######################
add_executable(traffic_logstats logstats.cc)
-target_link_libraries(
- traffic_logstats PRIVATE ts::logging ts::tscore ts::diagsconfig
ts::configmanager ts::overridable_txn_vars
-)
+target_link_libraries(traffic_logstats PRIVATE ts::logging ts::tscore
ts::diagsconfig ts::configmanager)
install(TARGETS traffic_logstats)
diff --git a/src/traffic_server/traffic_server.cc
b/src/traffic_server/traffic_server.cc
index 0835228b7a..f91b6a13e9 100644
--- a/src/traffic_server/traffic_server.cc
+++ b/src/traffic_server/traffic_server.cc
@@ -942,6 +942,7 @@ cmd_verify(char * /* cmd ATS_UNUSED */)
Layout::get()->update_sysconfdir(conf_dir);
}
+ api_init();
if (!plugin_init(true)) {
exitStatus |= (1 << 2);
fprintf(stderr, "ERROR: Failed to load %s, exitStatus %d\n\n",
ts::filename::PLUGIN, exitStatus);
@@ -2177,6 +2178,7 @@ main(int /* argc ATS_UNUSED */, const char **argv)
(void)parsePluginConfig();
// Init plugins as soon as logging is ready.
+ api_init();
(void)plugin_init(); // plugin.config
{
diff --git a/src/tscore/CMakeLists.txt b/src/tscore/CMakeLists.txt
index dae9460326..49808b6d7e 100644
--- a/src/tscore/CMakeLists.txt
+++ b/src/tscore/CMakeLists.txt
@@ -130,6 +130,14 @@ if(TS_HAS_128BIT_CAS AND TS_NEEDS_MCX16_FOR_CAS)
target_compile_options(tscore PUBLIC "-mcx16")
endif()
+if(BUILD_SHARED_LIBS)
+ install(
+ TARGETS tscore
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+endif()
+
if(BUILD_TESTING)
add_executable(
test_tscore
diff --git a/src/tsutil/CMakeLists.txt b/src/tsutil/CMakeLists.txt
index 0d17737d4c..b677e5fd78 100644
--- a/src/tsutil/CMakeLists.txt
+++ b/src/tsutil/CMakeLists.txt
@@ -53,7 +53,12 @@ add_library(ts::tsutil ALIAS tsutil)
set_target_properties(tsutil PROPERTIES POSITION_INDEPENDENT_CODE TRUE
PUBLIC_HEADER "${TSUTIL_PUBLIC_HEADERS}")
target_link_libraries(tsutil PUBLIC libswoc::libswoc yaml-cpp::yaml-cpp
PCRE::PCRE)
-install(TARGETS tsutil PUBLIC_HEADER DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/tsutil)
+install(
+ TARGETS tsutil
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tsutil
+)
if(BUILD_TESTING)
add_executable(