diff options
-rw-r--r-- | .ci.cmake | 5 | ||||
-rw-r--r-- | .clang-tidy | 30 | ||||
-rw-r--r-- | .docs.cmake | 8 | ||||
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rw-r--r-- | Doxyfile | 47 | ||||
-rw-r--r-- | appveyor.yml | 8 | ||||
-rw-r--r-- | include/boost/afio/afio.hpp | 2 | ||||
m--------- | include/boost/afio/boost-lite | 0 | ||||
m--------- | include/boost/afio/outcome | 0 | ||||
-rw-r--r-- | include/boost/afio/revision.hpp | 6 | ||||
-rw-r--r-- | include/boost/afio/v2.0/config.hpp | 14 | ||||
-rw-r--r-- | include/boost/afio/version.hpp | 2 | ||||
m--------- | test/kerneltest | 0 |
14 files changed, 80 insertions, 50 deletions
@@ -17,10 +17,13 @@ endif() include(BoostLiteUtils) -CONFIGURE_CTEST_SCRIPT_FOR_CDASH("afio" "build") +CONFIGURE_CTEST_SCRIPT_FOR_CDASH("afio" "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(TARGET _dl) ctest_build(TARGET _sl) diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 00000000..6fdc53fc --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,30 @@ +--- +Checks: '*,-llvm-header-guard,-google-build-using-namespace,-clang-analyzer-alpha.clone.CloneChecker,-google-runtime-int,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-clang-analyzer-alpha.deadcode.UnreachableCode,-misc-use-after-move,-cppcoreguidelines-pro-type-vararg,-modernize-use-emplace,-cert-err60-cpp' +WarningsAsErrors: '' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: true +CheckOptions: + - key: cert-oop11-cpp.UseCERTSemantics + value: '1' + - key: google-readability-braces-around-statements.ShortStatementLines + value: '1' + - key: google-readability-function-size.StatementThreshold + value: '800' + - key: google-readability-namespace-comments.ShortNamespaceLines + value: '10' + - key: google-readability-namespace-comments.SpacesBeforeComments + value: '2' + - key: modernize-loop-convert.MaxCopySize + value: '16' + - key: modernize-loop-convert.MinConfidence + value: reasonable + - key: modernize-loop-convert.NamingStyle + value: CamelCase + - key: modernize-pass-by-value.IncludeStyle + value: llvm + - key: modernize-replace-auto-ptr.IncludeStyle + value: llvm + - key: modernize-use-nullptr.NullMacros + value: 'NULL' +... + diff --git a/.docs.cmake b/.docs.cmake index a553a57a..792a09c2 100644 --- a/.docs.cmake +++ b/.docs.cmake @@ -16,9 +16,10 @@ endif() include(BoostLiteUtils) -CONFIGURE_CTEST_SCRIPT_FOR_CDASH("afio" "build") +CONFIGURE_CTEST_SCRIPT_FOR_CDASH("afio" "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 cc293d14a48bf1ee3fb78743c3ad5cf61d63f3ff @@ -26,6 +27,11 @@ include(FindGit) #) 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 afio_docs) #checked_execute_process("git commit" diff --git a/.travis.yml b/.travis.yml index b61474b4..58d646cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,7 +57,6 @@ script: TARNAME=boost.afio-v2.0-source-`date +%Y%m%d%H%M`.tar.xz; tar cfJ ../$TARNAME . --exclude llvm* --exclude .git; CXX=g++-6 ctest -S .ci.cmake -V; - curl -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD --data-binary @../$TARNAME https://dedi4.nedprod.com/static/files/upload/$TARNAME; fi - if [ "$__" = "Documentation" ]; then diff --git a/CMakeLists.txt b/CMakeLists.txt index 0efc3e7c..13385665 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,10 +22,12 @@ ParseProjectVersionFromHpp("${CMAKE_CURRENT_SOURCE_DIR}/include/boost/afio/versi project(afio VERSION ${VERSIONSTRING} LANGUAGES C CXX) # Also set a *cmake* namespace for this project set(PROJECT_NAMESPACE boost--) -# This file should be updated with the last git SHA next commit -UpdateRevisionHppFromGit("${CMAKE_CURRENT_SOURCE_DIR}/include/boost/afio/revision.hpp") # Setup this cmake environment for this project include(BoostLiteSetupProject) +if(NOT PROJECT_IS_DEPENDENCY) + # This file should be updated with the last git SHA next commit + UpdateRevisionHppFromGit("${CMAKE_CURRENT_SOURCE_DIR}/include/boost/afio/revision.hpp") +endif() # Find my library dependencies find_boostish_library(boost-lite "include/boost/afio" 1.0 REQUIRED) find_boostish_library(outcome "include/boost/afio" 1.0 REQUIRED) @@ -50,7 +52,6 @@ all_compile_features(PUBLIC cxx_variadic_templates cxx_noexcept cxx_constexpr - cxx_thread_local cxx_lambda_init_captures cxx_attributes cxx_generic_lambdas @@ -76,7 +76,7 @@ CREATE_SUBDIRS = NO # U+3044. # The default value is: NO. -ALLOW_UNICODE_NAMES = NO +#ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this @@ -302,7 +302,7 @@ MARKDOWN_SUPPORT = YES # globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. -AUTOLINK_SUPPORT = YES +AUTOLINK_SUPPORT = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this @@ -351,7 +351,7 @@ DISTRIBUTE_GROUP_DOC = NO # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. -GROUP_NESTED_COMPOUNDS = NO +#GROUP_NESTED_COMPOUNDS = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that @@ -522,7 +522,7 @@ HIDE_SCOPE_NAMES = NO # YES the compound reference will be hidden. # The default value is: NO. -HIDE_COMPOUND_REFERENCE= NO +#HIDE_COMPOUND_REFERENCE= NO # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. @@ -541,7 +541,7 @@ SHOW_GROUPED_MEMB_INC = NO # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. -FORCE_LOCAL_INCLUDES = NO +FORCE_LOCAL_INCLUDES = YES # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. @@ -939,7 +939,7 @@ INLINE_SOURCES = YES # Fortran comments will always remain visible. # The default value is: YES. -STRIP_CODE_COMMENTS = YES +STRIP_CODE_COMMENTS = NO # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # function all documented functions referencing it will be listed. @@ -999,7 +999,7 @@ USE_HTAGS = NO # See also: Section \class. # The default value is: YES. -VERBATIM_HEADERS = YES +VERBATIM_HEADERS = NO # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the @@ -1010,7 +1010,7 @@ VERBATIM_HEADERS = YES # compiled with the --with-libclang option. # The default value is: NO. -CLANG_ASSISTED_PARSING = NO +#CLANG_ASSISTED_PARSING = YES # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that @@ -1018,7 +1018,7 @@ CLANG_ASSISTED_PARSING = NO # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. -CLANG_OPTIONS = +#CLANG_OPTIONS = -std=c++14 -I. #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index @@ -1223,7 +1223,7 @@ DOCSET_FEEDNAME = "Doxygen generated docs" # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. -DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_BUNDLE_ID = org.doxygen.boostafio # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style @@ -1231,13 +1231,13 @@ DOCSET_BUNDLE_ID = org.doxygen.Project # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. -DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_ID = org.doxygen.boostafio # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. -DOCSET_PUBLISHER_NAME = Publisher +DOCSET_PUBLISHER_NAME = ned Productions # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The @@ -1322,7 +1322,7 @@ QCH_FILE = # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_NAMESPACE = org.doxygen.Project +QHP_NAMESPACE = org.doxygen.boostafio # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual @@ -1381,7 +1381,7 @@ GENERATE_ECLIPSEHELP = NO # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. -ECLIPSE_DOC_ID = org.doxygen.Project +ECLIPSE_DOC_ID = org.doxygen.boostafio # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The @@ -1690,7 +1690,7 @@ LATEX_FOOTER = # list). # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_STYLESHEET = +#LATEX_EXTRA_STYLESHEET = # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the LATEX_OUTPUT output @@ -1815,7 +1815,7 @@ RTF_EXTENSIONS_FILE = # The default value is: NO. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_SOURCE_CODE = NO +#RTF_SOURCE_CODE = NO #--------------------------------------------------------------------------- # Configuration options related to the man page output @@ -1850,7 +1850,7 @@ MAN_EXTENSION = .3 # MAN_EXTENSION with the initial . removed. # This tag requires that the tag GENERATE_MAN is set to YES. -MAN_SUBDIR = +#MAN_SUBDIR = # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it # will generate one additional man file for each entity documented in the real @@ -1913,7 +1913,7 @@ DOCBOOK_OUTPUT = docbook # The default value is: NO. # This tag requires that the tag GENERATE_DOCBOOK is set to YES. -DOCBOOK_PROGRAMLISTING = NO +#DOCBOOK_PROGRAMLISTING = NO #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output @@ -2022,7 +2022,8 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = __cplusplus=201402L DOXYGEN_SHOULD_SKIP_THIS=1 +PREDEFINED = DOXYGEN_IS_IN_THE_HOUSE=1 DOXYGEN_SHOULD_SKIP_THIS=1 \ + BOOSTLITE_CONSTEXPR=constexpr # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The @@ -2031,7 +2032,7 @@ PREDEFINED = __cplusplus=201402L DOXYGEN_SHOULD_SKIP_THIS=1 # definition found in the source code. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_AS_DEFINED = BOOST_AFIO_DEADLINE_NAME BOOST_CXX14_CONSTEXPR \ +EXPAND_AS_DEFINED = BOOST_AFIO_DEADLINE_NAME BOOSTLITE_CONSTEXPR \ BOOST_AFIO_HEADERS_ONLY_MEMFUNC_SPEC BOOST_AFIO_HEADERS_ONLY_FUNC_SPEC BOOST_AFIO_HEADERS_ONLY_VIRTUAL_SPEC \ BOOSTLITE_BITFIELD_BEGIN BOOSTLITE_BITFIELD_END \ BOOST_AFIO_V2_NAMESPACE BOOST_AFIO_V2_NAMESPACE_BEGIN BOOST_AFIO_V2_NAMESPACE_EXPORT_BEGIN BOOST_AFIO_V2_NAMESPACE_END \ @@ -2047,7 +2048,7 @@ EXPAND_AS_DEFINED = BOOST_AFIO_DEADLINE_NAME BOOST_CXX14_CONSTEXPR \ # The default value is: YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -SKIP_FUNCTION_MACROS = YES +SKIP_FUNCTION_MACROS = NO #--------------------------------------------------------------------------- # Configuration options related to external references @@ -2348,12 +2349,12 @@ DIAFILE_DIRS = # generate a warning when it encounters a \startuml command in this case and # will not generate output for the diagram. -PLANTUML_JAR_PATH = +#PLANTUML_JAR_PATH = # When using plantuml, the specified paths are searched for files specified by # the !include statement in a plantuml block. -PLANTUML_INCLUDE_PATH = +#PLANTUML_INCLUDE_PATH = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes diff --git a/appveyor.yml b/appveyor.yml index ae3a23b3..e8d1d459 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -26,18 +26,12 @@ before_build: build_script: - ctest -S .ci.cmake -V after_build: - - for /f %%a in ('powershell -Command "Get-Date -format yyyyMMddHHmm"') do set datetime=%%a - - set "TARNAME=boost.afio-v2.0-binaries-win64-%datetime%.zip" - - 7z a %TARNAME% doc include Readme.md release_notes.md build\bin\Release\afio_dl-2.0-Windows-x64-Release.dll build\lib\Release\afio_dl-2.0-Windows-x64-Release.lib build\lib\Release\afio_sl-2.0-Windows-x64-Release.lib before_test: test_script: after_test: on_success: - - curl -u jenkins-nedprod:%JENKINS_NEDPROD_PASSWORD% --data-binary "@%TARNAME%" "https://dedi4.nedprod.com/static/files/upload/%TARNAME%" on_failure: on_finish: - - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path build\merged_junit_results.xml)) - -#artifacts: + - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path cmake_ci\merged_junit_results.xml)) diff --git a/include/boost/afio/afio.hpp b/include/boost/afio/afio.hpp index 3a743bdb..3709e010 100644 --- a/include/boost/afio/afio.hpp +++ b/include/boost/afio/afio.hpp @@ -3,7 +3,7 @@ #if defined(_MSC_VER) && !defined(__clang__) #define BOOST_AFIO_HEADERS_PATH2 BOOST_AFIO_VERSION_GLUE(v, BOOST_AFIO_HEADERS_VERSION, /afio.hpp) -#else +#elif !__PCPP_ALWAYS_FALSE__ #define BOOST_AFIO_HEADERS_PATH2 BOOST_AFIO_VERSION_GLUE(v, BOOST_AFIO_HEADERS_VERSION,)/afio.hpp #endif diff --git a/include/boost/afio/boost-lite b/include/boost/afio/boost-lite -Subproject c46e8848685ebf6677a4fe51589525ccaedb126 +Subproject faea95cc1f39dcca6e6382a72480cbd7dc662bb diff --git a/include/boost/afio/outcome b/include/boost/afio/outcome -Subproject 7db1d3368ac9905513456dda2cb0b890f22832b +Subproject 86e24d16d4a9d1f784930a94b5702b7d540f623 diff --git a/include/boost/afio/revision.hpp b/include/boost/afio/revision.hpp index 99738405..787babbe 100644 --- a/include/boost/afio/revision.hpp +++ b/include/boost/afio/revision.hpp @@ -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 BOOST_AFIO_PREVIOUS_COMMIT_REF 416b2f40487201215e431198cfa41edd52fb1f29 -#define BOOST_AFIO_PREVIOUS_COMMIT_DATE "2016-07-20 12:17:26 +00:00" -#define BOOST_AFIO_PREVIOUS_COMMIT_UNIQUE 416b2f40 +#define BOOST_AFIO_PREVIOUS_COMMIT_REF 7b0292021a45b619fc02e35d9ac763673d5037be +#define BOOST_AFIO_PREVIOUS_COMMIT_DATE "2017-04-03 15:12:49 +00:00" +#define BOOST_AFIO_PREVIOUS_COMMIT_UNIQUE 7b029202 diff --git a/include/boost/afio/v2.0/config.hpp b/include/boost/afio/v2.0/config.hpp index 9fcf46d1..357fe32a 100644 --- a/include/boost/afio/v2.0/config.hpp +++ b/include/boost/afio/v2.0/config.hpp @@ -104,15 +104,9 @@ DEALINGS IN THE SOFTWARE. #ifndef __cpp_variadic_templates #error Boost.AFIO needs variadic template support in the compiler #endif -#ifndef __cpp_noexcept -#error Boost.AFIO needs noexcept support in the compiler -#endif #ifndef __cpp_constexpr #error Boost.AFIO needs constexpr (C++ 11) support in the compiler #endif -#ifndef __cpp_thread_local -#error Boost.AFIO needs thread_local support in the compiler -#endif #ifndef __cpp_init_captures #error Boost.AFIO needs lambda init captures support in the compiler (C++ 14) #endif @@ -386,17 +380,17 @@ BOOST_AFIO_V2_NAMESPACE_END #endif -// Bring in the Boost macro emulations -#include "../boost-lite/include/boost/config.hpp" +// Bring in the Boost-lite macros +#include "../boost-lite/include/config.hpp" // Configure BOOST_AFIO_DECL #if(defined(BOOST_AFIO_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_AFIO_STATIC_LINK) #if defined(BOOST_AFIO_SOURCE) -#define BOOST_AFIO_DECL BOOST_SYMBOL_EXPORT +#define BOOST_AFIO_DECL BOOSTLITE_SYMBOL_EXPORT #define BOOST_AFIO_BUILD_DLL #else -#define BOOST_AFIO_DECL BOOST_SYMBOL_IMPORT +#define BOOST_AFIO_DECL BOOSTLIE_SYMBOL_IMPORT #endif #else #define BOOST_AFIO_DECL diff --git a/include/boost/afio/version.hpp b/include/boost/afio/version.hpp index 3a130e55..bda8cd0b 100644 --- a/include/boost/afio/version.hpp +++ b/include/boost/afio/version.hpp @@ -30,3 +30,5 @@ #else #define BOOST_AFIO_HEADERS_VERSION BOOST_AFIO_VERSION_MAJOR.BOOST_AFIO_VERSION_MINOR #endif +//! \brief The namespace boost::afio::v ## BOOST_AFIO_NAMESPACE_VERSION +#define BOOST_AFIO_NAMESPACE_VERSION BOOST_AFIO_VERSION_GLUE(BOOST_AFIO_VERSION_MAJOR, _, BOOST_AFIO_VERSION_MINOR) diff --git a/test/kerneltest b/test/kerneltest -Subproject 0712f357d2330512c7467771460fd7ba655819b +Subproject 436dd17be16e55406d4031618245402dd08484f |