summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Wellnhofer <wellnhofer@aevum.de>2015-01-23 21:26:49 +0100
committerNick Wellnhofer <wellnhofer@aevum.de>2015-01-23 21:26:49 +0100
commit3ed64d7568437e81a0746554af273faeaf2037b4 (patch)
treebe35e33a616a8f0bd117045aa960ed9077f7bd38
parent3248801a925449644071671dcd85e370303071b4 (diff)
Let cmake update version
Add a new template cmark_version.h.in to generate cmark_version.h containing version information.
-rw-r--r--CMakeLists.txt4
-rw-r--r--man/man3/cmark.333
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/cmark.h18
-rw-r--r--src/cmark_version.h.in7
5 files changed, 27 insertions, 43 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6bf4cd6..a6caee6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,8 +8,8 @@ endif()
set(PROJECT_NAME "cmark")
set(PROJECT_VERSION_MAJOR 0)
-set(PROJECT_VERSION_MINOR 0)
-set(PROJECT_VERSION_PATCH 1)
+set(PROJECT_VERSION_MINOR 1)
+set(PROJECT_VERSION_PATCH 0)
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} )
add_subdirectory(src)
diff --git a/man/man3/cmark.3 b/man/man3/cmark.3
index f03a3ae..4b24391 100644
--- a/man/man3/cmark.3
+++ b/man/man3/cmark.3
@@ -527,14 +527,14 @@ Version information
.nf
\fC
.RS 0n
-#define CMARK_VERSION 0x000100
+extern const int cmark_version;
.RE
\f[]
.fi
.PP
-Macro containing the library version as integer for compile time
-checks.
+The library version as integer for runtime checks. Also available as
+macro CMARK_VERSION for compile time checks.
.IP \[bu] 2
Bits 16\-23 contain the major version.
.IP \[bu] 2
@@ -548,37 +548,14 @@ In hexadecimal format, the number 0x010203 represents version 1.2.3.
.nf
\fC
.RS 0n
-#define CMARK_VERSION_STRING "0.1.0"
-.RE
-\f[]
-.fi
-
-.PP
-Macro containing the library version string for compile time checks.
-
-.PP
-.nf
-\fC
-.RS 0n
-extern const int cmark_version;
-.RE
-\f[]
-.fi
-
-.PP
-The library version as integer for runtime checks.
-
-.PP
-.nf
-\fC
-.RS 0n
extern const char cmark_version_string[];
.RE
\f[]
.fi
.PP
-The library version string for runtime checks.
+The library version string for runtime checks. Also available as
+macro CMARK_VERSION_STRING for compile time checks.
.SH
AUTHORS
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 254c065..a76ad0a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -47,6 +47,9 @@ set(PROGRAM_SOURCES
include_directories(. ${CMAKE_CURRENT_BINARY_DIR})
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmark_version.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/cmark_version.h)
+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libcmark.pc.in
${CMAKE_CURRENT_BINARY_DIR}/libcmark.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcmark.pc
@@ -92,7 +95,10 @@ install(TARGETS ${PROGRAM} ${LIBRARY}
LIBRARY DESTINATION lib
)
-install(FILES cmark.h ${CMAKE_CURRENT_BINARY_DIR}/cmark_export.h
+install(FILES
+ cmark.h
+ ${CMAKE_CURRENT_BINARY_DIR}/cmark_export.h
+ ${CMAKE_CURRENT_BINARY_DIR}/cmark_version.h
DESTINATION include
)
diff --git a/src/cmark.h b/src/cmark.h
index faa5150..9f312bc 100644
--- a/src/cmark.h
+++ b/src/cmark.h
@@ -2,7 +2,8 @@
#define CMARK_H
#include <stdio.h>
-#include "cmark_export.h"
+#include <cmark_export.h>
+#include <cmark_version.h>
#ifdef __cplusplus
extern "C" {
@@ -499,8 +500,8 @@ char *cmark_render_man(cmark_node *root, long options);
* ## Version information
*/
-/** Macro containing the library version as integer for compile time
- * checks.
+/** The library version as integer for runtime checks. Also available as
+ * macro CMARK_VERSION for compile time checks.
*
* * Bits 16-23 contain the major version.
* * Bits 8-15 contain the minor version.
@@ -508,18 +509,11 @@ char *cmark_render_man(cmark_node *root, long options);
*
* In hexadecimal format, the number 0x010203 represents version 1.2.3.
*/
-#define CMARK_VERSION 0x000100
-
-/** Macro containing the library version string for compile time checks.
- */
-#define CMARK_VERSION_STRING "0.1.0"
-
-/** The library version as integer for runtime checks.
- */
CMARK_EXPORT
extern const int cmark_version;
-/** The library version string for runtime checks.
+/** The library version string for runtime checks. Also available as
+ * macro CMARK_VERSION_STRING for compile time checks.
*/
CMARK_EXPORT
extern const char cmark_version_string[];
diff --git a/src/cmark_version.h.in b/src/cmark_version.h.in
new file mode 100644
index 0000000..41de3ac
--- /dev/null
+++ b/src/cmark_version.h.in
@@ -0,0 +1,7 @@
+#ifndef CMARK_VERSION_H
+#define CMARK_VERSION_H
+
+#define CMARK_VERSION ((@PROJECT_VERSION_MAJOR@ << 16) | (@PROJECT_VERSION_MINOR@ << 8) | @PROJECT_VERSION_PATCH@)
+#define CMARK_VERSION_STRING "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@"
+
+#endif