feat: dev install

This commit is contained in:
2026-03-27 02:24:37 +01:00
parent 4b80c8aea5
commit 4795e0251e
4 changed files with 35 additions and 4 deletions

View File

@@ -5,18 +5,45 @@ project(
DESCRIPTION "C Libraries for recreational Programming." DESCRIPTION "C Libraries for recreational Programming."
LANGUAGES C) LANGUAGES C)
add_library(c-libs ${PROJECT_SOURCE_DIR}/src/dyn-arr.c) add_library(c-libs ${CMAKE_CURRENT_SOURCE_DIR}/src/dyn-arr.c)
target_include_directories(c-libs PUBLIC "${PROJECT_SOURCE_DIR}/include") target_include_directories(
c-libs PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
include(CTest) include(CTest)
if(BUILD_TESTING) if(BUILD_TESTING)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(CRITERION REQUIRED IMPORTED_TARGET GLOBAL criterion) pkg_check_modules(CRITERION REQUIRED IMPORTED_TARGET GLOBAL criterion)
add_executable(tests test/main.c) add_executable(tests ${CMAKE_CURRENT_SOURCE_DIR}/test/darr.c)
target_link_libraries(tests c-libs PkgConfig::CRITERION) target_link_libraries(tests c-libs PkgConfig::CRITERION)
add_test(NAME all_tests COMMAND tests) add_test(NAME all_tests COMMAND tests)
endif() endif()
install(TARGETS c-libs) # Install Part #################################################################
include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(
TARGETS c-libs
EXPORT c-libs
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)
install(
EXPORT c-libs
FILE c-libsTargets.cmake
NAMESPACE c-lib::
DESTINATION lib/cmake/c-lib)
configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/c-libConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/c-libConfig.cmake
INSTALL_DESTINATION lib/cmake/c-lib)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/c-libConfig.cmake
DESTINATION lib/cmake/c-lib)

3
c-libConfig.cmake.in Normal file
View File

@@ -0,0 +1,3 @@
@PACKAGE_INIT@
include("${CMAKE_CURRENT_LIST_DIR}/c-libTargets.cmake")

View File

@@ -10,6 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
pname = "c-libs"; pname = "c-libs";
version = "0.1.0"; version = "0.1.0";
src = ../.; src = ../.;
outputs = ["out" "dev"];
nativeBuildInputs = [cmake] ++ lib.optional finalAttrs.doCheck pkg-config; nativeBuildInputs = [cmake] ++ lib.optional finalAttrs.doCheck pkg-config;
buildInputs = [] ++ lib.optional finalAttrs.doCheck criterion; buildInputs = [] ++ lib.optional finalAttrs.doCheck criterion;