# Configure
if(WIN32)
add_custom_target(configure_log4cxx
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.hw
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.hw
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.hw
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.hw
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/version_info.h.in
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/version_info.h
@ONLY
)
else()
# Configure log4cxx.h
set(LOG4CXX_CHAR "utf-8" CACHE STRING "Interal character representation, choice of utf-8 (default), wchar_t, unichar")
set_property(CACHE LOG4CXX_CHAR PROPERTY STRINGS "utf-8" "wchar_t" "unichar")
set(LOGCHAR_IS_UNICHAR 0)
set(LOGCHAR_IS_WCHAR 0)
set(LOGCHAR_IS_UTF8 0)
if(${LOG4CXX_CHAR} STREQUAL "unichar")
set(LOGCHAR_IS_UNICHAR 1)
elseif(${LOG4CXX_CHAR} STREQUAL "wchar_t")
set(LOGCHAR_IS_WCHAR 1)
else()
set(LOGCHAR_IS_UTF8 1)
endif()
option(LOG4CXX_WCHAR_T "Enable wchar_t API methods" ON)
option(LOG4CXX_UNICHAR "Enable UniChar API methods" OFF)
if(APPLE)
option(LOG4CXX_CFSTRING "Enable CFString API methods, requires Mac OS/X CoreFoundation" OFF)
endif()
set(CHAR_API 1)
foreach(varName WCHAR_T UNICHAR CFSTRING )
if(${LOG4CXX_${varName}})
set("${varName}_API" 1)
else()
set("${varName}_API" 0)
endif()
endforeach()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.h.in
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
@ONLY
)
# Configure log4cxx_private.h
set(LOG4CXX_CHARSET "locale" CACHE STRING "LogString characters, choice of locale (default), utf-8, ISO-8859-1, US-ASCII, EBCDIC")
set_property(CACHE LOG4CXX_CHARSET PROPERTY STRINGS "locale" "utf-8" "ISO-8859-1" "US-ASCII" "EBCDIC")
set(CHARSET_EBCDIC 0)
set(CHARSET_USASCII 0)
set(CHARSET_ISO88591 0)
set(CHARSET_UTF8 0)
if(${LOG4CXX_CHARSET} STREQUAL "EBCDIC")
set(CHARSET_EBCDIC 1)
elseif(${LOG4CXX_CHARSET} STREQUAL "US-ASCII")
set(CHARSET_USASCII 1)
elseif(${LOG4CXX_CHARSET} STREQUAL "ISO-8859-1")
set(CHARSET_ISO88591 1)
elseif(${LOG4CXX_CHARSET} STREQUAL "utf-8")
set(CHARSET_UTF8 1)
endif()
#
# Test for various functions
#
include(CheckFunctionExists)
include(CheckCXXSymbolExists)
include(CheckIncludeFiles)
include(CheckIncludeFileCXX)
include(CheckLibraryExists)
CHECK_INCLUDE_FILE_CXX(locale HAS_STD_LOCALE)
CHECK_INCLUDE_FILES(sqlext.h HAS_ODBC)
CHECK_FUNCTION_EXISTS(mbsrtowcs HAS_MBSRTOWCS)
CHECK_FUNCTION_EXISTS(wcstombs HAS_WCSTOMBS)
CHECK_FUNCTION_EXISTS(fwide HAS_FWIDE)
CHECK_LIBRARY_EXISTS(esmtp smtp_create_session "" HAS_LIBESMTP)
CHECK_FUNCTION_EXISTS(syslog HAS_SYSLOG)
foreach(varName HAS_STD_LOCALE HAS_ODBC HAS_MBSRTOWCS HAS_WCSTOMBS HAS_FWIDE HAS_LIBESMTP HAS_SYSLOG)
if(${varName} EQUAL 0)
continue()
elseif(${varName} EQUAL 1)
continue()
elseif("${varName}" STREQUAL "ON")
set(${varName} 1 )
elseif("${varName}" STREQUAL "OFF")
set(${varName} 0 )
else()
set(${varName} 0 )
endif()
endforeach()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.h.in
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
@ONLY
)
# Provide the dependencies
add_custom_target(configure_log4cxx
COMMAND "${CMAKE_COMMAND}" -E echo "Checking configuration"
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.h.in
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.h.in
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
)
endif()
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
log4cxx 0.11.0 三方件 (219个子文件)
Makefile.am 3KB
Makefile.am 2KB
Makefile.am 2KB
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 802B
cmake_install.cmake 1KB
generate.stamp.depend 207B
log4cxx.dll 1.84MB
log4cxx.exp 2.55MB
configure_log4cxx.vcxproj.filters 781B
INSTALL.vcxproj.filters 533B
logger.h 65KB
messagebuffer.h 22KB
patternlayout.h 15KB
stream.h 15KB
propertyconfigurator.h 13KB
ndc.h 12KB
timebasedrollingpolicy.h 9KB
exception.h 9KB
level.h 9KB
domconfigurator.h 9KB
hierarchy.h 8KB
odbcappender.h 8KB
asyncappender.h 8KB
transcoder.h 8KB
smtpappender.h 8KB
loggingevent.h 7KB
mdc.h 7KB
tchar.h 7KB
fileappender.h 7KB
sockethubappender.h 6KB
writerappender.h 6KB
properties.h 6KB
dailyrollingfileappender.h 6KB
cacheddateformat.h 6KB
ttcclayout.h 6KB
logmanager.h 6KB
appenderskeleton.h 6KB
optionconverter.h 6KB
patternparser.h 5KB
xmlsocketappender.h 5KB
socketappenderskeleton.h 5KB
file.h 5KB
socketappender.h 5KB
object.h 5KB
rollingfileappenderskeleton.h 5KB
syslogappender.h 4KB
telnetappender.h 4KB
datagrampacket.h 4KB
objectptr.h 4KB
rollingfileappender.h 4KB
levelrangefilter.h 4KB
filter.h 4KB
appender.h 4KB
fixedwindowrollingpolicy.h 4KB
expressionfilter.h 4KB
jsonlayout.h 4KB
datagramsocket.h 4KB
errorhandler.h 4KB
xmllayout.h 4KB
htmllayout.h 4KB
loggerrepository.h 4KB
xml.h 4KB
rollingfileappender.h 3KB
patternconverter.h 3KB
andfilter.h 3KB
rollingpolicybase.h 3KB
appenderattachableimpl.h 3KB
charsetencoder.h 3KB
nteventlogappender.h 3KB
propertysetter.h 3KB
loggermatchfilter.h 3KB
log4cxx.h 3KB
locationinfo.h 3KB
fallbackerrorhandler.h 3KB
loglog.h 3KB
stringmatchfilter.h 3KB
filterbasedtriggeringpolicy.h 3KB
levelmatchfilter.h 3KB
onlyonceerrorhandler.h 3KB
thread.h 3KB
mapfilter.h 3KB
charsetdecoder.h 3KB
objectoutputstream.h 3KB
rollingpolicy.h 3KB
rolloverdescription.h 3KB
datelayout.h 3KB
inetaddress.h 3KB
layout.h 3KB
locationinfofilter.h 3KB
共 219 条
- 1
- 2
- 3
资源评论
MSDN_lsx
- 粉丝: 869
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功