This is an automated email from the ASF dual-hosted git repository.

swebb2066 pushed a commit to branch optionally_support_pkg_config
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit 41a240a069d9dcaadf2a66e521a5c3c8fbf9a2bc
Author: Stephen Webb <[email protected]>
AuthorDate: Mon Nov 4 11:26:52 2024 +1100

    Make pkg_config support opt-in when building with Microsoft Visual Studio
---
 CMakeLists.txt | 46 ++++++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 20 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b1c0d52..2ae78380 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -173,33 +173,39 @@ IF(MSVC AND BUILD_SHARED_LIBS AND LOG4CXX_INSTALL_PDB)
   )
 ENDIF()
 
-# Support for pkg-config in consuming projects
-set(prefix "${CMAKE_INSTALL_PREFIX}")
-set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
-set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
-set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
-set(VERSION 
"${log4cxx_VERSION_MAJOR}.${log4cxx_VERSION_MINOR}.${log4cxx_VERSION_PATCH}")
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/liblog4cxx.pc.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}.pc"
-)
-
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}.pc"
-  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
-if(LOG4CXX_QT_SUPPORT)
+set(install_pkg_config ON)
+if(MSVC)
+    set(install_pkg_config OFF)
+endif(MSVC)
+option(LOG4CXX_WITH_PKG_CONFIG "Support pkg_config in consuming projects" 
${install_pkg_config})
+if(LOG4CXX_WITH_PKG_CONFIG)
     set(prefix "${CMAKE_INSTALL_PREFIX}")
     set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
     set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
     set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
     set(VERSION 
"${log4cxx_VERSION_MAJOR}.${log4cxx_VERSION_MINOR}.${log4cxx_VERSION_PATCH}")
-    configure_file("${CMAKE_CURRENT_SOURCE_DIR}/liblog4cxx-qt.pc.in"
-      "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}-qt.pc"
+    configure_file("${CMAKE_CURRENT_SOURCE_DIR}/liblog4cxx.pc.in"
+      "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}.pc"
     )
 
-    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}-qt.pc"
-      DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
-    )
-endif(LOG4CXX_QT_SUPPORT)
+    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}.pc"
+      DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+    if(LOG4CXX_QT_SUPPORT)
+        set(prefix "${CMAKE_INSTALL_PREFIX}")
+        set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
+        set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+        set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+        set(VERSION 
"${log4cxx_VERSION_MAJOR}.${log4cxx_VERSION_MINOR}.${log4cxx_VERSION_PATCH}")
+        configure_file("${CMAKE_CURRENT_SOURCE_DIR}/liblog4cxx-qt.pc.in"
+          "${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}-qt.pc"
+        )
+
+        install(FILES 
"${CMAKE_CURRENT_BINARY_DIR}/lib${LOG4CXX_LIB_NAME}-qt.pc"
+          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+        )
+    endif(LOG4CXX_QT_SUPPORT)
+endif(LOG4CXX_WITH_PKG_CONFIG)
 
 # Support for find_package(log4cxx) in consuming CMake projects using
 # target_include_directories(myApplication PRIVATE 
$<TARGET_PROPERTY:log4cxx,INTERFACE_INCLUDE_DIRECTORIES>)

Reply via email to