Something went wrong on our end
-
Rafal Gumienny authoredRafal Gumienny authored
CMakeLists.txt 2.38 KiB
add_subdirectory(mol)
add_subdirectory(seq)
add_subdirectory(img)
set(OST_IO_HEADERS
binary_data_sink.hh
io_manager.hh
binary_data_source.hh
module_config.hh
container_serialization.hh
swap_util.hh
io_utils.hh
io_exception.hh
convert.hh
converting_streams.hh
formatted_line.hh
)
set(OST_IO_SOURCES
io_manager.cc
convert.cc
io_utils.cc
)
if (WIN32)
set(OST_IO_SOURCES ${OST_IO_SOURCES} zlib.cpp gzip.cpp)
endif(WIN32)
foreach(fname ${OST_IO_MOL_SOURCES})
set(OST_IO_SOURCES ${OST_IO_SOURCES} mol/${fname})
endforeach(fname ${OST_IO_MOL_SOURCES})
foreach(fname ${OST_IO_SEQ_SOURCES})
set(OST_IO_SOURCES ${OST_IO_SOURCES} seq/${fname})
endforeach(fname ${OST_IO_SEQ_SOURCES})
if (ENABLE_IMG)
foreach(fname ${OST_IO_IMG_SOURCES})
set(OST_IO_SOURCES ${OST_IO_SOURCES} img/${fname})
endforeach(fname ${OST_IO_IMG_SOURCES})
endif()
####################################
# Add headers in subfolders (additionally) to OST_IO_HEADERS.
# In the end, we will have two copies (!) of each header in the subfolders.
# One copy in ost/io/<SUB> and one in ost/io.
# As it's silly to have duplicate headers, this behavior might be removed in the
# future. So please always include the headers in the subfolders.
# (e.g. use "#include <ost/io/mol/load_entity.hh>"
# instead of #include <ost/io/load_entity.hh>)
# For compatibility reasons, we keep it for now (dates back to 2010).
foreach(fname ${OST_IO_MOL_HEADERS})
set(OST_IO_HEADERS ${OST_IO_HEADERS} mol/${fname})
endforeach(fname ${OST_IO_MOL_HEADERS})
foreach(fname ${OST_IO_SEQ_HEADERS})
set(OST_IO_HEADERS ${OST_IO_HEADERS} seq/${fname})
endforeach(fname ${OST_IO_SEQ_HEADERS})
if (ENABLE_IMG)
foreach(fname ${OST_IO_IMG_HEADERS})
set(OST_IO_HEADERS ${OST_IO_HEADERS} img/${fname})
endforeach(fname ${OST_IO_IMG_HEADERS})
endif()
####################################
set(OST_IO_DEPENDENCIES ost_base;ost_conop;ost_seq;ost_mol_alg)
if (ENABLE_IMG)
set(OST_IO_DEPENDENCIES ${OST_IO_DEPENDENCIES};ost_img;ost_img_alg)
endif()
module(NAME io SOURCES "${OST_IO_SOURCES}"
HEADERS ${OST_IO_MOL_HEADERS} IN_DIR mol
${OST_IO_IMG_HEADERS} IN_DIR img
${OST_IO_SEQ_HEADERS} IN_DIR seq
${OST_IO_HEADERS}
DEPENDS_ON ${OST_IO_DEPENDENCIES})
target_link_libraries(ost_io ${BOOST_IOSTREAM_LIBRARIES})
if (ENABLE_IMG)
target_link_libraries(ost_io ${TIFF_LIBRARIES} ${PNG_LIBRARIES})
endif()