Skip to content

Commit 6eabcb8

Browse files
committed
Expose library version via havalver.h file
1 parent 647c32c commit 6eabcb8

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

include/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ include(TestBigEndian)
22

33
test_big_endian(HAVAL_BIG_ENDIAN)
44

5+
configure_file(havalver.h.in havalver.h @ONLY)
6+
57
add_library(haval INTERFACE)
68

79
if(NOT HAVAL_STANDALONE_BUILD)
@@ -11,6 +13,7 @@ endif()
1113
target_include_directories(haval
1214
INTERFACE
1315
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
16+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
1417
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
1518

1619
target_compile_definitions(haval
@@ -26,5 +29,6 @@ if(HAVAL_ENABLE_INSTALL)
2629
FILES
2730
haval.h
2831
haval.hpp
32+
"${CMAKE_CURRENT_BINARY_DIR}/havalver.h"
2933
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
3034
endif()

include/havalver.h.in

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright (c) 2020, Mike Gelfand
2+
// All rights reserved.
3+
//
4+
// Redistribution and use in source and binary forms, with or without
5+
// modification, are permitted provided that the following conditions are met:
6+
//
7+
// 1. Redistributions of source code must retain the above copyright notice, this
8+
// list of conditions and the following disclaimer.
9+
//
10+
// 2. Redistributions in binary form must reproduce the above copyright notice,
11+
// this list of conditions and the following disclaimer in the documentation
12+
// and/or other materials provided with the distribution.
13+
//
14+
// 3. Neither the name of the copyright holder nor the names of its
15+
// contributors may be used to endorse or promote products derived from
16+
// this software without specific prior written permission.
17+
//
18+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21+
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22+
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23+
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24+
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25+
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26+
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
29+
#pragma once
30+
31+
#define HAVAL_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
32+
#define HAVAL_VERSION_MINOR @PROJECT_VERSION_MINOR@

0 commit comments

Comments
 (0)