cmake_minimum_required(VERSION 3.13)
include(src/cmake/projectVersionDetails.cmake)
project(log4cxx VERSION ${log4cxx_VER} LANGUAGES CXX)
include(CTest)
# define the SO Version of the library. Version of the log4cxx project is subtly different than the version of the library
# (at least in the past it was project vesion: 0.a.b.c and the library so vesion a.b.c.0
set(LIBLOG4CXX_LIB_VERSION ${log4cxx_VERSION_MINOR}.${log4cxx_VERSION_PATCH}.${log4cxx_VERSION_TWEAK})
set(LIBLOG4CXX_LIB_SOVERSION ${log4cxx_VERSION_MINOR})
# FindAPR and FindAPR-util are not provided by APR and APR-Util so source them locally
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/cmake")
# Add support for linking statically
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
if(NOT BUILD_SHARED_LIBS)
set(LOG4CXX_COMPILE_DEFINITIONS LOG4CXX_STATIC)
endif()
# Find Apache Runtime
find_package(APR REQUIRED)
# Find Apache Runtime Utilities
find_package(APR-Util REQUIRED)
# Building
add_subdirectory(src)
## Installing
include(GNUInstallDirs)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/main/include/log4cxx
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h"
)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/main/include/log4cxx
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h"
)
install(TARGETS log4cxx EXPORT log4cxxTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
IF(WIN32 AND BUILD_SHARED_LIBS AND LOG4CXX_INSTALL_PDB)
INSTALL(FILES $<TARGET_PDB_FILE:log4cxx>
DESTINATION ${CMAKE_INSTALL_BINDIR}
CONFIGURATIONS RelWithDebInfo Debug
)
ENDIF()
if(UNIX)
# 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}/liblog4cxx.pc"
)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx.pc"
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
endif(UNIX)
# Support for find_package(log4cxx) in consuming CMake projects using
# target_include_directories(myApplication PRIVATE $<TARGET_PROPERTY:log4cxx,INTERFACE_INCLUDE_DIRECTORIES>)
# target_link_libraries( myApplication PRIVATE log4cxx)
install(EXPORT log4cxxTargets
FILE log4cxxConfig.cmake
DESTINATION share/cmake/log4cxx
)
# Support for find_package(log4cxx 0.11) in consuming CMake projects
include(CMakePackageConfigHelpers)
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/log4cxxConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMinorVersion
)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/log4cxxConfigVersion.cmake"
DESTINATION share/cmake/log4cxx
)
#
# Get the varaibles from the subdirectories
#
get_directory_property( HAS_LIBESMTP DIRECTORY src/main/include DEFINITION HAS_LIBESMTP )
get_directory_property( HAS_ODBC DIRECTORY src/main/include DEFINITION HAS_ODBC )
get_directory_property( HAS_SYSLOG DIRECTORY src/main/include DEFINITION HAS_SYSLOG )
foreach(varName HAS_STD_LOCALE HAS_ODBC HAS_MBSRTOWCS HAS_WCSTOMBS HAS_FWIDE HAS_LIBESMTP HAS_SYSLOG)
if(${varName} EQUAL 0)
set(${varName} "OFF" )
elseif(${varName} EQUAL 1)
set(${varName} "ON" )
else()
set(${varName} "UNKNOWN" )
endif()
endforeach()
#
# Output configuration information
# Similar to APR CMake configuration
#
message(STATUS "")
message(STATUS "")
message(STATUS "log4cxx configuration summary:")
message(STATUS "")
message(STATUS " Build shared library ............ : ${BUILD_SHARED_LIBS}")
message(STATUS " Build tests ..................... : ${BUILD_TESTING}")
message(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}")
message(STATUS " C++ compiler .................... : ${CMAKE_CXX_COMPILER}")
message(STATUS " log4cxx char API ................ : ${LOG4CXX_CHAR}")
message(STATUS " log4cxx wchar API ............... : ${LOG4CXX_WCHAR_T}")
message(STATUS " log4cxx unichar API ............. : ${LOG4CXX_UNICHAR}")
if(APPLE)
message(STATUS " log4cxx cfstring API ............ : ${LOG4CXX_CFSTRING}")
endif()
message(STATUS " logchar type .................... : ${LOG4CXX_CHAR}")
message(STATUS " Using libESMTP .................. : ${HAS_LIBESMTP}")
message(STATUS " ODBC library .................... : ${HAS_ODBC}")
message(STATUS " syslog .......................... : ${HAS_SYSLOG}")
没有合适的资源?快使用搜索试试~ 我知道了~
logging-log4cxx-0.11.0.zip
共766个文件
cpp:260个
h:209个
am:40个
需积分: 1 1 下载量 17 浏览量
2023-04-15
21:23:17
上传
评论
收藏 1.21MB ZIP 举报
温馨提示
log4cxx-0.11.0源码
资源推荐
资源详情
资源评论
收起资源包目录
logging-log4cxx-0.11.0.zip (766个子文件)
sbr-test2.0 100B
tbr-test4.0 0B
tbr-test1.0 0B
tbr-test5.0 0B
tbr-test2.0 0B
xmlLayout.1 3KB
socketServer.1 2KB
l7d.1 1KB
dom.A1.1 455B
dom.A2.1 446B
NDC.1 415B
xmlLayout.mdc.1 288B
customLogger.1 282B
customLevel.1 210B
patternLayout.1 180B
sbr-test2.1 100B
tbr-test4.1 66B
tbr-test1.1 66B
tbr-test2.1 66B
tbr-test5.1 66B
patternLayout.mdc.1 45B
hierarchyThreshold.1 0B
patternLayout.10 489B
patternLayout.11 384B
patternLayout.12 489B
xmlLayout.2 4KB
socketServer.2 2KB
patternLayout.mdc.2 471B
dom.A1.2 455B
dom.A2.2 446B
patternLayout.2 370B
xmlLayout.mdc.2 348B
customLevel.2 210B
tbr-test1.2 66B
tbr-test2.2 66B
tbr-test4.2 66B
tbr-test5.2 66B
customLogger.2 47B
hierarchyThreshold.2 38B
socketServer.3 2KB
xmlLayout.3 678B
patternLayout.3 369B
hierarchyThreshold.3 76B
customLevel.3 42B
tbr-test4.3 33B
tbr-test1.3 33B
tbr-test2.3 33B
tbr-test6.3 33B
tbr-test3.3 33B
tbr-test5.3 33B
socketServer.4 2KB
patternLayout.4 369B
customLevel.4 210B
hierarchyThreshold.4 113B
socketServer.5 2KB
patternLayout.5 369B
hierarchyThreshold.5 150B
socketServer.6 2KB
patternLayout.6 369B
hierarchyThreshold.6 188B
socketServer.7 2KB
patternLayout.7 369B
hierarchyThreshold.7 226B
socketServer.8 2KB
patternLayout.8 359B
hierarchyThreshold.8 226B
patternLayout.9 359B
configure.ac 13KB
Makefile.am 6KB
Makefile.am 6KB
Makefile.am 3KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 2KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1011B
Makefile.am 901B
Makefile.am 896B
Makefile.am 880B
Makefile.am 873B
Makefile.am 870B
Makefile.am 868B
Makefile.am 856B
Makefile.am 852B
Makefile.am 808B
共 766 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
dragoo1
- 粉丝: 272
- 资源: 92
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功