Make available for FetchContent
This commit is contained in:
parent
6302207a1d
commit
81731c38f4
2 changed files with 36 additions and 8 deletions
|
|
@ -6,26 +6,35 @@ set(CMAKE_C_STANDARD_REQUIRED YES)
|
||||||
set(CMAKE_C_EXTENSIONS NO)
|
set(CMAKE_C_EXTENSIONS NO)
|
||||||
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
file(GLOB HTD_SOURCES
|
file(GLOB HTD_SOURCES
|
||||||
src/data_structure/*.c
|
src/data_structure/*.c
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(htd STATIC ${HTD_SOURCES})
|
add_library(htd STATIC ${HTD_SOURCES})
|
||||||
|
add_library(htd::htd ALIAS htd)
|
||||||
|
|
||||||
target_include_directories(htd PUBLIC
|
target_include_directories(htd PUBLIC
|
||||||
${PROJECT_SOURCE_DIR}/include
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
|
$<INSTALL_INTERFACE:include/htd>
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(htd PRIVATE -Wall -Wextra -Werror -pedantic)
|
target_compile_options(htd PRIVATE -Wall -Wextra -Werror -pedantic)
|
||||||
|
|
||||||
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fsanitize=address")
|
|
||||||
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
|
|
||||||
|
|
||||||
install(TARGETS htd
|
install(TARGETS htd
|
||||||
|
EXPORT htdTargets
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
install(EXPORT htdTargets
|
||||||
|
FILE htdTargets.cmake
|
||||||
|
NAMESPACE htd::
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/htd
|
||||||
|
)
|
||||||
|
|
||||||
install(DIRECTORY include/
|
install(DIRECTORY include/
|
||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/htd
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/htd
|
||||||
FILES_MATCHING PATTERN "*.h"
|
FILES_MATCHING PATTERN "*.h"
|
||||||
|
|
|
||||||
23
README.md
23
README.md
|
|
@ -1,5 +1,24 @@
|
||||||
# Personal library for C
|
# Personal library for C
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
This library can easily be installed using CMake and FetchContent.
|
||||||
|
Add this to your CMakeLists.txt file:
|
||||||
|
|
||||||
|
```cmake
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
htd
|
||||||
|
GIT_REPOSITORY https://github.com/hugomardbrink/htd.git
|
||||||
|
GIT_TAG main
|
||||||
|
)
|
||||||
|
|
||||||
|
FetchContent_MakeAvailable(htd)
|
||||||
|
|
||||||
|
add_executable(myapp main.c)
|
||||||
|
target_link_libraries(myapp PRIVATE htd::htd)
|
||||||
|
```
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
### Primitives
|
### Primitives
|
||||||
Use shorter more concise names for common C types.
|
Use shorter more concise names for common C types.
|
||||||
|
|
@ -37,14 +56,14 @@ cd build
|
||||||
ctest
|
ctest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installing
|
## Local install
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd build
|
cd build
|
||||||
make install
|
make install
|
||||||
```
|
```
|
||||||
|
|
||||||
## Uninstalling
|
## Local uninstall
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd build
|
cd build
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue