2acf403bcd
Dont include ios.h
unconditionally.
...
The include in tz.cpp was changed to only include the ios.h header
when compiling on apple platforms, as the documentation states that
only the four files date.h, tz.h, tz_private.h, and tz.cpp should be
required to use the time zone library.
Additionally, the ios.mm file was moved to src/ since it contains
C++ source code.
2018-01-24 20:24:10 -05:00
637e5d8007
Use target_compile_definitions
...
It's generally preferred to use [`target_compile_definitions`](https://floooh.github.io/2016/01/12/cmake-dependency-juggling.html ) over `add_definitions`.
2018-01-21 12:33:42 -05:00
362cd8f27e
Account for WIN32
2018-01-21 12:29:13 -05:00
a4ce4bc2d3
Use correct target
...
Also, fix the formatting in the generator expressions. For some reason, the previous
formatting caused this error:
Target "date_interface" INTERFACE_INCLUDE_DIRECTORIES property contains
path:
...
which is prefixed in the source directory.
2018-01-21 12:29:13 -05:00
3e5a57467a
Export a CMake config file
...
This will allow users to import the project via CMake methods, i.e `find_package` rather than doing it manually.
2018-01-21 12:29:13 -05:00
3b8372f4fa
Avoid use of undeclared to_utc_time.
...
* Fixes https://github.com/HowardHinnant/date/issues/289
2018-01-18 15:55:58 -05:00
6941691de4
implement current_zone() for iOS using native API from iOSUtils
2018-01-12 14:59:01 -05:00
09b78ba92c
bump msvc define to fix compile issue on MSVC 15.6
2018-01-12 10:51:05 -05:00
28c1c61ac2
Advertise that this works in C++17
2018-01-08 09:54:42 -05:00
55289f0d73
Make tz_dir a function-local static
...
* This solves initialization order issues detailed
in https://github.com/HowardHinnant/date/issues/275
2018-01-05 19:26:44 -05:00
b7e58e193f
Set standard or default to C++17
...
Changed cmake to default to c++17 unless TZ_CXX_STANDARD is set(e.g. to 11,14 or 17)
2018-01-05 18:45:29 -05:00
2b6ee6378c
minutes fix
2018-01-05 18:42:48 -05:00
7d80d89a44
Allow specifying cxx standard to target
...
Not everyone can use C++17 even with compilers that support it
2017-12-31 16:42:29 -05:00
d9052cffa2
rename and mark-as-advanced the following cmake-variable used in function print_option:
...
CURR_${OPT} -> PRINT_OPTION_CURR_${OPT}
so that the date-project now has the following advanced cmake-variables:
PRINT_OPTION_CURR_BUILD_TZ_STATIC
PRINT_OPTION_CURR_USE_SYSTEM_TZ_DB
PRINT_OPTION_CURR_USE_TZ_DB_IN_DOT
v2.4
2017-12-26 21:00:29 +01:00
447687870f
- Interface library name changed from date to date_interface
...
- Print state of set options
- cleanup on duplicate ${CMAKE_THREAD_LIBS_INIT}
2017-12-26 13:39:55 -05:00
dbd6e6e388
cmake: remove include_directories() command that is missing directory
2017-12-26 13:35:25 -05:00
9178193ad2
cmake: date as INTERFACE target, to enable automatic include_directory
...
(for cases where just date.h, but not "tz.h and its lib" are needed)
2017-12-26 13:35:25 -05:00
44c2515280
Use the highest possible C++ standard ( #18 )
2017-12-26 11:12:11 +02:00
0af7654764
Fix iOS build
2017-12-11 05:45:27 -06:00
1eeb4cd652
Prepare for the new definition of IST
...
* Irish Standard Time has a -1h save in the winter instead
of a +1h save in the summer.
2017-12-08 13:08:40 -05:00
b49bdc3ca7
Add missing include <memory> for unique_ptr
2017-12-06 10:12:49 -05:00
c7e5a4d08e
Add posix-style time zone example: ptz.h
2017-12-03 14:40:01 -05:00
5653e9e3a9
Fixes CURLE_SSL_CACERT (60) when downloading tzdata2017c.tar.gz
2017-12-01 12:14:41 -05:00
d3b8d4af8d
use target_include_directories instead of include_directories
2017-12-01 11:18:59 -05:00
c2e139ef53
Replace realpath with readlink
...
* Appears to be more modern and Debian Stretch requires it.
2017-11-30 17:17:28 -05:00
a3e8f399c4
ifdef out clock_cast for VC-2017 and earlier
...
* Clients report it can't handle the C++11
* Triggered to be enabled on VC-number-next
* Deprecated API (to_xxx_time) rewritten to be independent of
clock_cast.
* Whitespace changes to bring column length down to 90.
2017-11-30 15:40:37 -05:00
443a29df53
Improve range check on year
...
* The previous fix broke parsing of sub-date quantities such as
durations.
2017-11-30 12:06:51 -05:00
1902b8e8fb
Range check year on parse
2017-11-30 10:45:30 -05:00
c513a20691
Fix off-by-one bug in iso_week::year_lastweek_weekday
...
* The conversion from year_lastweek_weekday to sys_days
and local_days had an off by one error.
* Added test for this case.
2017-11-30 10:28:14 -05:00
87ed7f83cf
Correct IANA data download URL
2017-11-27 12:44:57 -05:00
f8cc62c396
Changed naming
...
so that it is parent folder name _pass or _fail (e.g.)
date_test_fail_<test_name>
and date_test_pass_<test_name>
As this should be easier to sort
2017-11-27 10:20:14 -05:00
2d2b65906a
Set so that the pass tests are all tests that do not end in .fail.cpp
2017-11-27 10:20:14 -05:00
53629fa30c
No longer hardwiring subfolders of test
...
Hid build errors on should fail tests
2017-11-27 10:20:14 -05:00
748a1fd5a9
Updated testing so that failures of the should fail tests will compile
...
but will return 1 in testing if they actually built
2017-11-26 23:22:29 -05:00
524517b369
Added scripts to do fail testing
2017-11-26 23:11:58 -05:00
98ae1e5241
part 1 of merge request
2017-11-26 23:09:46 -05:00
9b88763dbf
Remove noexcept from tai_clock::now() and gps_clock::now()
...
* These functions may try to initialize the tzdb which
could fail.
2017-11-26 21:24:45 -05:00
f3741d68ff
Removed OpenSSL requirement. Curl, if it supports SSL, will pull it in.
...
Tested on Ubuntu so far
2017-11-26 16:56:41 -05:00
080df4988f
excluded testit from Windows
2017-11-26 16:56:41 -05:00
1f27fb7d42
Cannot set USE_OS_TZDB=1 on Windows
2017-11-26 16:56:41 -05:00
3e47883c41
Added compile option BUILD_STATIC that defaults to ON to build static
...
libraries. Set to off to build shared
2017-11-26 16:56:41 -05:00
3a33cdca7d
Fixed WORKING_DIR path on testit target to use project root as base
2017-11-26 16:56:41 -05:00
3c4f0b5ada
Changed testing approach and added gitignore
2017-11-26 16:56:41 -05:00
c0a3e528a3
Typo
2017-11-26 16:56:41 -05:00
9c67d94f2f
Started adding test building
2017-11-26 16:56:41 -05:00
9c39772731
Create CMakeList.txt
...
This is an implementation of cmake config relating to #18
2017-11-26 16:56:41 -05:00
15a63ec819
Updated on behalf of schmidt9
2017-11-26 14:41:40 -05:00
543315b700
Reversed order of arguments to clock_time_conversion.
...
Now the order of argument matches the clock_cast function.
The test only is_clock_castable trait still matches is_convertible
order of arguments.
2017-11-26 13:50:21 -05:00
7c69f1570d
Changed invocation to match specification
...
Slight difference between invocation on lvalue of clock_time_conversion
object and prvalue.
2017-11-25 22:01:12 +01:00
dd91be668e
Added deprecated functions test for real
2017-11-24 23:42:18 +01:00