Commit Graph

271 Commits

Author SHA1 Message Date
Victor Zverovich
d5d5865615 Move strtod_l check to CMake since it's very system-specific 2019-06-23 17:10:57 -07:00
Victor Zverovich
b97e5d8c2a Remove deprecated fmt/time.h 2019-06-23 06:13:17 -07:00
Victor Zverovich
25b72fc4cd Move <format> to tests not to confuse users 2019-05-15 09:08:42 -07:00
Victor Zverovich
544b927933 Don't detect C compiler 2019-04-17 06:18:53 -07:00
Victor Zverovich
8bc0adb9ba Get rid of obsolete cmake stuff 2019-04-13 11:37:52 -07:00
Lectem
6e37c20030 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 2019-04-07 08:47:17 -07:00
Lectem
3de3d76a36 Add compile features for cmake 3.8+ 2019-04-07 08:47:17 -07:00
Olaf Hering
9e1531c1e1 install pkg-config file into libdir
Most pkgconfig files contain a Libs: variable, which is either /usr/lib
or /usr/lib64. If a 32bit and a 64bit variant of fmt libraries is
installed, the last one wins. As a result compiling for the other
bitsize will fail.

Instead of sharedir use libdir as install target.

Fixes commit 9d0c9c4bb1
Fixes commit 287342dab1

