Skip to content

Commit 392aa69

Browse files
committed
feat: add cmake lists to drivers and kmi
fix: revert unnecesary changes fix: missing .c file
1 parent 7496fa0 commit 392aa69

File tree

15 files changed

+238
-23
lines changed

15 files changed

+238
-23
lines changed

CMakeLists.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,7 @@ if(ENABLE_SNMP)
4949
endif()
5050

5151

52-
# check_type_size(mode_t MODE_T)
53-
# check_type_size(off_t OFF_T)
54-
# check_type_size(size_t SIZE_T)
55-
# check_type_size(ssize_t SSIZE_T)
5652
check_type_size(time_t SIZEOF_TIME_T)
5753
add_compile_definitions(
5854
SIZEOF_TIME_T=${SIZEOF_TIME_T}
5955
)
60-
# check_type_size(uint8_t UINT8_T)
61-
# check_type_size(uint16_t UINT16_T)
62-
# check_type_size(uint32_t UINT32_T)
63-
# check_type_size(uint64_t UINT64_T)
64-
# check_type_size(uint64_t UINT64_T)

messages/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ foreach(NAME IN LISTS MESSAGES_LIBS)
3838
BYPRODUCTS lib${NAME}.a
3939
)
4040

41-
add_library("lib${NAME}" STATIC IMPORTED GLOBAL)
42-
set_target_properties("lib${NAME}" PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/lib${NAME}.a")
41+
add_library("lib${NAME}_messages" STATIC IMPORTED GLOBAL)
42+
set_target_properties("lib${NAME}_messages" PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/lib${NAME}.a")
4343
endforeach()

src/CMakeLists.txt

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# Define the project targets
21
add_executable(ltfs main.c ltfs_fuse.c)
32
target_link_libraries(ltfs
43
Threads::Threads
@@ -17,8 +16,30 @@ target_compile_definitions(ltfs PRIVATE
1716
)
1817

1918
add_subdirectory(libltfs)
19+
add_subdirectory(iosched)
20+
add_subdirectory(kmi)
21+
add_subdirectory(tape_drivers)
22+
add_subdirectory(tape_drivers/generic/file)
23+
add_subdirectory(tape_drivers/generic/itdtimg)
24+
add_subdirectory(utils)
25+
26+
option(ENABLE_LINTAPE "Support IBM's lin_tape driver or not" OFF)
27+
if(ENABLE_LINTAPE)
28+
add_subdirectory(tape_drivers/linux/lin_tape)
29+
endif()
30+
31+
if(LINUX)
32+
add_subdirectory(tape_drivers/linux/sg)
33+
elseif(APPLE)
34+
add_subdirectory(tape_drivers/osx/iokit)
35+
elseif(BSD)
36+
if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
37+
add_subdirectory(tape_drivers/freebsd/cam)
38+
elseif(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
39+
add_subdirectory(tape_drivers/netbsd/scsipi-ibmtape)
40+
endif()
41+
endif()
2042

21-
# NOTE: Is this needed? cmake can add this feature using -DUSE_UNORM2
2243
option(ICU_6X "Force to use ICU6x (unorm2) functions" OFF)
2344
string(REPLACE "." ";" ICU_VERSION_ARRAY ${ICU_VERSION})
2445
list(GET ICU_VERSION_ARRAY 0 ICU_VERSION_MAJOR)

src/iosched/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
set(LIBIOSCHED_FCFS_SRCS fcfs.c)
2+
add_library(libiosched_fcfs SHARED ${LIBIOSCHED_FCFS_SRCS})
3+
target_link_libraries(libiosched_fcfs
4+
PkgConfig::FUSE
5+
libltfs
6+
libiosched_fcfs_messages
7+
)
8+
target_include_directories(libiosched_fcfs BEFORE PUBLIC "..")
9+
10+
set(LIBIOSCHED_UNIFIED_SRCS
11+
unified.c
12+
cache_manager.c
13+
)
14+
add_library(libiosched_unified SHARED ${LIBIOSCHED_UNIFIED_SRCS})
15+
target_link_libraries(libiosched_unified
16+
PkgConfig::FUSE
17+
libltfs
18+
libiosched_unified_messages
19+
)
20+
target_include_directories(libiosched_unified BEFORE PUBLIC "..")

src/kmi/CMakeLists.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
set(LIBKMI_SIMPLE_SRCS
2+
simple.c
3+
key_format_ltfs.c
4+
)
5+
add_library(libkmi_simple SHARED ${LIBKMI_SIMPLE_SRCS})
6+
target_link_libraries(libkmi_simple
7+
PkgConfig::FUSE
8+
libltfs
9+
libkmi_simple_messages
10+
)
11+
target_include_directories(libkmi_simple BEFORE PUBLIC "..")
12+
13+
set(LIBKMI_FLATFILE_SRCS
14+
flatfile.c
15+
key_format_ltfs.c
16+
)
17+
add_library(libkmi_flatfile SHARED ${LIBKMI_FLATFILE_SRCS})
18+
target_link_libraries(libkmi_flatfile
19+
PkgConfig::FUSE
20+
libltfs
21+
libkmi_flatfile_messages
22+
)
23+
target_include_directories(libkmi_flatfile BEFORE PUBLIC "..")

src/libltfs/CMakeLists.txt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
1-
cmake_minimum_required(VERSION 3.20)
2-
project(libltfs,
3-
VERSION 2.5.0.0
4-
)
5-
61
file(GLOB_RECURSE LIBLTFS_SRCS LIST_DIRECTORIES false "*.c")
72
add_library(libltfs SHARED ${LIBLTFS_SRCS})
8-
target_include_directories(libltfs BEFORE PUBLIC ".." )
3+
set_property(TARGET libltfs PROPERTY OUTPUT_NAME ltfs)
4+
target_include_directories(libltfs BEFORE PUBLIC "..")
95

106
target_link_libraries(libltfs
117
Threads::Threads
128
PkgConfig::FUSE
139
LibXml2::LibXml2
1410
PkgConfig::UUID
15-
libbin_ltfs
16-
liblibltfs
17-
libinternal_error
18-
libtape_common
11+
libbin_ltfs_messages
12+
liblibltfs_messages
13+
libinternal_error_messages
14+
libtape_common_messages
1915
)
2016

2117
if(ENABLE_SNMP)

src/tape_drivers/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
set(LIBTAPE_REED_SOLOMON_CRC_SRCS
2+
reed_solomon_crc.c
3+
)
4+
add_library(libtape_reed_solomon_crc SHARED ${LIBTAPE_REED_SOLOMON_CRC_SRCS})
5+
target_link_libraries(libtape_reed_solomon_crc
6+
PkgConfig::FUSE
7+
libltfs
8+
)
9+
10+
set(LIBTAPE_CRC32C_CRC_SRCS
11+
crc32c_crc.c
12+
)
13+
add_library(libtape_crc32c_crc SHARED ${LIBTAPE_CRC32C_CRC_SRCS})
14+
target_link_libraries(libtape_crc32c_crc
15+
PkgConfig::FUSE
16+
libltfs
17+
)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
set(LIBTAPE_CAM_SRCS
2+
cam_cmn.c
3+
cam_tc.c
4+
../../vendor_compat.c
5+
../../ibm_tape.c
6+
../../hp_tape.c
7+
../../quantum_tape.c
8+
)
9+
add_library(libtape_cam SHARED ${LIBTAPE_CAM_SRCS})
10+
target_link_libraries(libtape_cam
11+
PkgConfig::FUSE
12+
libltfs
13+
libtape_freebsd_cam_messages
14+
libtape_reed_solomon_crc
15+
libtape_crc32c_crc
16+
)
17+
target_include_directories(libtape_cam BEFORE PUBLIC "../..")
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set(LIBTAPE_FILE_SRCS
2+
filedebug_tc.c
3+
filedebug_conf_tc.c
4+
../../ibm_tape.c
5+
)
6+
add_library(libtape_file SHARED ${LIBTAPE_FILE_SRCS})
7+
target_link_libraries(libtape_file
8+
PkgConfig::FUSE
9+
libltfs
10+
libtape_generic_file_messages
11+
)
12+
target_include_directories(libtape_file BEFORE PUBLIC "../..")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
set(LIBTAPE_ITDTIMG_SRCS
2+
itdtimg_tc.c
3+
../../ibm_tape.c
4+
)
5+
add_library(libtape_itdtimg SHARED ${LIBTAPE_ITDTIMG_SRCS})
6+
target_link_libraries(libtape_itdtimg
7+
PkgConfig::FUSE
8+
libltfs
9+
libtape_generic_itdtimg_messages
10+
libtape_reed_solomon_crc
11+
libtape_crc32c_crc
12+
)
13+
target_include_directories(libtape_itdtimg BEFORE PUBLIC "../..")

0 commit comments

Comments
 (0)