File tree Expand file tree Collapse file tree 16 files changed +123
-114
lines changed Expand file tree Collapse file tree 16 files changed +123
-114
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.26)
22project (ltfs
33 LANGUAGES C)
44list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /.cmake" )
5+ set (VERSION "2.5.0.0 (Prelim cmake)" )
56
67include (CheckSymbolExists REQUIRED)
78include (CheckTypeSize REQUIRED)
@@ -31,3 +32,10 @@ endif()
3132
3233add_subdirectory (messages)
3334add_subdirectory (src)
35+
36+ set (prefix ${CMAKE_INSTALL_PREFIX} CACHE INTERNAL "Base installation directory (equivalent to Autotools' prefix)" )
37+ set (exec_prefix ${CMAKE_INSTALL_FULL_BINDIR} CACHE INTERNAL "Directory for architecture-dependent executables (like Autotools' exec_prefix)" )
38+ set (libdir ${CMAKE_INSTALL_FULL_LIBDIR} CACHE INTERNAL "Directory for installing libraries (like Autotools' libdir)" )
39+ set (includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR} CACHE INTERNAL "Directory for installing header files (like Autotools' includedir)" )
40+ set (PACKAGE ${PROJECT_NAME} CACHE INTERNAL "Package name (equivalent to Autotools' PACKAGE)" )
41+ configure_file (ltfs.pc.in ltfs.pc)
Original file line number Diff line number Diff line change 1- # TODO: Make configuration
1+ # TODO: Change how this is done
2+
3+ ${SED} -e "s!__PLATFORM_DRIVERS__!${PLAT_OPT} !" ltfs.conf.in >ltfs.conf.in1
4+ ${SED} -e "s!__LIBDIR__!@libdir@!" ltfs.conf.in1 >ltfs.conf
5+ rm ltfs.conf.in1
6+ mv ltfs.conf ltfs.conf.tmp
7+ ${SED} -e "s!__DEFAULT_TAPE__!$(DEFAULT_TAPE)!" ltfs.conf.tmp >ltfs.conf
8+ mv ltfs.conf ltfs.conf.tmp
9+ ${SED} -e "s!__DEFAULT_IOSCHED__!$(DEFAULT_IOSCHED)!" ltfs.conf.tmp >ltfs.conf
10+ mv ltfs.conf ltfs.conf.tmp
11+ ${SED} -e "s!__DEFAULT_KMI__!$(DEFAULT_KMI)!" ltfs.conf.tmp >ltfs.conf
12+ mv ltfs.conf ltfs.conf.tmp
13+ ${SED} -e "s!__CONFDIR__!@sysconfdir@!" ltfs.conf.tmp >ltfs.conf
14+ rm ltfs.conf.tmp
Original file line number Diff line number Diff line change @@ -20,17 +20,20 @@ set(MESSAGES_LIBS
2020
2121foreach (NAME IN LISTS MESSAGES_LIBS)
2222 file (GLOB SRCS "${NAME} /*.txt" )
23+ make_directory ("${CMAKE_CURRENT_BINARY_DIR} /res_${NAME} " )
2324
2425 # Add the command as a target to be build when all is invoked
25- add_custom_target ("${NAME} .a" ALL
26- ${ICU_GENRB_EXECUTABLE} -q ${SRCS} 1> /dev/null
26+ add_custom_target ("${NAME} _bundle"
27+ COMMAND ${ICU_GENRB_EXECUTABLE} -q ${SRCS} 1> /dev/null
2728 COMMAND ls *.res > paths .txt
2829 COMMAND ${ICU_PKGDATA_EXECUTABLE} -m static -p ${NAME} -q paths .txt 1> /dev/null
2930 COMMAND cp lib${NAME} .a ..
31+ BYPRODUCTS res_${NAME} lib${NAME} .a
3032 WORKING_DIRECTORY res_${NAME}
3133 )
3234
3335 # Define the library as an imported CMake lib
34- add_library ("lib${NAME} _messages" STATIC IMPORTED GLOBAL )
35- set_target_properties ("lib${NAME} _messages" PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR} /lib${NAME} .a" )
36+ add_library ("lib${NAME} " STATIC IMPORTED GLOBAL )
37+ set_target_properties ("lib${NAME} " PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR} /lib${NAME} .a" )
38+ add_dependencies ("lib${NAME} " "${NAME} _bundle" )
3639endforeach ()
Original file line number Diff line number Diff line change 1- add_executable (ltfs main.c ltfs_fuse.c)
2- target_link_libraries (ltfs
1+ add_executable (ltfs_bin main.c ltfs_fuse.c)
2+ target_link_libraries (ltfs_bin
33 Threads::Threads
44 PkgConfig::FUSE
55 LibXml2::LibXml2
66 PkgConfig::UUID
77 ICU::uc
8- libltfs
8+ ltfs
99)
10- target_include_directories (ltfs BEFORE PUBLIC "." )
10+ set_property (TARGET ltfs_bin PROPERTY OUTPUT_NAME ltfs)
11+ target_include_directories (ltfs_bin BEFORE PUBLIC "." )
1112add_compile_definitions (
12- LTFS_CONFIG_FILE="${SYSCONFDIR } /ltfs.conf"
13+ LTFS_CONFIG_FILE="${CMAKE_INSTALL_FULL_SYSCONFDIR } /ltfs.conf"
1314 LTFS_BASE_DIR="${CMAKE_INSTALL_PREFIX} "
14- PACKAGE_VERSION ="${PROJECT_VERSION } "
15+ PACKAGE_VERSION ="${VERSION } "
1516 PACKAGE_NAME="${PROJECT_NAME} "
1617)
1718
Original file line number Diff line number Diff line change 1- set (LIBIOSCHED_FCFS_SRCS fcfs.c)
2- add_library (libiosched_fcfs SHARED ${LIBIOSCHED_FCFS_SRCS} )
3- target_link_libraries (libiosched_fcfs
1+ add_library (iosched_fcfs SHARED fcfs.c)
2+ target_link_libraries (iosched_fcfs
43 PkgConfig::FUSE
5- libltfs
6- libiosched_fcfs_messages
4+ ltfs
5+ libiosched_fcfs
76)
8- target_include_directories (libiosched_fcfs BEFORE PUBLIC ".." )
7+ target_include_directories (iosched_fcfs BEFORE PUBLIC ".." )
98
10- set (LIBIOSCHED_UNIFIED_SRCS
9+ add_library (iosched_unified SHARED
1110 unified.c
1211 cache_manager.c
1312)
14- add_library (libiosched_unified SHARED ${LIBIOSCHED_UNIFIED_SRCS} )
15- target_link_libraries (libiosched_unified
13+ target_link_libraries (iosched_unified
1614 PkgConfig::FUSE
17- libltfs
18- libiosched_unified_messages
15+ ltfs
16+ libiosched_unified
1917)
20- target_include_directories (libiosched_unified BEFORE PUBLIC ".." )
18+ target_include_directories (iosched_unified BEFORE PUBLIC ".." )
Original file line number Diff line number Diff line change 1- set (LIBKMI_SIMPLE_SRCS
1+ add_library (kmi_simple SHARED
22 simple.c
33 key_format_ltfs.c
44)
5- add_library (libkmi_simple SHARED ${LIBKMI_SIMPLE_SRCS} )
6- target_link_libraries (libkmi_simple
5+ target_link_libraries (kmi_simple
76 PkgConfig::FUSE
8- libltfs
9- libkmi_simple_messages
7+ ltfs
8+ libkmi_simple
109)
11- target_include_directories (libkmi_simple BEFORE PUBLIC ".." )
10+ target_include_directories (kmi_simple BEFORE PUBLIC ".." )
1211
13- set (LIBKMI_FLATFILE_SRCS
12+ add_library (kmi_flatfile SHARED
1413 flatfile.c
1514 key_format_ltfs.c
1615)
17- add_library (libkmi_flatfile SHARED ${LIBKMI_FLATFILE_SRCS} )
18- target_link_libraries (libkmi_flatfile
16+ target_link_libraries (kmi_flatfile
1917 PkgConfig::FUSE
20- libltfs
21- libkmi_flatfile_messages
18+ ltfs
19+ libkmi_flatfile
2220)
23- target_include_directories (libkmi_flatfile BEFORE PUBLIC ".." )
21+ target_include_directories (kmi_flatfile BEFORE PUBLIC ".." )
Original file line number Diff line number Diff line change 11file (GLOB_RECURSE LIBLTFS_SRCS LIST_DIRECTORIES false "*.c" )
2- add_library (libltfs SHARED ${LIBLTFS_SRCS} )
3- set_property (TARGET libltfs PROPERTY OUTPUT_NAME ltfs)
4- target_include_directories (libltfs BEFORE PUBLIC ".." )
2+ add_library (ltfs SHARED ${LIBLTFS_SRCS} )
3+ target_include_directories (ltfs BEFORE PUBLIC ".." )
54
6- # TODO: Fix bundle errors.
7- # ICU cannot find the message bundles for some weird reason
8- target_link_libraries (libltfs
5+ target_link_libraries (ltfs
96 Threads::Threads
107 PkgConfig::FUSE
118 LibXml2::LibXml2
129 PkgConfig::UUID
13- libbin_ltfs_messages
14- liblibltfs_messages
15- libinternal_error_messages
16- libtape_common_messages
10+ libbin_ltfs
11+ liblibltfs
12+ libinternal_error
13+ libtape_common
1714)
1815
1916if (ENABLE_SNMP)
20- target_link_libraries (libltfs PkgConfig::SNMP)
17+ target_link_libraries (ltfs PkgConfig::SNMP)
2118endif ()
Original file line number Diff line number Diff line change 1- set (LIBTAPE_REED_SOLOMON_CRC_SRCS
1+ add_library (tape_reed_solomon_crc SHARED
22 reed_solomon_crc.c
33)
4- add_library (libtape_reed_solomon_crc SHARED ${LIBTAPE_REED_SOLOMON_CRC_SRCS} )
5- target_link_libraries (libtape_reed_solomon_crc
4+ target_link_libraries (tape_reed_solomon_crc
65 PkgConfig::FUSE
7- libltfs
6+ ltfs
87)
98
10- set (LIBTAPE_CRC32C_CRC_SRCS
9+ add_library (tape_crc32c_crc SHARED
1110 crc32c_crc.c
1211)
13- add_library (libtape_crc32c_crc SHARED ${LIBTAPE_CRC32C_CRC_SRCS} )
14- target_link_libraries (libtape_crc32c_crc
12+ target_link_libraries (tape_crc32c_crc
1513 PkgConfig::FUSE
16- libltfs
14+ ltfs
1715)
Original file line number Diff line number Diff line change 1- set (LIBTAPE_CAM_SRCS
1+ add_library (tape_cam SHARED
22 cam_cmn.c
33 cam_tc.c
44 ../../vendor_compat.c
55 ../../ibm_tape.c
66 ../../hp_tape.c
77 ../../quantum_tape.c
88)
9- add_library (libtape_cam SHARED ${LIBTAPE_CAM_SRCS} )
10- target_link_libraries (libtape_cam
9+ target_link_libraries (tape_cam
1110 PkgConfig::FUSE
12- libltfs
13- libtape_freebsd_cam_messages
14- libtape_reed_solomon_crc
15- libtape_crc32c_crc
11+ ltfs
12+ libtape_freebsd_cam
13+ tape_reed_solomon_crc
14+ tape_crc32c_crc
1615)
17- target_include_directories (libtape_cam BEFORE PUBLIC "../.." )
16+ target_include_directories (tape_cam BEFORE PUBLIC "../.." )
Original file line number Diff line number Diff line change 1- set (LIBTAPE_FILE_SRCS
1+ add_library (tape_file SHARED
22 filedebug_tc.c
33 filedebug_conf_tc.c
44 ../../ibm_tape.c
55)
6- add_library (libtape_file SHARED ${LIBTAPE_FILE_SRCS} )
7- target_link_libraries (libtape_file
6+ target_link_libraries (tape_file
87 PkgConfig::FUSE
9- libltfs
10- libtape_generic_file_messages
8+ ltfs
9+ libtape_generic_file
1110)
12- target_include_directories (libtape_file BEFORE PUBLIC "../.." )
11+ target_include_directories (tape_file BEFORE PUBLIC "../.." )
You can’t perform that action at this time.
0 commit comments