Skip to content

Commit

Permalink
Hopefully have raised QuickCppLib on CDash and docs now are auto-comm…
Browse files Browse the repository at this point in the history
…itted to gh-pages
  • Loading branch information
ned14 committed Jun 11, 2017
1 parent 4483838 commit 881156d
Show file tree
Hide file tree
Showing 8 changed files with 156 additions and 20 deletions.
26 changes: 26 additions & 0 deletions .ci.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# CTest script for a CI to submit to CDash a run of configuration,
# building and testing
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
list(FIND CMAKE_MODULE_PATH "quickcpplib" quickcpplib_idx)
if(${quickcpplib_idx} EQUAL -1)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
endif()
include(BoostLiteUtils)


CONFIGURE_CTEST_SCRIPT_FOR_CDASH("outcome" "cmake_ci")
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
include(FindGit)
set(CTEST_GIT_COMMAND "${GIT_EXECUTABLE}")

ctest_start("Experimental")
ctest_update()
ctest_configure()
ctest_build()
ctest_test(RETURN_VALUE retval)
merge_junit_results_into_ctest_xml()
#ctest_upload(FILES )
ctest_submit()
if(NOT retval EQUAL 0)
message(FATAL_ERROR "FATAL: Running tests exited with ${retval}")
endif()
33 changes: 33 additions & 0 deletions .docs.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# CTest script for a CI to submit to CDash a documentation generation run
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
list(FIND CMAKE_MODULE_PATH "quickcpplib" quickcpplib_idx)
if(${quickcpplib_idx} EQUAL -1)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
endif()
include(BoostLiteUtils)


CONFIGURE_CTEST_SCRIPT_FOR_CDASH("quickcpplib" "cmake_ci")
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
include(FindGit)
set(CTEST_GIT_COMMAND "${GIT_EXECUTABLE}")
#checked_execute_process("git reset"
# COMMAND "${GIT_EXECUTABLE}" checkout gh-pages
# COMMAND "${GIT_EXECUTABLE}" reset --hard ae7119571a3c81cb9a683a21f2759df1d742e998
# WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/doc/html"
#)

ctest_start("Documentation")
ctest_update()
checked_execute_process("git reset"
COMMAND "${GIT_EXECUTABLE}" checkout gh-pages
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/doc/html"
)
ctest_configure()
ctest_build(TARGET quickcpplib_docs)
#checked_execute_process("git commit"
# COMMAND "${GIT_EXECUTABLE}" commit -a -m "upd"
# COMMAND "${GIT_EXECUTABLE}" push -f origin gh-pages
# WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/doc/html"
#)
ctest_submit()
54 changes: 42 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ language: cpp
sudo: false
os:
- linux
- osx
branches:
only:
- master
Expand All @@ -14,24 +15,53 @@ addons:
apt:
sources:
- ubuntu-toolchain-r-test
# - llvm-toolchain-precise-3.8 ## not currently working due to bad source signing key
packages:
- g++-6
- g++-5
- cmake
- cmake-data
- doxygen

env:
- __="Documentation" NAME=TravisDocumentation
- __="cmake tests" NAME=TravisLinuxWorker
- __="cmake tests osx" NAME=TravisOSXWorker

matrix:
exclude:
- os: linux
env: __="cmake tests osx" NAME=TravisOSXWorker
- os: osx
env: __="Documentation" NAME=TravisDocumentation
- os: osx
env: __="cmake tests" NAME=TravisLinuxWorker

before_install:
- git submodule update --init --recursive

script:
- RESULT=0
- cd test
# - ./withgcc.sh
- g++-6 -std=c++14 -Wall -Wextra -o atuple -O3 atuple.cpp || RESULT=1
- ./atuple || RESULT=1
- g++-6 -std=c++14 -Wall -Wextra -o ringbuffer_log -O3 ringbuffer_log.cpp || RESULT=1
- ./ringbuffer_log || RESULT=1
- g++-6 -std=c++14 -fopenmp -Wall -Wextra -o spinlock_tribool -O3 spinlock_tribool.cpp || RESULT=1
- ./spinlock_tribool || RESULT=1
- exit $RESULT
-
if [ "$__" = "cmake tests" ]; then
ctest -S .ci.cmake -V;
fi
-
if [ "$__" = "cmake tests osx" ]; then
ctest -S .ci.cmake -V -E noexcept;
fi
-
if [ "$__" = "Documentation" ]; then
git config --global push.default simple;
git config --global user.name "Jenkins nedprod CI";
git config --global user.email "foo@nowhere";
cd doc/html;
git checkout gh-pages;
cd ../..;
ctest -S .docs.cmake -V;
cd doc/html;
git add . || true;
git commit -a -m "Travis CI updates documentation" || true;
git push -f https://jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD@github.com/ned14/quickcpplib gh-pages;
cd ../..;
fi

after_success:
# - bash -x ./update_coveralls.sh `pwd`
Expand Down
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ endif()
list_filter(quickcpplib_HEADERS EXCLUDE REGEX "include/CATCH")
# Make an interface only library so dependent CMakeLists can bring in this header-only library
include(QuickCppLibMakeHeaderOnlyLibrary)
# Make a docs target
include(QuickCppLibMakeDoxygen)

