Skip to content

Commit 460469c

Browse files
Merge branch 'KjellKod-master'
2 parents 2688720 + 1f825bf commit 460469c

File tree

12 files changed

+316
-155
lines changed

12 files changed

+316
-155
lines changed

API.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ Example code for replacing the default log formatting for "full details" formatt
168168
handle->call(&g3::FileSink::overrideLogDetails, &LogMessage::FullLogDetailsToString);
169169
```
170170

171-
See [test_message.cpp](http://www.github.com/KjellKod/g3log/test_unit/test_message.cpp) for details and testing
171+
See [test_message.cpp](test_unit/test_message.cpp) for details and testing
172172

173173

174174
Example code for overloading the formatting of a custom sink. The log formatting function will be passed into the
@@ -324,7 +324,7 @@ The default behaviour for G3log is to catch several fatal events before they for
324324
```
325325

326326
### <a name="fatal_handling_disabled">Disable fatal handling</a>
327-
Fatal signal handling can be disabled with a CMake option: `ENABLE_FATAL_SIGNALHANDLING`. See [Options.cmake](https://github.com/KjellKod/g3log/blob/master/Options.cmake) for more details
327+
Fatal signal handling can be disabled with a CMake option: `ENABLE_FATAL_SIGNALHANDLING`. See [Options.cmake](Options.cmake) for more details
328328

329329

330330
### <a name="PID1">PID1 Fatal Signal Recommendations</a>

Build.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,12 @@
7777
# require here some proxy for c++14 standard to avoid problems TARGET_PROPERTY CXX_STANDARD
7878
#TARGET_COMPILE_FEATURES(${G3LOG_LIBRARY} PUBLIC cxx_variable_templates)
7979

80-
81-
TARGET_INCLUDE_DIRECTORIES(${G3LOG_LIBRARY} PUBLIC ${LOG_SRC} "${CMAKE_CURRENT_BINARY_DIR}/include")
80+
TARGET_INCLUDE_DIRECTORIES(${G3LOG_LIBRARY}
81+
PUBLIC
82+
$<BUILD_INTERFACE:${LOG_SRC}>
83+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
84+
)
85+
8286
SET(ACTIVE_CPP0xx_DIR "Release")
8387

8488
# find corresponding thread lib (e.g. whether -lpthread is needed or not)

CMakeLists.txt

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,8 @@ message( STATUS "Software Version: ${VERSION}" )
166166

167167

168168

169-
170-
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
171169
# ==========================================================================
172-
# Only tested on Ubuntu, CentOS and OSX.
173-
# For OSX you can also install an older version using 'brew install'
174-
#
170+
# CMAKE INSTALL AND CPACK OPTIONS:
175171
# ==========================================================================
176172
#
177173
# Alternative 1:
@@ -182,18 +178,13 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin"
182178
# Alternative 2:
183179
# usage: make; sudo make install
184180
#
181+
# For OSX you can also install an older version using 'brew install'
182+
#
185183
# ==========================================================================
186184
INCLUDE (${g3log_SOURCE_DIR}/CPackLists.txt)
187-
ENDIF()
185+
188186

189187
IF(MINGW)
190-
# ==========================================================================
191-
#
192-
# usage: make; make install
193-
#
194-
# ==========================================================================
195-
INCLUDE (${g3log_SOURCE_DIR}/CPackLists.txt)
196-
197188
# this enables strerror_s
198189
ADD_DEFINITIONS(-DMINGW_HAS_SECURE_API)
199190
ENDIF()

CPackLists.txt

Lines changed: 40 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,18 @@
66
# For more information see g3log/LICENSE or refer refer to http://unlicense.org
77
# ============================================================================*/
88

9-
# INSTALL( TARGETS g3logger_shared
10-
# ARCHIVE
11-
# LIBRARY DESTINATION lib/g3log
12-
# COMPONENT libraries)
13-
14-
# INSTALL( FILES ${HEADER_FILES}
15-
# DESTINATION include
16-
# COMPONENT headers)
17-
18-
IF(NOT MINGW)
19-
IF(NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
20-
SET(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
21-
ELSEIF(NOT CPACK_PACKAGING_INSTALL_PREFIX)
22-
SET(CPACK_PACKAGING_INSTALL_PREFIX /usr/local)
9+
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
10+
IF(NOT CPACK_PACKAGING_INSTALL_PREFIX)
11+
IF(NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
12+
SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
13+
ELSE()
14+
SET(CPACK_PACKAGING_INSTALL_PREFIX /usr/local)
15+
ENDIF()
2316
ENDIF()
2417
ENDIF()
2518

26-
SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output dir for libraries")
27-
SET(CMAKE_INSTALL_HEADERDIR include CACHE PATH "Output dir for headers")
19+
INCLUDE(CMakePackageConfigHelpers)
20+
INCLUDE(GNUInstallDirs)
2821

2922
SET(CPACK_PACKAGE_NAME g3log)
3023
SET(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
@@ -37,33 +30,35 @@ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION})
3730
SET(CPACK_PACKAGE_CONTACT "Kjell Hedstrom hedstrom@kjellkoc.cc")
3831
SET(CPACK_RESOURCE_FILE_LICENSE ${g3log_SOURCE_DIR}/LICENSE)
3932
SET(CPACK_PACKAGE_VENDOR "KjellKod")
40-
SET(CMAKE_INSTALL_HEADERDIR ${CMAKE_INSTALL_HEADERDIR}/g3log)
4133

42-
IF(NOT MINGW)
43-
INSTALL( TARGETS g3logger
44-
ARCHIVE DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
45-
LIBRARY DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
46-
COMPONENT libraries)
47-
48-
INSTALL( FILES ${HEADER_FILES}
49-
DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_HEADERDIR}
50-
COMPONENT headers)
51-
52-
INSTALL( FILES ${PROJECT_SOURCE_DIR}/cmake/g3loggerConfig.cmake
53-
DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/g3logger)
54-
ELSE()
55-
INSTALL( TARGETS g3logger
56-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
57-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
58-
COMPONENT libraries)
59-
60-
INSTALL( FILES ${HEADER_FILES}
61-
DESTINATION ${CMAKE_INSTALL_HEADERDIR}
62-
COMPONENT headers)
63-
64-
INSTALL( FILES ${PROJECT_SOURCE_DIR}/cmake/g3loggerConfig.cmake
65-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger)
66-
ENDIF()
34+
INSTALL( TARGETS g3logger
35+
EXPORT g3logger-targets
36+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
37+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
38+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries
39+
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
40+
)
41+
42+
INSTALL( FILES ${HEADER_FILES}
43+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/g3log
44+
COMPONENT headers)
45+
46+
INSTALL(
47+
EXPORT g3logger-targets
48+
FILE g3loggerTargets.cmake
49+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger
50+
)
51+
52+
CONFIGURE_PACKAGE_CONFIG_FILE(
53+
${PROJECT_SOURCE_DIR}/cmake/g3loggerConfig.cmake
54+
${CMAKE_CURRENT_BINARY_DIR}/g3loggerConfig.cmake
55+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger
56+
)
57+
58+
install(
59+
FILES ${CMAKE_CURRENT_BINARY_DIR}/g3loggerConfig.cmake
60+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger
61+
)
6762

6863
SET(CPACK_COMPONENTS_ALL libraries headers)
6964
SET(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "G3Log libraries")
@@ -72,6 +67,8 @@ SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "G3Log C++ headers")
7267
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
7368
SET(CPACK_GENERATOR "DEB")
7469
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "KjellKod - Kjell Hedstrom")
70+
ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
71+
SET(CPACK_GENERATOR "ZIP") # Otherwise, NSIS is needed.
7572
ENDIF()
7673

