650 Commits

Author SHA1 Message Date
Tommy Nguyen
362cd8f27e Account for WIN32 2018-01-21 12:29:13 -05:00
Tommy Nguyen
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
Tommy Nguyen
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
Howard Hinnant
3b8372f4fa Avoid use of undeclared to_utc_time.
* Fixes https://github.com/HowardHinnant/date/issues/289
2018-01-18 15:55:58 -05:00
Xuesong Hu
6941691de4 implement current_zone() for iOS using native API from iOSUtils 2018-01-12 14:59:01 -05:00
Michael Maroszek
09b78ba92c bump msvc define to fix compile issue on MSVC 15.6 2018-01-12 10:51:05 -05:00
Howard Hinnant
28c1c61ac2
Advertise that this works in C++17 2018-01-08 09:54:42 -05:00
Howard Hinnant
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
Darrell Wright
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
Scott Beil
2b6ee6378c minutes fix 2018-01-05 18:42:48 -05:00
Darrell Wright
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
ajneu
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
ajneu
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
ajneu
dbd6e6e388 cmake: remove include_directories() command that is missing directory 2017-12-26 13:35:25 -05:00
ajneu
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
Roey Darwish Dror
44c2515280 Use the highest possible C++ standard (#18) 2017-12-26 11:12:11 +02:00
Joshua Jackson
0af7654764 Fix iOS build 2017-12-11 05:45:27 -06:00
Howard Hinnant
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
Howard Hinnant
b49bdc3ca7 Add missing include <memory> for unique_ptr 2017-12-06 10:12:49 -05:00
Howard Hinnant
c7e5a4d08e Add posix-style time zone example: ptz.h 2017-12-03 14:40:01 -05:00
Peter Karlovsek
5653e9e3a9 Fixes CURLE_SSL_CACERT (60) when downloading tzdata2017c.tar.gz 2017-12-01 12:14:41 -05:00
Andreas Stallinger
d3b8d4af8d use target_include_directories instead of include_directories 2017-12-01 11:18:59 -05:00
Howard Hinnant
c2e139ef53 Replace realpath with readlink
* Appears to be more modern and Debian Stretch requires it.
2017-11-30 17:17:28 -05:00
Howard Hinnant
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
Howard Hinnant
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
Howard Hinnant
1902b8e8fb Range check year on parse 2017-11-30 10:45:30 -05:00
Howard Hinnant
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
Howard Hinnant
87ed7f83cf Correct IANA data download URL 2017-11-27 12:44:57 -05:00
Darrell Wright
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
Darrell Wright
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
Darrell Wright
53629fa30c No longer hardwiring subfolders of test
Hid build errors on should fail tests
2017-11-27 10:20:14 -05:00
Darrell Wright
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
Darrell Wright
524517b369 Added scripts to do fail testing 2017-11-26 23:11:58 -05:00
Darrell Wright
98ae1e5241
part 1 of merge request 2017-11-26 23:09:46 -05:00
Howard Hinnant
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
Darrell Wright
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
Darrell Wright
080df4988f excluded testit from Windows 2017-11-26 16:56:41 -05:00
Darrell Wright
1f27fb7d42 Cannot set USE_OS_TZDB=1 on Windows 2017-11-26 16:56:41 -05:00
Darrell Wright
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
Darrell Wright
3a33cdca7d Fixed WORKING_DIR path on testit target to use project root as base 2017-11-26 16:56:41 -05:00
Darrell Wright
3c4f0b5ada Changed testing approach and added gitignore 2017-11-26 16:56:41 -05:00
Darrell Wright
c0a3e528a3 Typo 2017-11-26 16:56:41 -05:00
Darrell Wright
9c67d94f2f Started adding test building 2017-11-26 16:56:41 -05:00
Darrell Wright
9c39772731 Create CMakeList.txt
This is an implementation of cmake config relating to #18
2017-11-26 16:56:41 -05:00
Howard Hinnant
15a63ec819 Updated on behalf of schmidt9 2017-11-26 14:41:40 -05:00
Tomasz Kamiński
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
Tomasz Kamiński
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
Tomasz Kamiński
dd91be668e Added deprecated functions test for real 2017-11-24 23:42:18 +01:00
Tomasz Kamiński
b13c859ff1 Restored deprecated to_clock_time function.
Fixed the to_utc_time(const gps_time<Duration>& t) function
to correctly use clock_cast<utc_time>.

Added test to deprecated functions.
2017-11-24 23:37:32 +01:00
Tomasz Kamiński
d4592bd497 Maked clock_time_conversion as const and used alias.
Marked operator() of all supplied clock_time_conversion overload
as const.
Changed input type to sys_time/utc_time alias when possible.
Used consitient nomencalture: st for sys_time, ut for utc_time
and tp for time in different clock.
2017-11-24 23:26:56 +01:00