diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8536fd1..16d14c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,9 +16,7 @@ jobs: submodules: recursive - name: Cache and install APT packages - uses: awalsh128/cache-apt-pkgs-action@v1 - with: - packages: cmake build-essential + run: sudo apt update && sudo apt install -y cmake build-essential - name: Configure project run: make configure @@ -34,8 +32,4 @@ jobs: - name: Verify installation run: | - ls -la ${{ runner.temp }}/install/lib/ ls -la ${{ runner.temp }}/install/include/ - - - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 71afb50..2d53494 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,22 +1,24 @@ -# Library Configuration include(GNUInstallDirs) + +# Library Configuration add_library(dynamic_array INTERFACE) -target_include_directories(dynamic_array INTERFACE - $ - $ +target_include_directories(dynamic_array INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) +set_target_properties(dynamic_array PROPERTIES PUBLIC_HEADER dynamic_array.h) + + +# 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 /lib + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # Installs static libs to /lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # Installs associated executables to /bin + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # Installs headers to /include ) -# Install the exported target and public header -install(TARGETS dynamic_array) -install(FILES dynamic_array.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - - # Testing add_executable(test_dynamic_array test_dynamic_array.c) target_link_libraries(test_dynamic_array PRIVATE dynamic_array unity::framework) - add_test(NAME test_dynamic_array COMMAND test_dynamic_array) \ No newline at end of file