aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Fixes CMAKE_VERSION check (#759)k-brac2019-01-141-1/+1
| | | | | | | | | | * Fixes CMAKE_VERSION check Fixes #758 by using the correct comparison operator for a version See documentation at https://cmake.org/cmake/help/latest/command/if.html Thanks to this change, gsl natvis is properly included in a visual studio solution * cmake version check for cmake < 3.7
* Suppress Warnings in GSL Headers (#731)hannesweisbach2018-11-281-5/+15
| | | Suppress warnings in GSL headers using the SYSTEM keyword for target_include_directories(). This enables developers to see warnings standalone builds but hides them from users in non-standalone builds.
* Added testing for c++17 to latest compilers with test with (#692)Anna Gringauze2018-06-151-16/+14
| | | | | | | | | | | | | | | * Added testing with std=c++17 for latest compilers Added running latest compilers with -std=c++17 option to CI the test matrix, Updated cmake configuration to allow passing c++ standard on the command line. * attempt to fix appveyor break * added clang6.0, removed c++17 tests for clang 5.0 * commented out tests for clang with c++17 die to issue #695 * Addresed comments
* Added template argument deduction for not_null (#689)Anna Gringauze2018-06-071-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added template argument deduction for not_null This allows compilers with c++17 support to infer template instantiation types when calling not_null constructor: int foo(not_null<const int*> x); int main() { int t = 0; not_null x{ &t }; return foo(not_null{ &t }); } * replaced deduction guides by a simple constructor * Updated tests * fixed check for availability of std::byte * testing c++1z on clang * fixed cmakelists extra endif * include cstddef header for clang and gcc in pointers * fixed a typo * fix missing nullptr_t type * fixed typo in CMakeLists.tst * change approach to c++17 testing, step one: revert cmake testing, update clang5.0 package removed using latest c++ due to clang5.0 failing, update clang5.0 travis config to use llvm-toolchain-trusty-5.0 * addressed comments
* v2.0 Patch (#641)Rian Quinn2018-04-271-12/+13
| | | Signed-off-by: Rian Quinn <rianquinn@gmail.com>
* Fix wrong check of the CMAKE_VERSION (#602)Jérémie Delaitre2018-02-131-1/+1
| | | `CMAKE_VERSION_MAJOR` is just the first component of the CMake version (e.g. 3 for 3.10.1) which compares less than `3.7.9` if it is less than 3. The proper variable to compare is `CMAKE_VERSION` which contains the full version number.
* Visual Studio Debug Visualizers support (#575)paweldac2017-11-281-4/+12
| | | | | | changes: - minimal cmake version updated to 3.7(first version with .natvis file handling) - updated cmake version in readme file - GSL.natvis file is added only to VS projects
* Adds an option to disable test generation (#552)bfierz2017-09-061-2/+11
| | | When integrating the GSL as an external dependency, it is usually unnecessary to build and run the unit-tests.
* Allow to use system version of the catch test framework (#549)Nicholas Guriev2017-08-161-1/+1
|
* Move from unittest-cpp to catch for unit testing. (#533)Neil MacIntosh2017-07-131-4/+7
| | | Many thanks to @rianquinn. This should fix #495, #494 and #529.
* Update CMake usage (#493)Tiago2017-04-251-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor cmake file to have GSL as an interface CMake supports header only libraries as INTERFACE libraries. Using interfaces libraries make is easier for users to use the library because one just need to "link" agaisnt the library and necessary include paths, definitions, flags... will be taken care of. This commit creates a new interface library called GSL. It then add the following things to the GSL library: - compiler flags ex: (-std=c++14) - definitions ex: _SCL_SECURE_NO_WARNINGS - include paths ex: include/gsl - natvis file Another project can now have the GSL project as a git submodule and one only need to add the two following lines to their project to use the GSL. add_subdirectory(GSL) target_link_libraries(<some target> GSL) After cmake 3.8.0 a lot of the logic can be simplified. Right now the cmake file has an if for version checking, but when the minimun required version is 3.8.0 one can just delete the branching and keep the simpler version. * Cut support for c++11 Compiling on GCC6.2 with only the c++11 flag will generate compilation errors. For example some of the errors are related to the use of enable_if_t which is a c++14 feature. To avoid compilation errors this comiit removes c++11 support on linux. * Refactor code that pulls unittest-cpp Two minor changes: - uses cmake to find a proper installation of git (in case user does not have it on the path) - checks for the CMakeLists file instead. This is needed for the build itself and seems like a better way to do the checking * Refactor tests so they show together on VS This commit will make a VS geenrated project to group all tests under GSL_tests * Refactor tests configuration This creates a test configuration interface and add all the previous compiler options to that interface. compiler options are now sorted so it is easier to find them, and also one per line, so that modifications are easier to track from git.
* Cleanup include structure, constexpr and noexcept compiler workarounds.Casey Carter2017-02-071-18/+3
| | | | | | | | | | | * Nest "gsl" directory inside a new "include" directory. * Cleanup the _MSC_VER conditionals a bit; use constexpr on VS2017+. * Don't #define noexcept on non-Microsoft implementations. * Workaround VS2017 bug in multi_span. (Also implement == and != for static_bounds_dynamic_range_t because I'm an EoP semantic soundness snob.) Fixes #441.
* Add a copy() function for span.MikeGitb2016-11-171-0/+1
|
* Update CMakeLists.txtNeil MacIntosh2016-08-241-0/+3
|
* Removed .h extension from header files.Galik2016-08-101-4/+4
|
* Renamed include/ folder to gsl/ to make including the library consistentgalik2016-08-091-4/+4
| | | | | | | | | | | whether using it from the development folder, from the installation folder or from being copied into a project. #include <gsl/gsl.h> Updated headers/tests/instructions/cmake build accordingly This PR should address https://github.com/Microsoft/GSL/issues/277 (less the renaming of gsl itself)
* Add CMake install target for header filesJason Horsburgh2015-11-211-0/+11
|
* add travis testing (gcc5, clang36)Tamas Kenez2015-09-231-3/+3
| | | | - also relaxed CMake version to 2.8.7, the version default in travis
* Initial commit of library files.Neil MacIntosh2015-08-201-0/+11