summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2019-01-25 15:48:39 -0800
committerGitHub <noreply@github.com>2019-01-25 15:48:39 -0800
commit7f8f3275ad251d805eaeda379b7dda7291167243 (patch)
tree73d600e971695b4b08ce02d9302ae03c3b1922e8 /src
parent644db80fd377a4ee05bc2d6385b99ab152c13958 (diff)
parent347029a803475c21bf9fa508f27b0ed7233ff312 (diff)
downloadfork-ledger-7f8f3275ad251d805eaeda379b7dda7291167243.tar.gz
fork-ledger-7f8f3275ad251d805eaeda379b7dda7291167243.tar.bz2
fork-ledger-7f8f3275ad251d805eaeda379b7dda7291167243.zip
Merge pull request #1726 from scfc/compile-strptime-only-on-windows
Compile strptime.cc only on Windows
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt10
-rw-r--r--src/strptime.cc7
2 files changed, 12 insertions, 5 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 71d9478a..9cd54dbe 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -52,7 +52,6 @@ set(LEDGER_SOURCES
times.cc
error.cc
utils.cc
- strptime.cc
wcwidth.cc)
if (HAVE_BOOST_PYTHON)
@@ -134,9 +133,16 @@ set(LEDGER_INCLUDES
value.h
views.h
xact.h
- strptime.h
${PROJECT_BINARY_DIR}/system.hh)
+# Windows provides no strptime(), so supply our own.
+if (WIN32 OR CYGWIN)
+ list(APPEND LEDGER_INCLUDES
+ strptime.h)
+ list(APPEND LEDGER_SOURCES
+ strptime.cc)
+endif()
+
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
if (CMAKE_CXX_COMPILER MATCHES "clang\\+\\+")
add_definitions(
diff --git a/src/strptime.cc b/src/strptime.cc
index 069b9267..ac6885a6 100644
--- a/src/strptime.cc
+++ b/src/strptime.cc
@@ -12,7 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#if defined(_WIN32) || defined(__CYGWIN__)
+#if !(defined(_WIN32) || defined(__CYGWIN__))
+#error This file should only be compiled on Windows.
+#endif
+
// Implement strptime under windows
#include "strptime.h"
@@ -200,5 +203,3 @@ static char* _strptime(const char *s, const char *format, struct tm *tm) {
char* strptime(const char *buf, const char *fmt, struct tm *tm) {
return _strptime(buf, fmt, tm);
}
-
-#endif // _WIN32