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
cb299375
Unverified
Commit
cb299375
authored
Aug 12, 2018
by
Gabi Melman
Committed by
GitHub
Aug 12, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #789 from DanielChabrowski/ci-v1
Modify travis-ci, fix compilation issues
parents
f8f2d7b9
4534d523
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
98 additions
and
79 deletions
+98
-79
.travis.yml
.travis.yml
+68
-56
CMakeLists.txt
CMakeLists.txt
+4
-0
sanitizers.cmake
cmake/sanitizers.cmake
+21
-0
CMakeLists.txt
example/CMakeLists.txt
+3
-9
multisink.cpp
example/multisink.cpp
+1
-1
CMakeLists.txt
tests/CMakeLists.txt
+1
-1
install_libcxx.sh
tests/install_libcxx.sh
+0
-12
No files found.
.travis.yml
View file @
cb299375
...
@@ -2,24 +2,10 @@
...
@@ -2,24 +2,10 @@
# - Louis Dionne's Hana: https://github.com/ldionne/hana
# - Louis Dionne's Hana: https://github.com/ldionne/hana
# - Paul Fultz II's FIT: https://github.com/pfultz2/Fit
# - Paul Fultz II's FIT: https://github.com/pfultz2/Fit
# - Eric Niebler's range-v3: https://github.com/ericniebler/range-v3
# - Eric Niebler's range-v3: https://github.com/ericniebler/range-v3
sudo
:
required
language
:
cpp
language
:
cpp
# Test matrix:
addons
:
&gcc48
# - Build matrix per compiler: C++11/C++14 + Debug/Release
# - Optionally: AddressSanitizer (ASAN)
# - Valgrind: all release builds are also tested with valgrind
# - clang 3.4, 3.5, 3.6, trunk
# - Note: 3.4 and trunk are tested with/without ASAN,
# the rest is only tested with ASAN=On.
# - gcc 4.9, 5.0
#
matrix
:
include
:
# Test gcc-4.8: C++11, Build=Debug/Release, ASAN=Off
-
env
:
GCC_VERSION=4.8 BUILD_TYPE=Debug CPP=11 ASAN=Off LIBCXX=Off
os
:
linux
addons
:
&gcc48
apt
:
apt
:
packages
:
packages
:
-
g++-4.8
-
g++-4.8
...
@@ -27,65 +13,91 @@ matrix:
...
@@ -27,65 +13,91 @@ matrix:
sources
:
sources
:
-
ubuntu-toolchain-r-test
-
ubuntu-toolchain-r-test
-
env
:
GCC_VERSION=4.8 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=Off
addons
:
&gcc7
os
:
linux
apt
:
addons
:
*gcc48
packages
:
-
g++-7
-
valgrind
sources
:
-
ubuntu-toolchain-r-test
# Test gcc-4.9: C++11, Build=Debug/Release, ASAN=Off
addons
:
&clang35
-
env
:
GCC_VERSION=4.9 BUILD_TYPE=Debug CPP=11 ASAN=Off LIBCXX=Off
os
:
linux
addons
:
&gcc49
apt
:
apt
:
packages
:
packages
:
-
g++-4.9
-
clang-3.5
-
valgrind
-
valgrind
sources
:
sources
:
-
ubuntu-toolchain-r-test
-
ubuntu-toolchain-r-test
-
llvm-toolchain-precise-3.5
addons
:
&clang6
apt
:
packages
:
-
clang-6.0
-
valgrind
sources
:
-
ubuntu-toolchain-r-test
-
llvm-toolchain-trusty-6.0
matrix
:
include
:
# Test gcc-4.8: C++11, Build=Debug/Release
-
env
:
GCC_VERSION=4.8 BUILD_TYPE=Debug CPP=11
os
:
linux
addons
:
*gcc48
-
env
:
GCC_VERSION=4.8 BUILD_TYPE=Release CPP=11
os
:
linux
addons
:
*gcc48
-
env
:
GCC_VERSION=4.9 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=Off
# Test gcc-7: C++11, Build=Debug/Release
-
env
:
GCC_VERSION=7 BUILD_TYPE=Debug CPP=11
os
:
linux
os
:
linux
addons
:
*gcc49
addons
:
*gcc7
-
env
:
GCC_VERSION=7 BUILD_TYPE=Release CPP=11
os
:
linux
addons
:
*gcc7
# Test clang-3.5: C++11, Build=Debug/Release
-
env
:
CLANG_VERSION=3.5 BUILD_TYPE=Debug CPP=11
os
:
linux
addons
:
*clang35
-
env
:
CLANG_VERSION=3.5 BUILD_TYPE=Release CPP=11
os
:
linux
addons
:
*clang35
# Test clang-6.0: C++11, Build=Debug, ASAN=On
-
env
:
CLANG_VERSION=6.0 BUILD_TYPE=Debug CPP=11 ASAN=On
os
:
linux
addons
:
*clang6
# Install dependencies
before_install
:
before_install
:
-
export CHECKOUT_PATH=`pwd`;
-
if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
-
if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
-
if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
-
if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
-
if [ "$CLANG_VERSION" == "3.4" ]; then export CXX="/usr/local/clang-3.4/bin/clang++" CC="/usr/local/clang-3.4/bin/clang"; fi
-
which $CXX
-
which $CXX
-
which $CC
-
which $CC
-
which valgrind
-
which valgrind
-
if [ -n "$CLANG_VERSION" ]; then sudo CXX=$CXX CC=$CC ./tests/install_libcxx.sh; fi
-
$CXX --version
-
cmake --version
-
valgrind --version
install
:
install
:
-
cd $CHECKOUT_PATH
-
cd ${TRAVIS_BUILD_DIR}
-
mkdir -p build && cd build
# Workaround for valgrind bug: https://bugs.kde.org/show_bug.cgi?id=326469.
-
|
# It is fixed in valgrind 3.10 so this won't be necessary if someone
cmake .. \
# replaces the current valgrind (3.7) with valgrind-3.10
--warn-uninitialized \
-
sed -i 's/march=native/msse4.2/' example/Makefile
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DCMAKE_CXX_STANDARD=$CPP \
-
if [ ! -d build ]; then mkdir build; fi
-DSPDLOG_BUILD_EXAMPLES=ON \
-
export CXX_FLAGS="-I${CHECKOUT_PATH}/include"
-DSPDLOG_SANITIZE_ADDRESS=$ASAN
-
export CXX_LINKER_FLAGS=""
-
VERBOSE=1 make -j2
-
if [ -z "$BUILD_TYPE" ]; then export BUILD_TYPE=Release; fi
-
if [ "$ASAN" == "On"]; then export CXX_FLAGS="${CXX_FLAGS} -fsanitize=address,undefined,integer -fno-omit-frame-pointer -fno-sanitize=unsigned-integer-overflow"; fi
-
if [ -n "$CLANG_VERSION" ]; then CXX_FLAGS="${CXX_FLAGS} -D__extern_always_inline=inline"; fi
-
if [ "$LIBCXX" == "On" ]; then CXX_FLAGS="${CXX_FLAGS} -stdlib=libc++ -I/usr/include/c++/v1/"; fi
-
if [ "$LIBCXX" == "On" ]; then CXX_LINKER_FLAGS="${CXX_FLAGS} -L/usr/lib/ -lc++"; fi
-
CXX_FLAGS="${CXX_FLAGS} -std=c++${CPP}"
# Build examples
-
cd example
-
if [ "$BUILD_TYPE" == "Release" ]; then make rebuild CXXFLAGS="${CXX_FLAGS} ${CXX_LINKER_FLAGS}" VERBOSE=1; export BIN=example; fi
-
if [ "$BUILD_TYPE" == "Debug" ]; then make rebuild debug CXXFLAGS="${CXX_FLAGS} ${CXX_LINKER_FLAGS}" VERBOSE=1; export BIN=example-debug; fi
script
:
script
:
-
./"${BIN}"
-
if [ "$ASAN" != "On" ]; then CTEST_FLAGS="-DExperimentalMemCheck"; fi
-
valgrind --trace-children=yes --leak-check=full ./"${BIN}"
-
ctest -j2 -VV $CTEST_FLAGS
-
cd $CHECKOUT_PATH/tests; make rebuild; ./tests
-
cd $CHECKOUT_PATH/tests; STYLE=printf make rebuild; ./tests
notifications
:
notifications
:
email
:
false
email
:
false
CMakeLists.txt
View file @
cb299375
...
@@ -14,15 +14,19 @@ include(GNUInstallDirs)
...
@@ -14,15 +14,19 @@ include(GNUInstallDirs)
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
set
(
CMAKE_CXX_STANDARD 11
)
set
(
CMAKE_CXX_STANDARD 11
)
set
(
CMAKE_CXX_STANDARD_REQUIRED ON
)
set
(
CMAKE_CXX_STANDARD_REQUIRED ON
)
set
(
CMAKE_CXX_EXTENSIONS OFF
)
if
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"GNU"
OR
"
${
CMAKE_CXX_COMPILER_ID
}
"
MATCHES
"Clang"
)
if
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"GNU"
OR
"
${
CMAKE_CXX_COMPILER_ID
}
"
MATCHES
"Clang"
)
set
(
CMAKE_CXX_FLAGS
"-Wall -O3
${
CMAKE_CXX_FLAGS
}
"
)
set
(
CMAKE_CXX_FLAGS
"-Wall -O3
${
CMAKE_CXX_FLAGS
}
"
)
endif
()
endif
()
include
(
cmake/sanitizers.cmake
)
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
# spdlog target
# spdlog target
#---------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
add_library
(
spdlog INTERFACE
)
add_library
(
spdlog INTERFACE
)
add_library
(
spdlog::spdlog ALIAS spdlog
)
option
(
SPDLOG_BUILD_EXAMPLES
"Build examples"
OFF
)
option
(
SPDLOG_BUILD_EXAMPLES
"Build examples"
OFF
)
cmake_dependent_option
(
SPDLOG_BUILD_TESTING
cmake_dependent_option
(
SPDLOG_BUILD_TESTING
...
...
cmake/sanitizers.cmake
0 → 100644
View file @
cb299375
if
(
SPDLOG_SANITIZE_THREAD AND SPDLOG_SANITIZE_ADDRESS
)
message
(
FATAL_ERROR
"AddressSanitizer is not compatible with ThreadSanitizer."
)
endif
()
if
(
SPDLOG_SANITIZE_ADDRESS
)
message
(
STATUS
"AddressSanitizer enabled"
)
set
(
SANITIZER_FLAGS
"-fsanitize=address,undefined"
)
add_compile_options
(
"-fno-sanitize=signed-integer-overflow"
)
endif
()
if
(
SPDLOG_SANITIZE_THREAD
)
message
(
STATUS
"ThreadSanitizer enabled"
)
set
(
SANITIZER_FLAGS
"-fsanitize=thread"
)
endif
()
if
(
SPDLOG_SANITIZE_THREAD OR SPDLOG_SANITIZE_ADDRESS
)
add_compile_options
(
${
SANITIZER_FLAGS
}
)
add_compile_options
(
"-fno-sanitize-recover=all"
)
add_compile_options
(
"-fno-omit-frame-pointer"
)
set
(
CMAKE_EXE_LINKER_FLAGS
"
${
CMAKE_EXE_LINKER_FLAGS
}
${
SANITIZER_FLAGS
}
-fuse-ld=gold"
)
endif
()
example/CMakeLists.txt
View file @
cb299375
...
@@ -24,10 +24,7 @@
...
@@ -24,10 +24,7 @@
cmake_minimum_required
(
VERSION 3.1
)
cmake_minimum_required
(
VERSION 3.1
)
project
(
SpdlogExamples CXX
)
project
(
SpdlogExamples CXX
)
if
(
TARGET spdlog
)
if
(
NOT TARGET spdlog
)
# Part of the main project
add_library
(
spdlog::spdlog ALIAS spdlog
)
else
()
# Stand-alone build
# Stand-alone build
find_package
(
spdlog CONFIG REQUIRED
)
find_package
(
spdlog CONFIG REQUIRED
)
endif
()
endif
()
...
@@ -37,13 +34,10 @@ find_package(Threads REQUIRED)
...
@@ -37,13 +34,10 @@ find_package(Threads REQUIRED)
add_executable
(
example example.cpp
)
add_executable
(
example example.cpp
)
target_link_libraries
(
example spdlog::spdlog Threads::Threads
)
target_link_libraries
(
example spdlog::spdlog Threads::Threads
)
add_executable
(
benchmark bench.cpp
)
target_link_libraries
(
benchmark spdlog::spdlog Threads::Threads
)
add_executable
(
multisink multisink.cpp
)
add_executable
(
multisink multisink.cpp
)
target_link_libraries
(
multisink spdlog::spdlog Threads::Threads
)
target_link_libraries
(
multisink spdlog::spdlog Threads::Threads
)
enable_testing
()
enable_testing
()
file
(
MAKE_DIRECTORY
"
${
CMAKE_CURRENT_BINARY_DIR
}
/logs"
)
file
(
MAKE_DIRECTORY
"
${
CMAKE_CURRENT_BINARY_DIR
}
/logs"
)
add_test
(
NAME
RunE
xample COMMAND example
)
add_test
(
NAME
e
xample COMMAND example
)
add_test
(
NAME
RunBenchmark COMMAND benchmar
k
)
add_test
(
NAME
multisink COMMAND multisin
k
)
example/multisink.cpp
View file @
cb299375
#include "spdlog/sinks/
file_sinks
.h"
#include "spdlog/sinks/
basic_file_sink
.h"
#include "spdlog/sinks/stdout_sinks.h"
#include "spdlog/sinks/stdout_sinks.h"
#include "spdlog/spdlog.h"
#include "spdlog/spdlog.h"
#include <iostream>
#include <iostream>
...
...
tests/CMakeLists.txt
View file @
cb299375
...
@@ -18,7 +18,7 @@ set(SPDLOG_UTESTS_SOURCES
...
@@ -18,7 +18,7 @@ set(SPDLOG_UTESTS_SOURCES
add_executable
(
${
PROJECT_NAME
}
${
SPDLOG_UTESTS_SOURCES
}
)
add_executable
(
${
PROJECT_NAME
}
${
SPDLOG_UTESTS_SOURCES
}
)
target_link_libraries
(
${
PROJECT_NAME
}
PRIVATE Threads::Threads
)
target_link_libraries
(
${
PROJECT_NAME
}
PRIVATE Threads::Threads
)
target_link_libraries
(
${
PROJECT_NAME
}
PRIVATE spdlog
)
target_link_libraries
(
${
PROJECT_NAME
}
PRIVATE spdlog
::spdlog
)
add_test
(
NAME
${
PROJECT_NAME
}
COMMAND
${
PROJECT_NAME
}
)
add_test
(
NAME
${
PROJECT_NAME
}
COMMAND
${
PROJECT_NAME
}
)
file
(
MAKE_DIRECTORY
"
${
CMAKE_CURRENT_BINARY_DIR
}
/logs"
)
file
(
MAKE_DIRECTORY
"
${
CMAKE_CURRENT_BINARY_DIR
}
/logs"
)
tests/install_libcxx.sh
deleted
100755 → 0
View file @
f8f2d7b9
#!/bin/bash
#
# Install libc++ under travis
svn
--quiet
co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
mkdir
libcxx/build
(
cd
libcxx/build
&&
cmake ..
-DLIBCXX_CXX_ABI
=
libstdc++
-DLIBCXX_CXX_ABI_INCLUDE_PATHS
=
"/usr/include/c++/4.6;/usr/include/c++/4.6/x86_64-linux-gnu"
)
make
-C
libcxx/build cxx
-j2
sudo cp
libcxx/build/lib/libc++.so.1.0 /usr/lib/
sudo cp
-r
libcxx/build/include/c++/v1 /usr/include/c++/v1/
sudo ln
-sf
/usr/lib/libc++.so.1.0 /usr/lib/libc++.so
sudo ln
-sf
/usr/lib/libc++.so.1.0 /usr/lib/libc++.so.1
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