62 lines
1.4 KiB
CMake
Executable File
62 lines
1.4 KiB
CMake
Executable File
|
|
FIND_PACKAGE(Log4Qt)
|
|
|
|
# Sourcen
|
|
SET(NGLLogger_SRCS
|
|
MurmurHash2.cpp
|
|
MurmurHash2.h
|
|
NGLLoggerBootstrap.cpp
|
|
NGLLoggerBootstrap.h
|
|
NGLLogger.cpp
|
|
NGLLogger.h
|
|
)
|
|
|
|
# Header
|
|
SET(NGLLogger_HDRS
|
|
)
|
|
|
|
# Make sure NGLLogger.h compiles ..
|
|
ADD_DEFINITIONS(-DBUILDING_NGLLOGGER)
|
|
NGL_ADD_LIBRARY2(ALL NGLLogger SHARED ${NGLLogger_SRCS} ${NGLLogger_HDRS})
|
|
NGL_TARGET_INCLUDE_DIRECTORIES(NGLLogger
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
# Export headers for other modules building in the same tree (e.g., TetraIF)
|
|
# Ensure NGLLogger target provides include paths so consumers can include <NGLLogger/INGLLogger.h>
|
|
|
|
NGL_TARGET_LINK_LIBRARIES(NGLLogger
|
|
PRIVATE
|
|
$<IF:$<BOOL:${Log4Qt_FOUND}>,Log4Qt::log4qt,>
|
|
PUBLIC
|
|
Qt6::Core
|
|
)
|
|
|
|
# Define HAVE_LOG4QT when log4qt is available
|
|
IF(Log4Qt_FOUND)
|
|
TARGET_COMPILE_DEFINITIONS(NGLLogger PUBLIC HAVE_LOG4QT)
|
|
ENDIF()
|
|
|
|
NGL_INSTALL_TARGET(NGLLogger)
|
|
|
|
#
|
|
# test_ngllogger
|
|
#
|
|
IF(BUILD_TESTING AND TARGET NGLLogger AND Log4Qt_FOUND)
|
|
ADD_EXECUTABLE(test_ngllogger test_ngllogger.cpp)
|
|
TARGET_LINK_LIBRARIES(test_ngllogger NGLLogger)
|
|
TARGET_LINK_LIBRARIES(test_ngllogger
|
|
Log4Qt::log4qt
|
|
ngltools
|
|
)
|
|
ADD_TEST(NAME test_ngllogger COMMAND $<TARGET_FILE:test_ngllogger>)
|
|
ELSE()
|
|
MESSAGE(STATUS "Log4Qt not found; skipping test_ngllogger")
|
|
ENDIF()
|
|
|
|
|
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx.props ${CMAKE_BINARY_DIR}/log4cxx.props COPYONLY)
|