
FIND_PACKAGE(Log4Qt)

# Sourcen
SET(NGLLogger_SRCS
  MurmurHash2.cpp
  MurmurHash2.h
  INGLLogger.h

  NGLLogger_export.h
  NGLLoggerBootstrap.cpp
  NGLLoggerBootstrap.h
  NGLLogger.cpp
  NGLLogger.h
)

# Header
SET(NGLLogger_HDRS
)

# Make sure NGLLogger.h compiles ..
ADD_DEFINITIONS(-DBUILDING_NGLLOGGER)
NGL_ADD_LIBRARY(ALL NGLLogger SHARED ${NGLLogger_SRCS} ${NGLLogger_HDRS})
NGL_TARGET_INCLUDE_DIRECTORIES(NGLLogger
  INTERFACE
    ${CMAKE_CURRENT_SOURCE_DIR}/../
)
NGL_TARGET_LINK_LIBRARIES(NGLLogger
 PRIVATE
 $<IF:$<BOOL:${Log4Qt_FOUND}>,Log4Qt::log4qt,>
 PUBLIC
  Qt5::Core
)

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(BUILD_TESTING AND TARGET NGLLogger)

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx.props ${CMAKE_BINARY_DIR}/log4cxx.props COPYONLY)