# Set the standard definitions for these libraries and bring in the all_* helper functions
include(QuickCppLibApplyDefaultDefinitions)
Expand Down
15 changes: 15 additions & 0 deletions CTestConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
##
## # The following are required to submit to the CDash dashboard:
## ENABLE_TESTING()
## INCLUDE(CTest)

set(CTEST_PROJECT_NAME "QuickCppLib")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=QuickCppLib")
set(CTEST_DROP_SITE_CDASH TRUE)
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -2068,7 +2068,7 @@ TAGFILES =
# tag file that is based on the input files it reads. See section "Linking to
# external documentation" for more information about the usage of tag files.

GENERATE_TAGFILE = outcome.doxygen
GENERATE_TAGFILE = quickcpplib.doxygen

# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
# the class index. If set to NO, only the inherited external classes will be
Expand Down
38 changes: 34 additions & 4 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,47 @@
# QuickCppLib - Eliminate all the tedious hassle when making state-of-the-art C++ 14 or 17 libraries!
<center>
# Quick C++ Libraries

Eliminate all the tedious hassle when making state-of-the-art C++ 14 or 17 libraries!

(C) 2014-2017 Niall Douglas http://www.nedproductions.biz/

Linux: [![Build Status](https://travis-ci.org/ned14/quickcpplib.svg?branch=master)](https://travis-ci.org/ned14/quickcpplib) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/8974h34i4i4233vy/branch/master?svg=true)](https://ci.appveyor.com/project/ned14/quickcpplib/branch/master)
Linux & MacOS: [![Build Status](https://travis-ci.org/ned14/quickcpplib.svg?branch=master)](https://travis-ci.org/ned14/quickcpplib) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/8974h34i4i4233vy/branch/master?svg=true)](https://ci.appveyor.com/project/ned14/quickcpplib/branch/master)

CTest dashboard: http://my.cdash.org/index.php?project=QuickCppLib

Reference docs: https://ned14.github.io/quickcpplib/
Documentation: https://ned14.github.io/quickcpplib/

Would you like state-of-the-art modern cmake 3 build with all the fancy features ready to go like address, memory, thread and undefined behaviour sanitisers, clang-tidy linting, doxygen docs generation, git submodule dependency tracking and ABI version stamping, C++ Modules support and more?

Would you like to generate partially preprocessed single header file editions of your library for maximum convenience and ease of install for your end users?

Would you like a collection of highly reusable useful routines and code built on top of the C++ 14 STL?

Then this is the library you've been looking for! Designed for use as an embedded git submodule, but can also be used as a partially preprocessed single file download with ONLY the specific bits your library uses.
Then this is the library you've been looking for! Designed for use as an **embedded git submodule**, but can also be used to generate by script libraries which don't look like they are QuickCppLib based e.g. apparently authentic Boost libraries.

**WARNING: This library is in a highly alpha code state. As much as it has been written to a very high quality and has been tested quite extensively in use by other libraries, it remains in substantial flux and is as such a shifting foundation. You have been warned!**

## Todo:

- [ ] Get docs auto updating per commit
- [ ] Raise CDash dashboard
- [ ] Write `class packed_backtrace`. Add testing.
- [ ] Write script which can generate a Boost library from a quickcpplib library, copying just
the parts needed.

## Commits and tags in this git repository can be verified using:
<pre>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

mDMEVvMacRYJKwYBBAHaRw8BAQdAp+Qn6djfxWQYtAEvDmv4feVmGALEQH/pYpBC
llaXNQe0WE5pYWxsIERvdWdsYXMgKHMgW3VuZGVyc2NvcmVdIHNvdXJjZWZvcmdl
IHthdH0gbmVkcHJvZCBbZG90XSBjb20pIDxzcGFtdHJhcEBuZWRwcm9kLmNvbT6I
eQQTFggAIQUCVvMacQIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRCELDV4
Zvkgx4vwAP9gxeQUsp7ARMFGxfbR0xPf6fRbH+miMUg2e7rYNuHtLQD9EUoR32We
V8SjvX4r/deKniWctvCi5JccgfUwXkVzFAk=
=puFk
-----END PGP PUBLIC KEY BLOCK-----
</pre>

</center>
6 changes: 3 additions & 3 deletions include/revision.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time
#define QUICKCPPLIB_PREVIOUS_COMMIT_REF bf5dc208b727a0377ee35aa98d90ede56c47735c
#define QUICKCPPLIB_PREVIOUS_COMMIT_DATE "2017-06-10 22:44:52 +00:00"
#define QUICKCPPLIB_PREVIOUS_COMMIT_UNIQUE bf5dc208
#define QUICKCPPLIB_PREVIOUS_COMMIT_REF 4483838e4667985c5b5ea241f8125879586147f3
#define QUICKCPPLIB_PREVIOUS_COMMIT_DATE "2017-06-10 23:11:47 +00:00"
#define QUICKCPPLIB_PREVIOUS_COMMIT_UNIQUE 4483838e

0 comments on commit 881156d

Please sign in to comment.