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+
29find_package (ZLIB )
310
411find_package (Threads REQUIRED )
@@ -8,34 +15,35 @@ if(Threads_FOUND)
815endif (Threads_FOUND )
916
1017
11-
12- set (HDF5_USE_STATIC_LIBRARIES ON )
13-
1418if (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 ()
3240else ()
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