aboutsummaryrefslogtreecommitdiff
path: root/cmake/tuklib_mbstr.cmake
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2020-03-11 13:05:29 +0200
committerLasse Collin <lasse.collin@tukaani.org>2020-03-11 13:05:29 +0200
commit1acc48794364606c9091cae6fa56db75a1325114 (patch)
tree724c726a04570ff3c5ecbf6066cc00170c3841a7 /cmake/tuklib_mbstr.cmake
parentBuild: Add support for --no-po4a option to autogen.sh. (diff)
downloadxz-1acc48794364606c9091cae6fa56db75a1325114.tar.xz
Build: Add very limited experimental CMake support.
This version matches CMake files in the master branch (commit 265daa873c0d871f5f23f9b56e133a6f20045a0a) except that this omits two source files that aren't in v5.2 and in the beginning of CMakeLists.txt the first paragraph in the comment is slightly different to point out possible issues in building shared liblzma.
Diffstat (limited to 'cmake/tuklib_mbstr.cmake')
-rw-r--r--cmake/tuklib_mbstr.cmake20
1 files changed, 20 insertions, 0 deletions
diff --git a/cmake/tuklib_mbstr.cmake b/cmake/tuklib_mbstr.cmake
new file mode 100644
index 00000000..e073be6a
--- /dev/null
+++ b/cmake/tuklib_mbstr.cmake
@@ -0,0 +1,20 @@
+#
+# tuklib_mbstr.cmake - see tuklib_mbstr.m4 for description and comments
+#
+# Author: Lasse Collin
+#
+# This file has been put into the public domain.
+# You can do whatever you want with this file.
+#
+
+include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
+include(CheckSymbolExists)
+
+function(tuklib_mbstr TARGET_OR_ALL)
+ check_symbol_exists(mbrtowc wchar.h HAVE_MBRTOWC)
+ tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_MBRTOWC)
+
+ # NOTE: wcwidth() requires _GNU_SOURCE or _XOPEN_SOURCE on GNU/Linux.
+ check_symbol_exists(wcwidth wchar.h HAVE_WCWIDTH)
+ tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_WCWIDTH)
+endfunction()