Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
S
spdlog
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
spdlog
Commits
1ef80d63
Commit
1ef80d63
authored
May 19, 2019
by
gabime
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated CMakeLists.txt
parent
322665a2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
29 deletions
+36
-29
CMakeLists.txt
CMakeLists.txt
+36
-29
No files found.
CMakeLists.txt
View file @
1ef80d63
...
@@ -19,18 +19,9 @@ set(CMAKE_CXX_STANDARD 11)
...
@@ -19,18 +19,9 @@ set(CMAKE_CXX_STANDARD 11)
set
(
CMAKE_CXX_STANDARD_REQUIRED ON
)
set
(
CMAKE_CXX_STANDARD_REQUIRED ON
)
set
(
CMAKE_CXX_EXTENSIONS OFF
)
set
(
CMAKE_CXX_EXTENSIONS OFF
)
if
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"GNU"
OR
"
${
CMAKE_CXX_COMPILER_ID
}
"
MATCHES
"Clang"
)
add_compile_options
(
"-Wall"
)
add_compile_options
(
"-Wextra"
)
add_compile_options
(
"-Wconversion"
)
add_compile_options
(
"-pedantic"
)
add_compile_options
(
"-Wfatal-errors"
)
endif
()
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
#
spdlog target
#
Set SPDLOG_MASTER_PROJECT to ON if we are building spdlog
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
# Check if spdlog is being used directly or via add_subdirectory, but allow overriding
# Check if spdlog is being used directly or via add_subdirectory, but allow overriding
if
(
NOT DEFINED SPDLOG_MASTER_PROJECT
)
if
(
NOT DEFINED SPDLOG_MASTER_PROJECT
)
if
(
CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR
)
if
(
CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR
)
...
@@ -40,29 +31,46 @@ else()
...
@@ -40,29 +31,46 @@ else()
endif
()
endif
()
endif
()
endif
()
option
(
SPDLOG_BUILD_EXAMPLES
"Build examples"
${
SPDLOG_MASTER_PROJECT
}
)
option
(
BUILD_SHARED_LIBS
"Build as shared library"
OFF
)
option
(
SPDLOG_BUILD_BENCH
"Build benchmarks (Requires https://github.com/google/benchmark.git to be installed)"
OFF
)
option
(
SPDLOG_BUILD_TESTS
"Build tests"
OFF
)
option
(
SPDLOG_FMT_EXTERNAL
"Use external fmt library instead of bundled"
OFF
)
option
(
SPDLOG_FMT_EXTERNAL
"Use external fmt library instead of bundled"
OFF
)
option
(
SPDLOG_BUILD_EXAMPLES
"Build examples"
${
SPDLOG_MASTER_PROJECT
}
)
option
(
SPDLOG_BUILD_BENCH
"Build benchmarks (Requires https://github.com/google/benchmark.git to be installed)"
${
SPDLOG_MASTER_PROJECT
}
)
option
(
SPDLOG_BUILD_TESTS
"Build tests"
${
SPDLOG_MASTER_PROJECT
}
)
option
(
SPDLOG_INSTALL
"Generate the install target."
${
SPDLOG_MASTER_PROJECT
}
)
option
(
SPDLOG_INSTALL
"Generate the install target."
${
SPDLOG_MASTER_PROJECT
}
)
option
(
CMAKE_EXPORT_NO_PACKAGE_REGISTRY
"Disable registration of CMake's build directory."
ON
)
message
(
STATUS
"Build type: "
${
CMAKE_BUILD_TYPE
}
)
message
(
STATUS
"Build type: "
${
CMAKE_BUILD_TYPE
}
)
find_package
(
Threads REQUIRED
)
find_package
(
Threads REQUIRED
)
if
(
SPDLOG_MASTER_PROJECT
AND
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"GNU"
OR
"
${
CMAKE_CXX_COMPILER_ID
}
"
MATCHES
"Clang"
))
add_compile_options
(
"-Wall"
)
add_compile_options
(
"-Wextra"
)
add_compile_options
(
"-Wconversion"
)
add_compile_options
(
"-pedantic"
)
add_compile_options
(
"-Wfatal-errors"
)
endif
()
#---------------------------------------------------------------------------------------
# Static library version
# Static library version
#---------------------------------------------------------------------------------------
add_library
(
spdlog src/spdlog.cpp
)
add_library
(
spdlog src/spdlog.cpp
)
target_compile_definitions
(
spdlog PUBLIC SPDLOG_COMPILED_LIB
)
target_compile_definitions
(
spdlog PUBLIC SPDLOG_COMPILED_LIB
)
target_include_directories
(
spdlog PUBLIC
target_include_directories
(
spdlog PUBLIC
"$<BUILD_INTERFACE:
${
CMAKE_CURRENT_LIST_DIR
}
/include>"
"$<BUILD_INTERFACE:
${
CMAKE_CURRENT_LIST_DIR
}
/include>"
"$<INSTALL_INTERFACE:include>"
"$<INSTALL_INTERFACE:include>"
)
)
target_link_libraries
(
spdlog PUBLIC Threads::Threads
)
target_link_libraries
(
spdlog PUBLIC Threads::Threads
)
#---------------------------------------------------------------------------------------
# Header only version
# Header only version
#---------------------------------------------------------------------------------------
add_library
(
spdlog_header_only INTERFACE
)
add_library
(
spdlog_header_only INTERFACE
)
target_include_directories
(
spdlog_header_only INTERFACE
"
${
CMAKE_CURRENT_LIST_DIR
}
/include"
)
target_include_directories
(
spdlog_header_only INTERFACE
"$<BUILD_INTERFACE:
${
CMAKE_CURRENT_LIST_DIR
}
/include>"
"$<INSTALL_INTERFACE:include>"
)
target_link_libraries
(
spdlog_header_only INTERFACE Threads::Threads
)
target_link_libraries
(
spdlog_header_only INTERFACE Threads::Threads
)
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
...
@@ -107,24 +115,24 @@ endif()
...
@@ -107,24 +115,24 @@ endif()
# install
# install
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
if
(
SPDLOG_INSTALL
)
if
(
SPDLOG_INSTALL
)
set
(
project_config_in
"
${
CMAKE_CURRENT_LIST_DIR
}
/cmake/
${
PROJECT_NAME
}
Config.cmake.in"
)
set
(
project_config_in
"
${
CMAKE_CURRENT_LIST_DIR
}
/cmake/
spdlog
Config.cmake.in"
)
set
(
project_config_out
"
${
CMAKE_CURRENT_BINARY_DIR
}
/
${
PROJECT_NAME
}
Config.cmake"
)
set
(
project_config_out
"
${
CMAKE_CURRENT_BINARY_DIR
}
/
spdlog
Config.cmake"
)
set
(
config_targets_file
"
${
PROJECT_NAME
}
ConfigTargets.cmake"
)
set
(
config_targets_file
"
spdlog
ConfigTargets.cmake"
)
set
(
version_config_file
"
${
CMAKE_CURRENT_BINARY_DIR
}
/
${
PROJECT_NAME
}
ConfigVersion.cmake"
)
set
(
version_config_file
"
${
CMAKE_CURRENT_BINARY_DIR
}
/
spdlog
ConfigVersion.cmake"
)
set
(
dest_dir lib/
${
PROJECT_NAME
}
/cmake
)
set
(
export_dest_dir lib/spdlog
/cmake
)
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
# lib in include files
# lib in include files
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
install
(
DIRECTORY include/ DESTINATION include
)
install
(
DIRECTORY include/ DESTINATION include
)
install
(
TARGETS spdlog
EXPORT
${
PROJECT_NAME
}
DESTINATION lib
)
install
(
TARGETS spdlog
spdlog_header_only EXPORT spdlog
DESTINATION lib
)
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
# package and version files
# package and version files
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
install
(
EXPORT
${
PROJECT_NAME
}
install
(
EXPORT
spdlog
DESTINATION
${
dest_dir
}
DESTINATION
${
export_
dest_dir
}
NAMESPACE
${
PROJECT_NAME
}
::
NAMESPACE
spdlog
::
FILE
${
config_targets_file
}
)
FILE
${
config_targets_file
}
)
include
(
CMakePackageConfigHelpers
)
include
(
CMakePackageConfigHelpers
)
...
@@ -132,7 +140,7 @@ if (SPDLOG_INSTALL)
...
@@ -132,7 +140,7 @@ if (SPDLOG_INSTALL)
write_basic_package_version_file
(
"
${
version_config_file
}
"
COMPATIBILITY SameMajorVersion
)
write_basic_package_version_file
(
"
${
version_config_file
}
"
COMPATIBILITY SameMajorVersion
)
install
(
FILES
install
(
FILES
"
${
project_config_out
}
"
"
${
project_config_out
}
"
"
${
version_config_file
}
"
DESTINATION
"
${
dest_dir
}
"
)
"
${
version_config_file
}
"
DESTINATION
"
${
export_
dest_dir
}
"
)
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
# Support creation of installable packages
# Support creation of installable packages
...
@@ -143,7 +151,6 @@ if (SPDLOG_INSTALL)
...
@@ -143,7 +151,6 @@ if (SPDLOG_INSTALL)
# register project in CMake user registry - disabled by default since the
# register project in CMake user registry - disabled by default since the
# installed/packaged version of the project is preferred.
# installed/packaged version of the project is preferred.
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
option
(
CMAKE_EXPORT_NO_PACKAGE_REGISTRY
"Disable registration of CMake's build directory."
ON
)
export
(
PACKAGE spdlog
)
export
(
PACKAGE
${
PROJECT_NAME
}
)
endif
()
endif
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment