Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

PROJECT(CuteLogger)

FIND_PACKAGE(Qt4 COMPONENTS QtCore REQUIRED)
INCLUDE(${QT_USE_FILE})
OPTION(USE_Qt5 "Use Qt5 instead of Qt4 (default)" OFF)
if(USE_Qt5)
FIND_PACKAGE(Qt5Core REQUIRED)
else(USE_Qt5) # default is Qt4
FIND_PACKAGE(Qt4 COMPONENTS QtCore REQUIRED)
INCLUDE(${QT_USE_FILE})
endif(USE_Qt5)

ADD_DEFINITIONS(-DCUTELOGGER_LIBRARY)

Expand Down Expand Up @@ -40,4 +45,17 @@ SET(library_target Logger)

ADD_LIBRARY(${library_target} SHARED ${sources} ${includes})
TARGET_LINK_LIBRARIES(${library_target} ${QT_LIBRARIES})
if(USE_Qt5)
QT5_USE_MODULES(${library_target} Core)
endif(USE_Qt5)
INSTALL(TARGETS ${library_target} DESTINATION lib)

SET(CuteLogger_PATH_SUFFIX cutelogger)
INSTALL(FILES
${includes} cmake/CuteLoggerConfig.cmake
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${CuteLogger_PATH_SUFFIX})
INSTALL(TARGETS
${library_target}
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${CuteLogger_PATH_SUFFIX}
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${CuteLogger_PATH_SUFFIX}
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${CuteLogger_PATH_SUFFIX})
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Build

__Note:__ Omit `-D USE_Qt5=ON` below if you want to build against Qt4

```
git clone <this-repo> CuteLogger
mkdir CuteLogger-build
cd CuteLogger-build
cmake -D USE_Qt5=ON \
-D Qt5Core_DIR="/path/to/your/Qt5CoreConfig.cmake/file" \
../CuteLogger
make -j
sudo make install # because default CMAKE_INSTALL_PREFIX is /usr/local
```

# Use

1. Put `FIND_PACKAGE(CuteLogger CONFIG REQUIRED)` into your project's CMake file.
1. Specify `CuteLogger_DIR` as `/usr/local/include/cutelogger` (i.e. `${CMAKE_INSTALL_PREFIX}/include/cutelogger`) for CMake.
1. See `cmake/CuteLoggerConfig.cmake` (installed in `/usr/local/include/cutelogger/CuteLoggerConfig.cmake`) to see which CMake variables to use.
32 changes: 32 additions & 0 deletions cmake/CuteLoggerConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Try to find CuteLogger. Once done, this will define:
#
# CuteLogger_INCLUDE_DIR - the NiftyMatch include directories
# CuteLogger_LIBS - link these to use NiftyMatch
#

# to be kept in sync with CMakeLists.txt at top level
# allows defined suffix to be appended to all searched paths
SET(CuteLogger_PATH_SUFFIX cutelogger)

# Include dir
FIND_PATH(CuteLogger_INCLUDE_DIR
NAMES Logger.h
PATHS ${CMAKE_CURRENT_LIST_DIR}/../../include
PATH_SUFFIXES ${CuteLogger_PATH_SUFFIX})

# And the modules of this library
FIND_LIBRARY(CuteLogger_LIB
NAMES Logger
PATHS ${CMAKE_CURRENT_LIST_DIR}/../../lib
PATH_SUFFIXES ${CuteLogger_PATH_SUFFIX})

# Put them all into a var
SET(CuteLogger_LIBS
${CuteLogger_LIB})

# handle the QUIETLY and REQUIRED arguments and set CuteLogger_FOUND
# if all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
CuteLogger DEFAULT_MSG
CuteLogger_LIBS CuteLogger_INCLUDE_DIR)