Signed-off-by: Olaf Hering <olaf@aepfle.de>
2019-03-25 19:15:35 -07:00
Victor Zverovich
53379dfd0c Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 2019-03-17 10:50:40 -07:00
Jason S Zang
287342dab1 cmake: default FMT_PKGCONFIG_DIR to a relative path 2019-03-13 11:28:50 -07:00
Victor Zverovich
83f052930a Add code from p0645 2019-01-20 15:12:01 -08:00
stryku
9a777b9e1c Implemented fmt::prepare()
Implementation of fmt::prepare() function and features around it.
2019-01-12 10:53:31 -08:00
Sign Bit
0bbdca5b8b Fix conversion warnings (#989)
* Fix sign conversion warnings

* Ignore unused local typedefs

* Remove cast reported as useless on GCC

* Remove warning on unused variable

* Enable conversion warning checking for pedantic build

* Fix sign-conversion warnings in headers
2018-12-20 06:24:19 -08:00
Victor Zverovich
f54f3d0fb7 Move chrono-specific code to a separate header 2018-12-09 06:45:20 -08:00
Andreas Schönle
9d4ef94350 Install pdb files. 2018-11-20 07:01:21 -08:00
Victor Zverovich
f2ee988105 Improve locale support 2018-11-14 12:07:39 -08:00
Victor Zverovich
34030deca9 Cleanup warning flags 2018-11-06 17:22:30 -08:00
Cole Mickens
9d0c9c4bb1 cmake: output share/fmt.pc 2018-10-24 07:14:08 -07:00
Victor Zverovich
2d2326a76d Fix compilation with older gcc 2018-10-23 07:31:24 -07:00
Victor Zverovich
50b18a3c10 Integrate Grisu 2018-10-14 14:33:25 -07:00
Victor Zverovich
bc26fbf1b0 Move experimental color API to fmt/color.h 2018-09-12 09:04:26 -07:00
Victor Zverovich
f0d0a1ebd7 Implement Grisu2 digit generation 2018-08-25 20:45:50 -07:00
Victor Zverovich
a11eb3a090 Workaround various icc bugs (#822) 2018-08-22 09:07:17 -07:00
Victor Zverovich
62010520ed Disable gnu-string-literal-operator-template warning 2018-08-22 08:12:59 -07:00
Victor Zverovich
987514761e Make convert_to_int public (#818) 2018-08-22 07:40:06 -07:00
Victor Zverovich
5befe6584d Remove fmt/folly.h and clean up core API 2018-07-22 14:42:25 -07:00
Victor Zverovich
a9e261599b Minor cleanup 2018-07-17 08:54:22 -07:00
Henry Fredrick Schreiner
efd8ee8a7f Reduce warnings, support #809 2018-07-16 12:37:54 +02:00
Victor Zverovich
e0f6a2f8be Add a formatter for folly::StringPiece 2018-07-14 07:31:47 -07:00
Victor Zverovich
ae4a3945f5 Revert "Better support for newer CMake's"
This reverts commit 0eb01b832c.
2018-07-14 06:34:20 -07:00
Henry Schreiner
0eb01b832c Better support for newer CMake's 2018-07-11 07:08:17 -07:00
Victor Zverovich
479ee2a8c6 Fix MSVC build, take 2 2018-07-04 14:24:07 -07:00
Victor Zverovich
6322b47e60 Minor cleanup 2018-06-06 16:51:35 +02:00
Elias Kosunen
691a7a91a1 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736)
* Add a _lot_ more warnings to FMT_PEDANTIC
Fix these warnings

* Add more compilers to CI
Fix (some) of the compiler errors with them

* Enable -Werror on CI
Increase warning level on MSVC when compiling with FMT_PEDANTIC

* Add VS 2013 and 2015 to Appveyor

* Fix Appveyor tests
Formatting

* Implement requested changes
Fix some of the MSVC warnings
Implement C++11 integer_sequence

* Reintroduce appveyor-build.py

* Remove ranges-test from tests

* Remove (some) explicit warning suppressions
Fix C++ standard setting in CI

* Remove (some) explicit warning suppressions
Fix C++ standard setting in CI

* Fix test builds with C++11

* Enable pedantic warnings on tests

* Fix warnings from edits to master

* Cleanups

* Add C++11 support to ranges.h
Re-enable ranges-test
Fix a Visual Studio error about function not returning a value in printf.h
Fix a bug in .travis.yml
2018-06-06 15:57:59 +02:00
Victor Zverovich
6ebc1a967d Merge locale.h into format-inl.h 2018-05-20 17:16:34 -07:00
sv1990
a68fd44ecc Add ranges.h to FMT_HEADERS in CMakeLists.txt (#738) 2018-05-14 06:16:30 -06:00
Victor Zverovich
3da71d51e0 Move source files to the src directory 2018-03-21 07:50:59 -07:00
Victor Zverovich
7bab90e52d Remove extra comma 2018-03-13 22:45:14 -04:00
Mario Werner
6d21fc43b9 add alias targets with fmt namespace
For the consumer it should not matter if fmt has been added to the
project as subdirectory or via find_package. With the alias targets
the library can be always imported via fmt::fmt.
2018-03-13 13:51:48 -04:00
Victor Zverovich
e02aacc634 Add CMake namespace (#511) 2018-03-13 13:03:18 -04:00
Victor Zverovich
403ae0a23b Add debug postfix for libfmt (#636) 2018-02-10 07:17:40 -08:00
Victor Zverovich
c96d64652b CMakeLists: Use GNUInstallDirs to set install location 2018-02-10 07:00:14 -08:00
Victor Zverovich
94806747df remove 'FMT_CPPFORMAT' CMake option 2018-02-02 18:42:22 -08:00
Victor Zverovich
75005bbcd5 Don't export the -std=c++11 flag from the fmt target 2018-01-27 09:18:20 -08:00
Victor Zverovich
5e4c34b25a Add version macro FMT_VERSION (#411) 2018-01-21 16:36:22 -08:00
Victor Zverovich
9a53a706fc Add support for back_insert_iterator 2018-01-14 13:12:26 -08:00
Victor Zverovich
941663d038 Merge ostream.cc into ostream.h 2017-12-17 09:33:56 -08:00
Victor Zverovich
955062da2e Merge printf.cc into printf.h 2017-12-17 08:36:19 -08:00
Victor Zverovich
94edb1a71c Add a lightweight header for the core API 2017-12-06 07:42:42 -08:00
Victor Zverovich
84bd2f1962 Merge include/fmt/CMakeLists.txt into the main CMake file 2017-12-03 09:59:55 -08:00
Victor Zverovich
170f5c671f Move headers to include/fmt 2017-10-21 07:38:49 -07:00
Victor Zverovich
d5e918b61f Detect C++14 compiler support 2017-09-28 08:57:54 -07:00
Victor Zverovich
dfa631e64a Bump version 2016-06-14 06:33:57 -07:00
Victor Zverovich
fb67a2f660 Fix building source package 2016-05-08 07:28:34 -07:00
Victor Zverovich
e5e4fb370c Update version 2016-05-07 09:50:47 -07:00
Jakub Wilk
e0ac51cbd9 Fix typos 2016-05-01 12:29:21 +02:00
Victor Zverovich
afd67497de cppformat -> fmt 2016-04-24 09:06:12 -07:00
Victor Zverovich
5e1576f79f cppformat -> fmt 2016-04-24 08:17:47 -07:00
Victor Zverovich
848ab63a2a CPPFORMAT_VERSION -> FMT_VERSION 2016-04-24 07:16:33 -07:00
vitaut
e49a4e0aff Bump version and adjust comments 2016-04-12 07:42:47 -04:00
vitaut
18c69c998d Update changelog and version 2016-04-11 19:59:22 -04:00
Mario Werner
620f999e80 ignore the current build directory when packaging
This makes sure that the current build directory is not packaged
with the regular source tree when `make package_source` is used.
2016-04-06 09:49:34 +02:00
vitaut
63d7f3d116 Don't check for C++11 features if C++11 support is disabled 2016-03-18 08:10:06 -07:00
vitaut
21b8279cfe Remove biicode because it has been shut down 2016-02-09 21:25:52 -08:00
vitaut
b8c6192a61 Simplify build config and enable C++11 by default 2016-02-09 08:43:39 -08:00
Mario Werner
6a79a3279b build and test in c++11 and in c++98 mode 2016-02-07 18:23:02 +01:00
Mario Werner
c1a4cd0fa7 check if cppformat is the master project or just used as dependency
Based on that information less intrusive option defaults are choosen.
Additionally, packaging support is omitted.
2016-02-03 11:20:19 +01:00
Mario Werner
c0e926109e use the same warning options like before the PR
Additional notes on how to improve the current state have been added.
2016-02-02 17:14:51 +01:00
Mario Werner
5aa5116edc moved the library definition and the installation into a sub CMakeLists.txt 2016-01-29 16:39:03 +01:00
Mario Werner
b52d0bd9d4 define cppformat cmake targets with proper interface definitions 2016-01-29 13:23:08 +01:00
Mario Werner
0fb474be3a outlined the compiler feature tests to improve script readability 2016-01-29 13:03:47 +01:00
Mario Werner
3019a8c1fd moved code into cppformat subdirectory
Proxy headers have been placed into the project root to emit
deprecation warnings.
2016-01-29 12:49:35 +01:00
vitaut
22f61140d1 Format CMake files, ignore generated files and don't copy header 2016-01-13 07:14:32 -08:00
Mario Werner
3fc3ecd184 reverted removal of CPACK_SOURCE_PACKAGE_FILE_NAME
The use of `CPACK_PACKAGE_NAME` leads to
`cppformat-<version>-Source.zip` as the name for the source package
which is different from the expected `cppformat-<version>.zip`.
2016-01-12 16:48:53 +01:00
Mario Werner
b732455fd3 enable package support for out of source builds 2016-01-12 12:52:05 +01:00
Mario Werner
daf74ae0b1 upgrades to cmake 2.8.12 and adds config and export support
This commit upgrades cmake to 2.8.12 to implement proper cmake
`find_package` support using config and export file generation.
Having this support enables users to use installed cppformat
with a simple `find_package` call. Directly using a version
from a build directory is also supported.

main.cpp:
```
 #include <cppformat/format.h>
int main(int argc, char** argv)
{
  for(int i = 0; i < argc; ++i)
    fmt::print("{}: {}\n",i,argv[i]);
  return 0;
}

```

CMakeLists.txt:
```
cmake_minimum_required(VERSION 2.8.12)

project(cppformat-test)

find_package(cppformat REQUIRED)

add_executable(cppformat-test "main.cpp")
target_link_libraries(cppformat-test cppformat)

```
Configuring when cppformat is installed under `CMAKE_INSTALL_PREFIX`: `cmake <PATH_TO_TEST_SRC>`

Configuring when cppformat is installed `ELSEWHERE`: `cmake -Dcppformat_DIR=<ELSEWHERE>/lib/cmake/cppformat <PATH_TO_TEST_SRC>`

Configuring when cppformat is only built: `cmake -Dcppformat_DIR=<cppformat_BUILD_DIR> <PATH_TO_TEST_SRC>`
2016-01-12 12:47:19 +01:00
vitaut
1cba0aea27 Simplify CMake config and do minor adjustments
for consistency with used coding conventions.
2015-12-10 07:24:23 -08:00
Maciej Dems
c47318afa8 Declarations for shared library in Windows.
Added __declspec(dllimport) and __declspec(dllexport) declarations
when compiled in Windows.
2015-12-10 13:36:18 +01:00
vitaut
00d56e06ef Bump version 2015-12-03 08:15:03 -08:00
vitaut
5f8af5ef1d Update version 2015-12-01 07:33:30 -08:00
vitaut
b83fd00183 Pass version from CMake to Sphinx 2015-11-23 08:10:02 -08:00
vitaut
89cd4a5e17 Set version in one place 2015-11-11 07:22:07 -08:00
Dean Moldovan
9608a98b01 Fix shared library build on OS X 2015-10-18 14:49:17 +02:00
vitaut
005379ac6f Don't include .buildinfo and .doctrees in the source package
Thanks to Dave Johansen.
2015-08-31 08:21:59 -07:00
vitaut
75fdfe3e0e Make options that control target generation more consistent 2015-08-31 06:49:06 -07:00
Alex Martin
06c1859420 add CMake option to toggle doxygen documentation 2015-08-30 14:23:54 +02:00
vitaut
b3714625c0 Fix compilation with FMT_PEDANTIC=ON 2015-08-19 08:03:17 -07:00
vitaut
d07fd577c3 FMT_SOURCE_FILES -> FMT_SOURCES 2015-08-19 07:27:34 -07:00
vitaut
4274f15f0d Move test-specific stuff to test/CMakeLists.txt 2015-08-19 07:27:08 -07:00
Alex Martin
914b97859c add CMake option to toggle tests (on by default) 2015-08-19 10:41:37 +02:00
vitaut
4150fa0f95 Fix formatting 2015-08-18 06:57:31 -07:00
Alex Martin
2161823559 add option to disable install 2015-08-17 18:48:16 +02:00
vitaut
a8d12ade1c Append compile flags instead of overwriting 2015-08-04 07:46:15 -07:00
Radu Popescu
0affb23560 fixed #190 Argument shadowing and Clang pedantic support 2015-08-04 12:52:44 +02:00
vitaut
e498ffbb3d Fix rpmlint warning about unused dependency on libm.so.6 2015-07-10 07:02:50 -07:00
vitaut
7859f81233 Don't use pthreads if they are not available 2015-06-29 07:34:30 -07:00
vitaut
958299dd7f Install format.h to '<prefix>/include/cppformat'
not to '<prefix>/include'. Thanks to Eugene V. Lyubimkin for the patch.
2015-06-23 06:49:35 -07:00
vitaut
b88a17ad9e libformat.{a.so} -> libcppformat.{a.so}
as suggested by Eugene V. Lyubimkin to make the name less generic
2015-06-23 06:40:22 -07:00
vitaut
a5757c86df FMT_EXTRA_TESTS -> FMT_PEDANTIC and use it to control extra warnings 2015-05-12 07:35:29 -07:00
vitaut
5517c8962e Use -std=gnu++11 if -std=c++11 is broken (for MinGW) 2015-05-12 07:13:12 -07:00