Skip to content

Commit a902ff1

Browse files
committed
Bump version to 1.1.1 and add CMake config for vcpkg
1 parent de346d6 commit a902ff1

File tree

3 files changed

+53
-7
lines changed

3 files changed

+53
-7
lines changed

CHANGELOG

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
# v1.0.0.2 - 2025-10-21
1+
# v1.1.1 - 2025-11-14
2+
- Updated CMakeLists.txt and added cmake config for vcpkg integration.
3+
- Changed version number to three digits.
4+
5+
# v1.1.0.2 - 2025-10-21
26
- Changed include folder from include/slick_queue to include/slick
37
- Changed slick_queue.h to queue.h
48
- Changed test framework from catch2 to googletest

CMakeLists.txt

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
cmake_minimum_required(VERSION 3.10)
22

3-
set(BUILD_VERSION 1.1.0.2)
4-
53
project(slick_queue
6-
VERSION ${BUILD_VERSION}
4+
VERSION 1.1.1
75
DESCRIPTION "A C++ Lock-Free MPMC queue"
86
LANGUAGES CXX)
97

108
set(CMAKE_CXX_STANDARD 20)
119

1210
add_library(slick_queue INTERFACE)
13-
target_include_directories(slick_queue INTERFACE include)
11+
target_include_directories(slick_queue INTERFACE
12+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
13+
$<INSTALL_INTERFACE:include>
14+
)
1415

1516
if(UNIX AND NOT APPLE)
1617
target_link_libraries(slick_queue INTERFACE rt atomic)
@@ -28,7 +29,43 @@ endif()
2829
# Installation rules
2930
install(DIRECTORY include/ DESTINATION include)
3031

31-
message(STATUS "slick_queue: ${BUILD_VERSION}")
32+
# Generate and install CMake config files for vcpkg compatibility
33+
include(CMakePackageConfigHelpers)
34+
35+
# Create the config file
36+
configure_package_config_file(
37+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/slick_queueConfig.cmake.in"
38+
"${CMAKE_CURRENT_BINARY_DIR}/slick_queueConfig.cmake"
39+
INSTALL_DESTINATION lib/cmake/slick_queue
40+
)
41+
42+
# Create the version file
43+
write_basic_package_version_file(
44+
"${CMAKE_CURRENT_BINARY_DIR}/slick_queueConfigVersion.cmake"
45+
VERSION ${PROJECT_VERSION}
46+
COMPATIBILITY SameMajorVersion
47+
)
48+
49+
# Install the config files
50+
install(FILES
51+
"${CMAKE_CURRENT_BINARY_DIR}/slick_queueConfig.cmake"
52+
"${CMAKE_CURRENT_BINARY_DIR}/slick_queueConfigVersion.cmake"
53+
DESTINATION lib/cmake/slick_queue
54+
)
55+
56+
# Install the target
57+
install(TARGETS slick_queue
58+
EXPORT slick_queueTargets
59+
)
60+
61+
# Install the export set
62+
install(EXPORT slick_queueTargets
63+
FILE slick_queueTargets.cmake
64+
NAMESPACE slick::
65+
DESTINATION lib/cmake/slick_queue
66+
)
67+
68+
message(STATUS "slick_queue: ${PROJECT_VERSION}")
3269

3370
# Automatically run install after build in Release mode
3471
if(CMAKE_BUILD_TYPE STREQUAL "Release")
@@ -46,7 +83,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
4683

4784
if (PROJECT_IS_TOP_LEVEL)
4885
add_custom_target(package_slick_queue ALL
49-
COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_BINARY_DIR}/dist/slick_queue_${BUILD_VERSION}.zip" --format=zip "${CMAKE_CURRENT_SOURCE_DIR}/include"
86+
COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_BINARY_DIR}/dist/slick_queue_${PROJECT_VERSION}.zip" --format=zip "${CMAKE_CURRENT_SOURCE_DIR}/include"
5087
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
5188
COMMENT "Creating zip archive"
5289
)

cmake/slick_queueConfig.cmake.in

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@PACKAGE_INIT@
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/slick_queueTargets.cmake")
4+
5+
check_required_components(slick_queue)

0 commit comments

Comments
 (0)