aboutsummaryrefslogtreecommitdiff
path: root/cmake/tuklib_mbstr.cmake
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2020-02-24 23:38:16 +0200
committerLasse Collin <lasse.collin@tukaani.org>2020-02-25 00:00:32 +0200
commit7e3493d40eac0c3fa3d5124097745a70e15c41f6 (patch)
tree8fe76b6569d9193749064ff5271c70ebff9355e0 /cmake/tuklib_mbstr.cmake
parentUpdate m4/.gitignore. (diff)
downloadxz-7e3493d40eac0c3fa3d5124097745a70e15c41f6.tar.xz
Build: Add very limited experimental CMake support.
This does *NOT* replace the Autotools-based build system in the foreseeable future. See the comment in the beginning of CMakeLists.txt. So far this has been tested only on GNU/Linux but I commit it anyway to make it easier for others to test. Since I haven't played much with CMake before, it's likely that there are things that have been done in a silly or wrong way and need to be fixed.
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..a39a96b4
--- /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()