Skip to content

Commit 6361c81

Browse files
committed
Added CMake building, CPack packaging and Doxygen documenting.
The repo was reorganized a bit.
1 parent 0afa7b3 commit 6361c81

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+407
-27
lines changed

.gitmodules

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[submodule "cmake/thirdParty/Boilerplate"]
2+
path = cmake/thirdParty/Boilerplate
3+
url = https://github.com/KOLANICH-libs/Boilerplate.cmake
4+
branch = master
5+
shallow = true
6+
7+
[submodule "cmake/thirdParty/DoxygenUtils"]
8+
path = cmake/thirdParty/DoxygenUtils
9+
url = https://github.com/KOLANICH-libs/DoxygenUtils.cmake
10+
branch = master
11+
shallow = true
12+
13+
[submodule "cmake/thirdParty/DetectDependentHeaders"]
14+
path = cmake/thirdParty/DetectDependentHeaders
15+
url = https://github.com/KOLANICH-libs/DetectDependentHeaders.cmake
16+
branch = master
17+
shallow = true

C/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
add_subdirectory("include")
2+
3+
set(C_SUBLIBS "knetfile;bgzf;kalloc;keigen;kexpr;khmm;kmath;knhx;kson;kstring;ksw;kthread;kurl;kopen;ksa") # order matters!
4+
5+
foreach(C_SUBLIB ${C_SUBLIBS})
6+
add_subdirectory("${C_SUBLIB}")
7+
endforeach()
8+
9+
pass_through_cpack_vars()

C/bgzf/CMakeLists.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
buildAndPackageLib("bzgf"
2+
COMPONENT "bzgf"
3+
DESCRIPTION "${PROJECT_DESCRIPTION}\n\nSomething related to compression."
4+
CMAKE_EXPORT_NAMESPACE "${PROJECT_NAME}"
5+
PUBLIC_INCLUDES "${CMAKE_CURRENT_LIST_DIR}"
6+
INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}"
7+
)
8+
9+
option(BGZF_WITH_CACHE "Enable caching in bzgf" ON)
10+
if(BGZF_WITH_CACHE)
11+
target_compile_definitions(bzgf PRIVATE "-DBGZF_CACHE") #khash is header-only
12+
target_link_libraries(bzgf PRIVATE "${PROJECT_NAME}")
13+
endif()
14+
15+
option(BGZF_WITH_KNETFILE "Use knetfile in bzgf" OFF)
16+
if(BGZF_WITH_KNETFILE)
17+
target_compile_definitions(bzgf PRIVATE "-D_USE_KNETFILE")
18+
target_link_libraries(bzgf PRIVATE knetfile)
19+
set(CPACK_COMPONENT_BGZF_DEPENDS "${CPACK_COMPONENT_BGZF_DEPENDS};knetfile")
20+
21+
list(APPEND CPACK_DEBIAN_BZGF_PACKAGE_DEPENDS "${CPACK_DEBIAN_KNETFILE_PACKAGE_NAME}")
22+
string(REPLACE ";" ", " CPACK_DEBIAN_BZGF_PACKAGE_DEPENDS "${CPACK_DEBIAN_BZGF_PACKAGE_DEPENDS}")
23+
set(CPACK_DEBIAN_BZGF_PACKAGE_DEPENDS "${CPACK_DEBIAN_BZGF_PACKAGE_DEPENDS}" PARENT_SCOPE)
24+
25+
list(APPEND CPACK_RPM_BZGF_PACKAGE_DEPENDS "${CPACK_RPM_KNETFILE_PACKAGE_NAME}")
26+
string(REPLACE ";" ", " CPACK_RPM_BZGF_PACKAGE_DEPENDS "${CPACK_RPM_BZGF_PACKAGE_DEPENDS}")
27+
set(CPACK_RPM_BZGF_PACKAGE_DEPENDS "${CPACK_RPM_BZGF_PACKAGE_DEPENDS}" PARENT_SCOPE)
28+
29+
pass_through_cpack_vars()
30+
endif()
File renamed without changes.
File renamed without changes.

C/include/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
buildAndPackageLib("${PROJECT_NAME}"
2+
COMPONENT "headers"
3+
DESCRIPTION "${PROJECT_DESCRIPTION}\n\nHeader-only libraries"
4+
CMAKE_EXPORT_NAMESPACE "${PROJECT_NAME}"
5+
PUBLIC_INCLUDES "${CMAKE_CURRENT_LIST_DIR}"
6+
INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}"
7+
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)