Skip to content

Commit 7d9a792

Browse files
committed
Make HDF5 optional via TLD_USE_HDF5 option
1 parent ba1b5fa commit 7d9a792

1 file changed

Lines changed: 26 additions & 45 deletions

File tree

src/CMakeLists.txt

Lines changed: 26 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
find_package(HDF5 REQUIRED COMPONENTS C HL)
1+
# Option to enable/disable HDF5 support
2+
option(TLD_USE_HDF5 "Enable HDF5 support" ON)
3+
4+
if(TLD_USE_HDF5)
5+
find_package(HDF5 REQUIRED COMPONENTS C HL)
6+
set(HDF5_USE_STATIC_LIBRARIES ON)
7+
endif()
8+
29
find_package(ZLIB)
310

411
find_package(Threads REQUIRED)
@@ -8,34 +15,35 @@ if(Threads_FOUND)
815
endif(Threads_FOUND)
916

1017

11-
12-
set(HDF5_USE_STATIC_LIBRARIES ON)
13-
1418
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/tld-seq-tables.h)
1519
#add some compilation flags
16-
20+
1721
add_library(tld-dev STATIC
1822
tld.c
1923
${CMAKE_CURRENT_BINARY_DIR}/tld-seq-tables.h
2024
)
2125

22-
26+
2327

2428
target_include_directories(tld-dev
2529
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
2630
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
2731
)
2832

29-
target_link_libraries(tld-dev PRIVATE m ZLIB::ZLIB Threads::Threads ${HDF5_C_LIBRARIES})
30-
# list(APPEND INCLUDE_LIST ${HDF5_C_INCLUDE_DIRS})
31-
target_include_directories(tld-dev PUBLIC ${HDF5_C_INCLUDE_DIRS})
33+
if(TLD_USE_HDF5)
34+
target_link_libraries(tld-dev PRIVATE m ZLIB::ZLIB Threads::Threads ${HDF5_C_LIBRARIES})
35+
target_include_directories(tld-dev PUBLIC ${HDF5_C_INCLUDE_DIRS})
36+
else()
37+
target_link_libraries(tld-dev PRIVATE m ZLIB::ZLIB Threads::Threads)
38+
target_compile_definitions(tld-dev PRIVATE BOOT)
39+
endif()
3240
else()
3341
add_library(boot STATIC
3442
tld.c
3543
)
3644
target_compile_options(boot PRIVATE -DBOOT)
3745
target_link_libraries(boot PRIVATE m ZLIB::ZLIB Threads::Threads)
38-
46+
3947
add_executable(gentable
4048
gentables.c
4149
)
@@ -48,49 +56,22 @@ else()
4856
DEPENDS gentable
4957
)
5058

51-
# add_custom_target(mktable
52-
# # OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/seq/tld-seq-tables.h
53-
# COMMAND gentable ${CMAKE_CURRENT_BINARY_DIR}/tld-seq-tables.h
54-
# DEPENDS gentable
55-
# )
56-
57-
#find_package(HDF5 REQUIRED COMPONENTS C HL)
58-
#find_package(ZLIB)
59-
60-
#set(HDF5_USE_STATIC_LIBRARIES ON)
61-
6259
add_library(tld-dev STATIC
6360
tld.c
6461
${CMAKE_CURRENT_BINARY_DIR}/tld-seq-tables.h
6562
)
66-
# add_dependencies(tld-dev mktable)
6763

6864
target_include_directories(tld-dev
6965
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
7066
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
7167
)
7268

73-
target_link_libraries(tld-dev PRIVATE m ZLIB::ZLIB Threads::Threads ${HDF5_C_LIBRARIES})
74-
# list(APPEND INCLUDE_LIST ${HDF5_C_INCLUDE_DIRS})
75-
target_include_directories(tld-dev PUBLIC ${HDF5_C_INCLUDE_DIRS})
76-
77-
endif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/tld-seq-tables.h)
78-
69+
if(TLD_USE_HDF5)
70+
target_link_libraries(tld-dev PRIVATE m ZLIB::ZLIB Threads::Threads ${HDF5_C_LIBRARIES})
71+
target_include_directories(tld-dev PUBLIC ${HDF5_C_INCLUDE_DIRS})
72+
else()
73+
target_link_libraries(tld-dev PRIVATE m ZLIB::ZLIB Threads::Threads)
74+
target_compile_definitions(tld-dev PRIVATE BOOT)
75+
endif()
7976

80-
81-
82-
83-
84-
# target_compile_definitions(tld-dev INTERFACE ${HDF5_DEFINITIONS})
85-
86-
87-
# if(HDF5_FOUND)
88-
# message(STATUS "HDF5 was found")
89-
# set_target_properties(tld-dev PROPERTIES COMPILE_FLAGS "-DHAVE_HDF5")
90-
91-
# endif()
92-
93-
94-
95-
96-
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
77+
endif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/tld-seq-tables.h)

0 commit comments

Comments
 (0)