Skip to content

Commit d1cee04

Browse files
committed
build(c): Package as an installable target
1 parent 67554d7 commit d1cee04

3 files changed

Lines changed: 26 additions & 22 deletions

File tree

testcontainers-c/CMakeLists.txt

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,30 @@ add_library(${TARGET} SHARED
77
src/container.c
88
)
99

10-
target_sources(${TARGET}
11-
PUBLIC FILE_SET HEADERS
12-
BASE_DIRS include
13-
FILES include/testcontainers-c/container.h
10+
target_include_directories(${TARGET} PUBLIC
11+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
12+
$<INSTALL_INTERFACE:include>
1413
)
1514

1615
target_link_libraries(${TARGET} PRIVATE testcontainers-bridge)
1716

18-
configure_file(cmake.pc.in ${TARGET}.pc @ONLY)
19-
install(FILES ${SHIM_TARGET_LIB}
20-
DESTINATION ${CMAKE_INSTALL_LIBDIR})
21-
install(FILES ${SHIM_TARGET_HEADER}
22-
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
23-
install(FILES ${CMAKE_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
17+
install(TARGETS ${TARGET} EXPORT ${TARGET}Targets)
18+
install(FILES $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> DESTINATION include)
19+
20+
include(CMakePackageConfigHelpers)
21+
configure_package_config_file(
22+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/${TARGET}Config.cmake.in
23+
${CMAKE_CURRENT_BINARY_DIR}/${TARGET}Config.cmake
24+
INSTALL_DESTINATION lib/cmake/${TARGET}
25+
)
26+
27+
install(EXPORT ${TARGET}Targets
28+
FILE ${TARGET}Config.cmake
29+
NAMESPACE testcontainers-native::
30+
DESTINATION lib/cmake/${TARGET}
31+
)
32+
33+
install(FILES
34+
${CMAKE_CURRENT_BINARY_DIR}/${TARGET}Config.cmake
35+
DESTINATION lib/cmake/${TARGET}
36+
)

testcontainers-c/cmake.pc.in

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@PACKAGE_INIT@
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/testcontainers-cTargets.cmake")

0 commit comments

Comments
 (0)