feat: dev install
This commit is contained in:
@@ -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
3
c-libConfig.cmake.in
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/c-libTargets.cmake")
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user