Commit Graph

294 Commits

Author SHA1 Message Date
Victor Zverovich
faf83406a9 Workaround cmake issue 2023-04-11 15:59:08 -07:00
Victor Zverovich
165814d57a Add module support to CMake 2023-04-11 14:38:34 -07:00
Victor Zverovich
4613d48fd3 FMT_EXPORT -> FMT_LIB_EXPORT 2023-04-10 08:24:23 -07:00
Victor Zverovich
e406ddbfaf Remove broken part of the config 2023-04-08 08:46:43 -07:00
Mikhail Paulyshka
d3c10f5167
fix compilation for MSDOS (#3369) 2023-04-01 13:40:53 -07:00
François Carouge
2c80cedc39
Fix standard default installation target presence (#3264) 2023-01-10 17:56:00 -08:00
Vladislav Shchapov
115ca96e0e Bump tested CMake version to 3.25
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-30 08:09:32 -08:00
Chris Thrasher
69ffedfe52 Use target_compile_features to specify C++ standard requirement 2022-11-26 11:03:17 -08:00
Tinson Lai
5ad7b71381
Fix options for C++20 experimental module in CMake (#3134)
* Fix options for C++20 experimental module in CMake

* Replace `FMT_CAN_MODULE` by `FMT_MODULE` in test/CMakeLists.txt
2022-10-12 08:23:12 -07:00
Vladislav Shchapov
0ccaed3a6c
Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-28 16:51:23 -07:00
Vladislav Shchapov
682e097bee Remove -Wl,--as-needed linker option
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-07 06:51:41 -07:00
Victor Zverovich
5c7d315ded Remove locale.h 2022-05-21 08:19:09 -07:00
Mattias Ljungström
a935ac3e60
MSVC CMake generation optimization (#2852) 2022-04-08 06:27:23 -07:00
Andrey Filipenkov
d8e1dd4ab2 improve installing headers 2022-02-17 08:13:26 -08:00
Andrey Filipenkov
ae25f7968e add ability to build Apple framework using CMAKE_FRAMEWORK 2022-02-17 08:13:26 -08:00
Victor Zverovich
afbcf1e8ea Remove legacy C locale wrapper 2022-02-05 12:37:21 -08:00
Victor Zverovich
a7aecbfcaa Remove an old mingw workaround 2022-01-23 09:44:53 -08:00
VasiliPupkin256
dfcc730cbd Making target_compile_options PRIVATE, fix #2726, fix #2507 2022-01-23 09:36:11 -08:00
Alexey Ochapov
c5aafd8f90 expose headers as SYSTEM depending on special configuration option 2021-12-19 08:29:51 -08:00
Victor Zverovich
1e96e01766 Fix compiler flag check (#2540) 2021-10-09 06:05:05 -07:00
Victor Zverovich
894faf3fed Refactor presentation types 2021-09-06 13:32:33 -07:00
Spiros Tsalikis
3def950b84 Set FMT_CAN_MODULE=OFF for MSVC 19.29.30035+ 2021-07-23 09:35:09 -07:00
Владислав Щапов
fd16bcb20c Fix bug in cmake join function 2021-06-24 09:10:53 -07:00
Victor Zverovich
ff37e41625 wchar.h -> xchar.h because it handles other code unit types too 2021-05-29 09:37:17 -07:00
Jose Miguel Pérez
17c993c753
Fixed compilation with CMake < 3.7 (#2321) 2021-05-28 20:24:31 -07:00
Sergiu Deitsch
128cbdeb2f cmake: hide private symbols by default 2021-05-21 08:25:08 -07:00
Daniela Engert
5a0d99fa0b Add a test for the module 2021-05-20 10:26:31 -07:00
Victor Zverovich
0dd91e20d5 Add wchar.h for wide char overloads 2021-05-17 21:59:10 -07:00
Victor Zverovich
bb006f9735 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 2021-04-24 17:46:49 -07:00
Victor Zverovich
8f9ddf452d Remove deprecated posix.h 2021-04-24 07:03:11 -07:00
Dan Ibanez
58aa04573f
Fix ordering of install commands for CMake (#2122)
the library itself needs to be installed before
the fmt-targets.cmake file is installed,
otherwise the installed targets file doesn't
actually point to the library using
IMPORTED_LOCATION
2021-01-30 09:03:55 -08:00
randomizedthinking
6972b5f3d2
Add build variable: FMT_MASTER_PROJECT (#2100) 2021-01-16 16:56:49 -08:00
Victor Zverovich
ac35208115 Install fmt/args.h (#2096) 2021-01-16 08:13:38 -08:00
Jonathan Gopel
eb52ac7a35 🆕 Enable -Wshadow in pedantic mode
Problem:
- All `-Wshadow` warnings are fixed but there is nothing stopping them
  from being reintroduced.

Solution:
- Fail pedantic builds on `-Wshadow` warnings. This allows CI to prevent
  reoccurrence of the warning.

Notes:
- Not enabling `-Wshadow` for gcc versions 4 or lower because the
  warning is much more aggressive there to the point that it's mostly
  just noise.
2020-11-03 07:30:27 -08:00
Victor Zverovich
2f448ed565 Fix fuzzer timeouts 2020-10-12 16:46:21 -07:00
Victor Zverovich
af28305961 Cleanup 2020-10-11 10:13:42 -07:00
MarcDirven
01c37e0a4b
Added check for -mbig-obj and ref qualifier check (#1929)
* Added check whether mingw has -mbig-obj flag
* Removed ref qualifiers
2020-10-11 07:49:54 -07:00
Victor Zverovich
34f22e88a1 Cleanup CMake config 2020-10-07 08:11:42 -07:00
medithe
951e0d2333
CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823)
Co-authored-by: Martin Wührer <martin.wuehrer@artech.at>
2020-08-18 07:04:44 -07:00
medithe
f9f02df719
CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817)
* CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion

* test/ranges-test.cc: changed type of integer literals to unsigned

* test/format-test.cc: fixed implicit conversion changes signedness warning in clang

Co-authored-by: Martin Wührer <martin.wuehrer@artech.at>
2020-08-14 13:58:20 -07:00
Victor Zverovich
61602a75db Remove -Wno-shadow 2020-08-05 10:55:09 -07:00
Raul Tambre
26b47b6fb5 Bump tested CMake version to 3.18
Use the version range feature introduced in 3.12. On CMake <3.12 the extra dots are simply interpreted as extra version number separators.
The fallback for ancient CMake versions is kept.
2020-07-19 08:50:34 -07:00
Victor Zverovich
18024853b6 Fix compatibility with CMake 3.4 (#1779) 2020-07-17 06:41:25 -07:00
Victor Zverovich
a2c4fed981 Double buffering no more 2020-07-10 20:35:14 -07:00
ArthurSonzogni
b287c37c65 Do not use -Wl,--as-needed with emscripten.
On some platform, fmt is using the following link flag:
```cmake
  target_link_libraries(fmt -Wl,--as-needed)
```

This is not supported by wasm-ld as of today.
This patch stop using it when compiling using emscripten.

Bug: https://github.com/fmtlib/fmt/issues/1736
2020-06-21 11:46:04 -07:00
flagarde
704ed557a1 Move project in order to solve a CMake warning
CMake Warning (dev) at /usr/share/cmake-3.17/Modules/GNUInstallDirs.cmake:225 (message):
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
2020-06-12 06:04:31 -07:00
Attila Mark
47ae521557 MINGW cross compiler fixes 2020-06-09 06:19:22 -07:00
Orivej Desh
f5fa1dee54
Support custom FMT_INC_DIR in pkgconfig and cmake configs (#1702)
* Support custom FMT_INC_DIR in pkgconfig and cmake configs

When CMAKE_INSTALL_INCLUDEDIR or FMT_INC_DIR override the header
installation directory, they should be used instead of
${CMAKE_INSTALL_PREFIX}/include in fmt-targets.cmake and fmt.pc.

* Put headers into FMT_INC_DIR/fmt rather than directly into FMT_INC_DIR

This makes FMT_INC_DIR an alias for CMAKE_INSTALL_INCLUDEDIR and
simplifies generation of pkgconfig and cmake configs.

* Do not split target_include_directories
2020-05-28 08:17:34 -07:00
Jan Tojnar
78f041ab5b build: Fix installation paths
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:

https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
2020-05-01 10:27:24 -07:00
Krzysztof Wesolowski
e2ef12a8c0 Allow to avoid inclusion of os.cc in fmt target
- Allows to avoid part of #1654
- Not possible to use with MASTER_PROJECT as testing uses it a lot
2020-05-01 06:24:22 -07:00