7774
message( STATUS "\nTo create installation package: " )
@@ -80,7 +77,7 @@ message( STATUS "make package" )
8077
message( STATUS "\nOption to install using 'make install'" )
8178
message( STATUS "Installation locations: " )
8279
message( STATUS "====================" )
83-
message( STATUS "Headers: ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_HEADERDIR}" )
80+
message( STATUS "Headers: ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/g3log" )
8481
message( STATUS "Library installation directory: ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" )
8582

8683
message( STATUS "For more information please see g3log/CPackLists.txt\n\n" )
@@ -96,8 +93,6 @@ ENDIF()
9693
# CPACK_PACKAGING_INSTALL_PREFIX
9794
# CPACK_OUTPUT_FILE_PREFIX
9895
# CMAKE_INSTALL_PREFIX
99-
# CMAKE_INSTALL_HEADERDIR
100-
# CMAKE_INSTALL_LIBDIR
10196

10297

10398
INCLUDE(CPack)

Options.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ ELSE()
8383
ENDIF(G3_LOG_FULL_FILENAME)
8484

8585

86-
# -DENABLE_FATAL_SIGNALHANDLING=ON : defualt change the
86+
# -DENABLE_FATAL_SIGNALHANDLING=ON : default change the
8787
# By default fatal signal handling is enabled. You can disable it with this option
8888
# enumerated in src/stacktrace_windows.cpp
8989
option (ENABLE_FATAL_SIGNALHANDLING

0 commit comments

Comments
 (0)