Compare commits

...

7 Commits

Author SHA1 Message Date
f970afff9d Disable installation without the superproject; add comments 2019-12-27 04:22:53 +02:00
609a5c0cd1 Add CMake install support (needed by type_traits) 2019-12-26 17:16:45 +02:00
cb6d8fe37d Merge pull request #7 from LukeCz/patch-1
Simplified boolean expression
2019-02-27 18:07:02 +00:00
23ee2b94b5 Simplified boolean expression 2019-01-21 16:50:00 -06:00
488af9cf1b add README.md
[CI SKIP]
2018-10-15 18:12:54 +01:00
a2c81d05e5 Merge pull request #6 from Mike-Devel/min_cmake
[CMake] Generate cmake target that other libraries can use
2018-10-06 18:32:21 +01:00
68e4213583 [CMake] Generate cmake target that other libraries can use
... to express their dependency on this library and retrieve any
configuration information such as the include directory, binary
to link to (if any), transitive dependencies, necessary compiler
options or the required c++ standards level.
2018-10-01 10:41:48 +02:00
3 changed files with 67 additions and 2 deletions

29
CMakeLists.txt Normal file
View File

@ -0,0 +1,29 @@
# Copyright 2018 Mike Dev
# Copyright 2019 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
# We support CMake 3.5, but prefer 3.16 policies and behavior
cmake_minimum_required(VERSION 3.5...3.16)
project(boost_static_assert VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_static_assert INTERFACE)
add_library(Boost::static_assert ALIAS boost_static_assert)
target_include_directories(boost_static_assert INTERFACE include)
target_link_libraries(boost_static_assert
INTERFACE
Boost::config
)
# boost_install requires PROJECT_VERSION
# Without the superproject, we don't have any, so skip installation
if(BOOST_SUPERPROJECT_VERSION)
include(BoostInstall)
boost_install(TARGETS boost_static_assert HEADER_DIRECTORY include/)
endif()

36
README.md Normal file
View File

@ -0,0 +1,36 @@
Boost StaticAssert Library
============================
The Boost StaticAssert library provides static assertions for C++, this library is the ancestor to C++ native static_assert's and
can be used on older compilers which don't have that feature.
The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/static_assert).
## Support, bugs and feature requests ##
Bugs and feature requests can be reported through the [Gitub issue tracker](https://github.com/boostorg/static_assert/issues)
(see [open issues](https://github.com/boostorg/static_assert/issues) and
[closed issues](https://github.com/boostorg/static_assert/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed)).
You can submit your changes through a [pull request](https://github.com/boostorg/static_assert/pulls).
There is no mailing-list specific to Boost StaticAssert, although you can use the general-purpose Boost [mailing-list](http://lists.boost.org/mailman/listinfo.cgi/boost-users) using the tag [static_assert].
## Development ##
Clone the whole boost project, which includes the individual Boost projects as submodules ([see boost+git doc](https://github.com/boostorg/boost/wiki/Getting-Started)):
git clone https://github.com/boostorg/boost
cd boost
git submodule update --init
The Boost StaticAssert Library is located in `libs/static_assert/`.
### Running tests ###
First, make sure you are in `libs/static_assert/test`.
You can either run all the tests listed in `Jamfile.v2` or run a single test:
../../../b2 <- run all tests
../../../b2 static_assert_test <- single test

View File

@ -53,9 +53,9 @@
//
#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))
# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) == 0 ? false : true)
# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) != 0)
# else
# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) != 0)
# endif
#else
# ifndef BOOST_NO_CXX11_VARIADIC_MACROS