aboutsummaryrefslogtreecommitdiff
path: root/include/libssh
diff options
context:
space:
mode:
authorHeiko Thiery <heiko.thiery@gmail.com>2020-04-15 09:14:23 +0200
committerAndreas Schneider <asn@cryptomilk.org>2020-05-06 13:02:32 +0200
commitbee8ed82abbc1ee8c631691a131c3d6ec6ba0836 (patch)
treed7a89a4d6b3c060117411c69653a6b34f5ae2c2b /include/libssh
parent4149cebd64a916e934a1485b75f464e26c9bf4ea (diff)
downloadlibssh-bee8ed82abbc1ee8c631691a131c3d6ec6ba0836.tar.gz
libssh-bee8ed82abbc1ee8c631691a131c3d6ec6ba0836.tar.xz
libssh-bee8ed82abbc1ee8c631691a131c3d6ec6ba0836.zip
cmake: Add autogenerated libssh_version.h
Set the cmake project verision to the autogenerated file to have a single point to set the version. This will be included in the libssh.h file. Pair-Programmed-With: Andreas Schneider <asn@cryptomilk.org> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
Diffstat (limited to 'include/libssh')
-rw-r--r--include/libssh/CMakeLists.txt6
-rw-r--r--include/libssh/libssh.h19
-rw-r--r--include/libssh/libssh_version.h.cmake41
3 files changed, 49 insertions, 17 deletions
diff --git a/include/libssh/CMakeLists.txt b/include/libssh/CMakeLists.txt
index acc966e3..83e7b9f8 100644
--- a/include/libssh/CMakeLists.txt
+++ b/include/libssh/CMakeLists.txt
@@ -31,3 +31,9 @@ install(
headers
)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libssh_version.h.cmake
+ ${libssh_BINARY_DIR}/include/libssh/libssh_version.h
+ @ONLY)
+install(FILES ${libssh_BINARY_DIR}/include/libssh/libssh_version.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${APPLICATION_NAME}
+ COMPONENT headers)
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index 7b96541a..12ff322d 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -21,6 +21,8 @@
#ifndef _LIBSSH_H
#define _LIBSSH_H
+#include <libssh/libssh_version.h>
+
#if defined _WIN32 || defined __CYGWIN__
#ifdef LIBSSH_STATIC
#define LIBSSH_API
@@ -71,23 +73,6 @@
#define SSH_STRINGIFY(s) SSH_TOSTRING(s)
#define SSH_TOSTRING(s) #s
-/* libssh version macros */
-#define SSH_VERSION_INT(a, b, c) ((a) << 16 | (b) << 8 | (c))
-#define SSH_VERSION_DOT(a, b, c) a ##.## b ##.## c
-#define SSH_VERSION(a, b, c) SSH_VERSION_DOT(a, b, c)
-
-/* libssh version */
-#define LIBSSH_VERSION_MAJOR 0
-#define LIBSSH_VERSION_MINOR 8
-#define LIBSSH_VERSION_MICRO 90
-
-#define LIBSSH_VERSION_INT SSH_VERSION_INT(LIBSSH_VERSION_MAJOR, \
- LIBSSH_VERSION_MINOR, \
- LIBSSH_VERSION_MICRO)
-#define LIBSSH_VERSION SSH_VERSION(LIBSSH_VERSION_MAJOR, \
- LIBSSH_VERSION_MINOR, \
- LIBSSH_VERSION_MICRO)
-
/* GCC have printf type attribute check. */
#ifdef __GNUC__
#define PRINTF_ATTRIBUTE(a,b) __attribute__ ((__format__ (__printf__, a, b)))
diff --git a/include/libssh/libssh_version.h.cmake b/include/libssh/libssh_version.h.cmake
new file mode 100644
index 00000000..464fa14d
--- /dev/null
+++ b/include/libssh/libssh_version.h.cmake
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the SSH Library
+ *
+ * Copyright (c) 2020 by Heiko Thiery
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _LIBSSH_VERSION_H
+#define _LIBSSH_VERSION_H
+
+/* libssh version macros */
+#define SSH_VERSION_INT(a, b, c) ((a) << 16 | (b) << 8 | (c))
+#define SSH_VERSION_DOT(a, b, c) a ##.## b ##.## c
+#define SSH_VERSION(a, b, c) SSH_VERSION_DOT(a, b, c)
+
+/* libssh version */
+#define LIBSSH_VERSION_MAJOR @libssh_VERSION_MAJOR@
+#define LIBSSH_VERSION_MINOR @libssh_VERSION_MINOR@
+#define LIBSSH_VERSION_MICRO @libssh_VERSION_PATCH@
+
+#define LIBSSH_VERSION_INT SSH_VERSION_INT(LIBSSH_VERSION_MAJOR, \
+ LIBSSH_VERSION_MINOR, \
+ LIBSSH_VERSION_MICRO)
+#define LIBSSH_VERSION SSH_VERSION(LIBSSH_VERSION_MAJOR, \
+ LIBSSH_VERSION_MINOR, \
+ LIBSSH_VERSION_MICRO)
+
+#endif /* _LIBSSH_VERSION_H */