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(

Reply via email to