Skip to content

Commit dcab025

Browse files
Copilotsean-parent
andauthored
test and harden standalone setup version resolution
Agent-Logs-Url: https://github.com/stlab/cpp-library/sessions/3f8652a3-2a74-48f7-94f1-7102987d4f18 Co-authored-by: sean-parent <2279724+sean-parent@users.noreply.github.com>
1 parent b756671 commit dcab025

2 files changed

Lines changed: 25 additions & 2 deletions

File tree

setup.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ if(NOT CPP_LIBRARY_VERSION)
4949
OUTPUT_VARIABLE CPP_LIBRARY_REMOTE_TAGS
5050
OUTPUT_STRIP_TRAILING_WHITESPACE
5151
ERROR_QUIET
52+
TIMEOUT 10
5253
)
5354
extract_latest_cpp_library_version_from_tags("${CPP_LIBRARY_REMOTE_TAGS}" CPP_LIBRARY_VERSION)
5455
endif()

tests/setup/test_setup_version_resolution.cmake

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,35 @@
66

77
cmake_minimum_required(VERSION 3.20)
88

9-
set(TEST_ROOT_DIR "/tmp/cpp-library-setup-version-test")
9+
if(DEFINED ENV{TMPDIR} AND NOT "$ENV{TMPDIR}" STREQUAL "")
10+
set(TEST_BASE_DIR "$ENV{TMPDIR}")
11+
elseif(DEFINED ENV{TEMP} AND NOT "$ENV{TEMP}" STREQUAL "")
12+
set(TEST_BASE_DIR "$ENV{TEMP}")
13+
elseif(DEFINED ENV{TMP} AND NOT "$ENV{TMP}" STREQUAL "")
14+
set(TEST_BASE_DIR "$ENV{TMP}")
15+
else()
16+
set(TEST_BASE_DIR "${CMAKE_CURRENT_BINARY_DIR}")
17+
endif()
18+
19+
set(TEST_ROOT_DIR "${TEST_BASE_DIR}/cpp-library-setup-version-test")
1020
set(TEST_PROJECT_NAME "setup-version-test-lib")
1121

1222
file(REMOVE_RECURSE "${TEST_ROOT_DIR}")
1323
file(MAKE_DIRECTORY "${TEST_ROOT_DIR}")
1424
file(COPY "${CMAKE_CURRENT_LIST_DIR}/../../setup.cmake" DESTINATION "${TEST_ROOT_DIR}")
1525

1626
execute_process(
17-
COMMAND ${CMAKE_COMMAND} -P setup.cmake -- --name=${TEST_PROJECT_NAME} --namespace=testns --description=test --header-only=yes --examples=no --tests=no
27+
COMMAND
28+
${CMAKE_COMMAND}
29+
-P
30+
setup.cmake
31+
--
32+
--name=${TEST_PROJECT_NAME}
33+
--namespace=testns
34+
--description=test
35+
--header-only=yes
36+
--examples=no
37+
--tests=no
1838
WORKING_DIRECTORY "${TEST_ROOT_DIR}"
1939
RESULT_VARIABLE SETUP_RESULT
2040
OUTPUT_VARIABLE SETUP_OUTPUT
@@ -41,3 +61,5 @@ if(NOT GENERATED_CONTENT MATCHES "CPMAddPackage\\(\"gh:stlab/cpp-library@([0-9]+
4161
endif()
4262

4363
message(STATUS "✓ setup.cmake generated a valid cpp-library version reference")
64+
65+
file(REMOVE_RECURSE "${TEST_ROOT_DIR}")

0 commit comments

Comments
 (0)