refactor/better-interface #1

Merged
HideyoshiNakazone merged 3 commits from refactor/better-interface into main 2026-04-15 23:12:03 +00:00
2 changed files with 13 additions and 17 deletions
Showing only changes of commit ff26be2e75 - Show all commits

View File

@@ -16,9 +16,7 @@ jobs:
submodules: recursive submodules: recursive
- name: Cache and install APT packages - name: Cache and install APT packages
uses: awalsh128/cache-apt-pkgs-action@v1 run: sudo apt update && sudo apt install -y cmake build-essential
with:
packages: cmake build-essential
- name: Configure project - name: Configure project
run: make configure run: make configure
@@ -34,8 +32,4 @@ jobs:
- name: Verify installation - name: Verify installation
run: | run: |
ls -la ${{ runner.temp }}/install/lib/
ls -la ${{ runner.temp }}/install/include/ ls -la ${{ runner.temp }}/install/include/

View File

@@ -1,22 +1,24 @@
# Library Configuration
include(GNUInstallDirs) include(GNUInstallDirs)
# Library Configuration
add_library(dynamic_array INTERFACE) add_library(dynamic_array INTERFACE)
target_include_directories(dynamic_array INTERFACE target_include_directories(dynamic_array INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> set_target_properties(dynamic_array PROPERTIES PUBLIC_HEADER dynamic_array.h)
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
# Install the library to a specific directory (e.g., 'lib') relative to the install prefix
install(TARGETS dynamic_array
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # Installs shared libs to <prefix>/lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # Installs static libs to <prefix>/lib
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # Installs associated executables to <prefix>/bin
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # Installs headers to <prefix>/include
) )
# Install the exported target and public header
install(TARGETS dynamic_array)
install(FILES dynamic_array.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
# Testing # Testing
add_executable(test_dynamic_array test_dynamic_array.c) add_executable(test_dynamic_array test_dynamic_array.c)
target_link_libraries(test_dynamic_array PRIVATE dynamic_array unity::framework) target_link_libraries(test_dynamic_array PRIVATE dynamic_array unity::framework)
add_test(NAME test_dynamic_array COMMAND test_dynamic_array) add_test(NAME test_dynamic_array COMMAND test_dynamic_array)