mirror of
https://github.com/aaru-dps/fstester.git
synced 2025-12-16 19:24:39 +00:00
Rework CMakeLists.txt so project is compiled without intermediary libraries.
This commit is contained in:
@@ -22,15 +22,77 @@
|
|||||||
# Copyright (C) 2011-2021 Natalia Portillo
|
# Copyright (C) 2011-2021 Natalia Portillo
|
||||||
# *****************************************************************************/
|
# *****************************************************************************/
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.20)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
project(setter C)
|
project(fssetter-test
|
||||||
|
DESCRIPTION "Filesystem test creator"
|
||||||
|
LANGUAGES C)
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD 90)
|
set(CMAKE_C_STANDARD 90)
|
||||||
|
|
||||||
message("Detected system name: ${CMAKE_SYSTEM_NAME}")
|
message("Detected system name: ${CMAKE_SYSTEM_NAME}")
|
||||||
message("Detected system processor: ${CMAKE_SYSTEM_PROCESSOR}")
|
message("Detected system processor: ${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
|
|
||||||
|
# It's best to hide all the details of setting up the variable SRCS in a CMake
|
||||||
|
# macro. The macro can then be called in all the project CMake list files to add
|
||||||
|
# sources.
|
||||||
|
#
|
||||||
|
# The macro first computes the path of the source file relative to the project
|
||||||
|
# root for each argument. If the macro is invoked from inside a project sub
|
||||||
|
# directory the new value of the variable SRCS needs to be propagated to the
|
||||||
|
# parent folder by using the PARENT_SCOPE option.
|
||||||
|
#
|
||||||
|
# Source: http://stackoverflow.com/questions/7046956/populating-srcs-from-cmakelists-txt-in-subdirectories
|
||||||
|
macro(add_sources)
|
||||||
|
file(RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
foreach(_src ${ARGN})
|
||||||
|
if(_relPath)
|
||||||
|
list(APPEND SRCS "${_relPath}/${_src}")
|
||||||
|
else()
|
||||||
|
list(APPEND SRCS "${_src}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
if(_relPath)
|
||||||
|
# propagate to parent directory
|
||||||
|
set(SRCS ${SRCS} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
# Based on add_sources() but to add compiler definitions
|
||||||
|
macro(add_sub_definitions)
|
||||||
|
file(RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
foreach(_def ${ARGN})
|
||||||
|
list(APPEND PRJ_DEFINITIONS "${_def}")
|
||||||
|
endforeach()
|
||||||
|
if(_relPath)
|
||||||
|
# propagate to parent directory
|
||||||
|
set(PRJ_DEFINITIONS ${PRJ_DEFINITIONS} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
# Based on add_sources() but to add libraries
|
||||||
|
macro(add_sub_libraries)
|
||||||
|
file(RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
foreach(_lib ${ARGN})
|
||||||
|
list(APPEND PRJ_LIBRARIES "${_lib}")
|
||||||
|
endforeach()
|
||||||
|
if(_relPath)
|
||||||
|
# propagate to parent directory
|
||||||
|
set(PRJ_LIBRARIES ${PRJ_LIBRARIES} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
add_compile_definitions(${PRJ_DEFINITIONS})
|
||||||
|
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Retro68|RetroPPC")
|
||||||
|
add_application(${EXECUTABLE_NAME} ${SRCS})
|
||||||
|
else()
|
||||||
|
add_executable(${EXECUTABLE_NAME} ${SRCS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(${EXECUTABLE_NAME} ${PRJ_LIBRARIES})
|
||||||
|
|
||||||
|
|||||||
@@ -22,14 +22,19 @@
|
|||||||
# Copyright (C) 2011-2021 Natalia Portillo
|
# Copyright (C) 2011-2021 Natalia Portillo
|
||||||
# *****************************************************************************/
|
# *****************************************************************************/
|
||||||
|
|
||||||
set(MAIN_SOURCES main.c main.h log.c log.h)
|
|
||||||
|
|
||||||
add_library(core ${MAIN_SOURCES})
|
|
||||||
|
|
||||||
add_subdirectory(macos)
|
add_subdirectory(macos)
|
||||||
add_subdirectory(dos)
|
add_subdirectory(dos)
|
||||||
add_subdirectory(win32)
|
add_subdirectory(win32)
|
||||||
add_subdirectory(unix)
|
add_subdirectory(unix)
|
||||||
add_subdirectory(beos)
|
add_subdirectory(beos)
|
||||||
add_subdirectory(amiga)
|
add_subdirectory(amiga)
|
||||||
add_subdirectory(os2)
|
add_subdirectory(os2)
|
||||||
|
|
||||||
|
# This must be after all directories
|
||||||
|
add_sources(main.c main.h log.c log.h)
|
||||||
|
|
||||||
|
# Even if empty it needs to be present
|
||||||
|
add_sub_definitions()
|
||||||
|
|
||||||
|
# Even if empty it needs to be present
|
||||||
|
add_sub_libraries()
|
||||||
|
|||||||
@@ -26,18 +26,7 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "AmigaOS|MorphOS" AND NOT AROS)
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(
|
add_sub_definitions(__USE_INLINE__)
|
||||||
fssetter-amiga
|
add_sub_definitions(__USE_BASETYPE__)
|
||||||
DESCRIPTION "Filesystem test creator for AmigaOS and compatibles"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
add_definitions(-D__USE_INLINE__)
|
add_sources(attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c perms.h rsrcfork.c sparse.c time.c time.h volume.c xattr.c)
|
||||||
add_definitions(-D__USE_BASETYPE__)
|
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c perms.h rsrcfork.c sparse.c time.c time.h volume.c xattr.c)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core)
|
|
||||||
|
|||||||
@@ -26,15 +26,4 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "BeOS|Haiku")
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(
|
add_sources(attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c perms.h rsrcfork.c sparse.c time.c time.h volume.c volume.h xattr.c xattr.h)
|
||||||
fssetter-beos
|
|
||||||
DESCRIPTION "Filesystem test creator for BeOS and Haiku"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c perms.h rsrcfork.c sparse.c time.c time.h volume.c volume.h xattr.c xattr.h)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core)
|
|
||||||
|
|||||||
@@ -26,14 +26,4 @@ if(NOT DOS)
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(fssetter-dos
|
add_sources(attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c dostime.h time.c volume.c xattr.c dos.c attr.h dosuname.c dosuname.h dosdefs.h djgpp.c)
|
||||||
DESCRIPTION "Filesystem test creator for DOS"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c dostime.h time.c volume.c xattr.c dos.c attr.h dosuname.c dosuname.h dosdefs.h djgpp.c)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core)
|
|
||||||
|
|||||||
@@ -29,13 +29,8 @@ endif()
|
|||||||
include(CheckIncludeFiles)
|
include(CheckIncludeFiles)
|
||||||
include(CheckSymbolExists)
|
include(CheckSymbolExists)
|
||||||
|
|
||||||
project(
|
add_sub_definitions(macintosh)
|
||||||
fssetter-macos
|
add_sub_definitions(Retro68)
|
||||||
DESCRIPTION "Filesystem test creator for MacOS"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
add_definitions(-Dmacintosh)
|
|
||||||
add_definitions(-DRetro68)
|
|
||||||
|
|
||||||
CHECK_INCLUDE_FILES("Aliases.h" HAVE_ALIASES_H)
|
CHECK_INCLUDE_FILES("Aliases.h" HAVE_ALIASES_H)
|
||||||
CHECK_INCLUDE_FILES("FileTypesAndCreators.h" HAVE_FILE_TYPES_AND_CREATORS_H)
|
CHECK_INCLUDE_FILES("FileTypesAndCreators.h" HAVE_FILE_TYPES_AND_CREATORS_H)
|
||||||
@@ -43,33 +38,25 @@ CHECK_INCLUDE_FILES("Multiverse.h" HAVE_MULTIVERSE_H)
|
|||||||
CHECK_SYMBOL_EXISTS(PBXGetVolInfo Files.h HAVE_PBXGETVOLINFO)
|
CHECK_SYMBOL_EXISTS(PBXGetVolInfo Files.h HAVE_PBXGETVOLINFO)
|
||||||
|
|
||||||
if(HAVE_ALIASES_H)
|
if(HAVE_ALIASES_H)
|
||||||
add_definitions(-DHAVE_ALIASES_H)
|
add_sub_definitions(HAVE_ALIASES_H)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_FILE_TYPES_AND_CREATORS_H)
|
if(HAVE_FILE_TYPES_AND_CREATORS_H)
|
||||||
add_definitions(-DHAVE_FILE_TYPES_AND_CREATORS_H)
|
add_sub_definitions(HAVE_FILE_TYPES_AND_CREATORS_H)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_MULTIVERSE_H)
|
if(HAVE_MULTIVERSE_H)
|
||||||
add_definitions(-DHAVE_MULTIVERSE_H)
|
add_sub_definitions(HAVE_MULTIVERSE_H)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT HAVE_PBXGETVOLINFO)
|
if(NOT HAVE_PBXGETVOLINFO)
|
||||||
add_definitions(-DNO_PBXGETVOLINFO)
|
add_sub_definitions(NO_PBXGETVOLINFO)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c macos.h macos.r retro68.h attr.h time.h rsrcfork.h links.h)
|
add_sources(attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c macos.h macos.r retro68.h attr.h time.h rsrcfork.h links.h)
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Retro68")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Retro68")
|
||||||
set(PROCESSOR "m68k")
|
set(PROCESSOR "m68k")
|
||||||
else()
|
else()
|
||||||
set(PROCESSOR "ppc")
|
set(PROCESSOR "ppc")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-macos-${PROCESSOR}")
|
|
||||||
|
|
||||||
#add_application(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
#target_link_libraries(${EXECUTABLE_NAME} core)
|
|
||||||
|
|
||||||
add_application(${EXECUTABLE_NAME} ../main.c ../log.c ${PLATFORM_SOURCES})
|
|
||||||
@@ -26,14 +26,4 @@ if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "I86")
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(fssetter-os2
|
add_sources(os.c xattr.c xattr.h)
|
||||||
DESCRIPTION "Filesystem test creator for 16-bit OS/2"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(SUBPLATFORM_SOURCES os.c xattr.c xattr.h)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${SUBPLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core platform)
|
|
||||||
|
|||||||
@@ -26,16 +26,4 @@ if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386|X86")
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(fssetter-os2
|
add_sources(os.c xattr.c)
|
||||||
DESCRIPTION "Filesystem test creator for 32-bit OS/2"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(SUBPLATFORM_SOURCES os.c xattr.c)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter32")
|
|
||||||
|
|
||||||
find_library(OS2LIB "os2386")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${SUBPLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core platform)
|
|
||||||
|
|||||||
@@ -26,10 +26,7 @@ if(NOT OS2)
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c attr.h deleted.c dirdepth.c filename.c files.c frag.c links.c os2defs.h perms.c rsrcfork.c sparse.c time.c volume.c)
|
|
||||||
|
|
||||||
add_library(platform ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
add_subdirectory(16bit)
|
add_subdirectory(16bit)
|
||||||
add_subdirectory(32bit)
|
add_subdirectory(32bit)
|
||||||
|
|
||||||
|
add_sources(attr.c attr.h deleted.c dirdepth.c filename.c files.c frag.c links.c os2defs.h perms.c rsrcfork.c sparse.c time.c volume.c)
|
||||||
|
|||||||
@@ -36,21 +36,22 @@ CHECK_SYMBOL_EXISTS(statvfs "sys/statvfs.h" HAVE_SYS_STATVFS)
|
|||||||
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||||
message("-- Forcing statfs in sys/mount.h due to OpenBSD")
|
message("-- Forcing statfs in sys/mount.h due to OpenBSD")
|
||||||
add_definitions(-DHAVE_SYS_MOUNT_H)
|
add_sub_definitions(HAVE_SYS_MOUNT_H)
|
||||||
add_definitions(-DNEED_SYS_TYPES_H)
|
add_sub_definitions(NEED_SYS_TYPES_H)
|
||||||
set(HAVE_STATFS_FTYPENAME 1)
|
set(HAVE_STATFS_FTYPENAME 1)
|
||||||
set(HAVE_STATFS_NAMEMAX 1)
|
set(HAVE_STATFS_NAMEMAX 1)
|
||||||
# Linux and FreeBSD
|
# Linux and FreeBSD
|
||||||
elseif(HAVE_SYS_STATFS)
|
elseif(HAVE_SYS_STATFS)
|
||||||
message("-- Found statfs in sys/statfs.h")
|
message("-- Found statfs in sys/statfs.h")
|
||||||
add_definitions(-DHAVE_SYS_STATFS_H)
|
add_sub_definitions(HAVE_SYS_STATFS_H)
|
||||||
|
add_sub_definitions(TEST)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namelen" "sys/statfs.h" HAVE_STATFS_FNAMELEN)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namelen" "sys/statfs.h" HAVE_STATFS_FNAMELEN)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_fstypename" "sys/statfs.h" HAVE_STATFS_FTYPENAME)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_fstypename" "sys/statfs.h" HAVE_STATFS_FTYPENAME)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namemax" "sys/statfs.h" HAVE_STATFS_NAMEMAX)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namemax" "sys/statfs.h" HAVE_STATFS_NAMEMAX)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_type" "sys/statfs.h" HAVE_STATFS_FTYPE)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_type" "sys/statfs.h" HAVE_STATFS_FTYPE)
|
||||||
elseif(HAVE_SYS_MOUNT) # Darwin and most other BSDs
|
elseif(HAVE_SYS_MOUNT) # Darwin and most other BSDs
|
||||||
message("-- Found statfs in sys/mount.h")
|
message("-- Found statfs in sys/mount.h")
|
||||||
add_definitions(-DHAVE_SYS_MOUNT_H)
|
add_sub_definitions(HAVE_SYS_MOUNT_H)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namelen" "sys/mount.h" HAVE_STATFS_FNAMELEN)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namelen" "sys/mount.h" HAVE_STATFS_FNAMELEN)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_fstypename" "sys/mount.h" HAVE_STATFS_FTYPENAME)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_fstypename" "sys/mount.h" HAVE_STATFS_FTYPENAME)
|
||||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # It's giving false positives sometimes
|
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # It's giving false positives sometimes
|
||||||
@@ -59,7 +60,7 @@ elseif(HAVE_SYS_MOUNT) # Darwin and most other BSDs
|
|||||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_type" "sys/mount.h" HAVE_STATFS_FTYPE)
|
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_type" "sys/mount.h" HAVE_STATFS_FTYPE)
|
||||||
elseif(HAVE_SYS_STATVFS) # NetBSD >= 3.0
|
elseif(HAVE_SYS_STATVFS) # NetBSD >= 3.0
|
||||||
message("-- Found statvfs in sys/statvfs.h")
|
message("-- Found statvfs in sys/statvfs.h")
|
||||||
add_definitions(-DHAVE_SYS_STATVFS_H)
|
add_sub_definitions(HAVE_SYS_STATVFS_H)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_namemax" "sys/statvfs.h" HAVE_STATFS_NAMEMAX)
|
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_namemax" "sys/statvfs.h" HAVE_STATFS_NAMEMAX)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_fstypename" "sys/statvfs.h" HAVE_STATFS_FTYPENAME)
|
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_fstypename" "sys/statvfs.h" HAVE_STATFS_FTYPENAME)
|
||||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_type" "sys/statvfs.h" HAVE_STATFS_FTYPE)
|
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_type" "sys/statvfs.h" HAVE_STATFS_FTYPE)
|
||||||
@@ -67,23 +68,24 @@ endif()
|
|||||||
|
|
||||||
if(HAVE_STATFS_FNAMELEN)
|
if(HAVE_STATFS_FNAMELEN)
|
||||||
message("-- statfs has f_namelen member")
|
message("-- statfs has f_namelen member")
|
||||||
add_definitions(-DUSE_STATFS_FNAMELEN)
|
add_sub_definitions(USE_STATFS_FNAMELEN)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_STATFS_FTYPENAME)
|
if(HAVE_STATFS_FTYPENAME)
|
||||||
message("-- statfs has f_fstypename member")
|
message("-- statfs has f_fstypename member")
|
||||||
add_definitions(-DUSE_STATFS_FTYPENAME)
|
add_sub_definitions(USE_STATFS_FTYPENAME)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_STATFS_NAMEMAX)
|
if(HAVE_STATFS_NAMEMAX)
|
||||||
message("-- statfs has f_namemax member")
|
message("-- statfs has f_namemax member")
|
||||||
add_definitions(-DUSE_STATFS_NAMEMAX)
|
add_sub_definitions(USE_STATFS_NAMEMAX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(UNIX_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c time.h)
|
|
||||||
|
|
||||||
add_library(unix ${UNIX_SOURCES})
|
|
||||||
|
|
||||||
add_subdirectory(darwin)
|
add_subdirectory(darwin)
|
||||||
add_subdirectory(linux)
|
add_subdirectory(linux)
|
||||||
add_subdirectory(bsd)
|
add_subdirectory(bsd)
|
||||||
|
|
||||||
|
# Even if empty it needs to be present
|
||||||
|
add_sub_libraries()
|
||||||
|
|
||||||
|
add_sources(attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c time.h)
|
||||||
|
|||||||
@@ -26,15 +26,4 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "^(([^k].*)?BSD|DragonFly)$" )
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(
|
add_sources(bsd.h xattr.c xattr.h attr.c attr.h volume.c volume.h)
|
||||||
fssetter-bsd
|
|
||||||
DESCRIPTION "Filesystem test creator for BSD"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(PLATFORM_SOURCES bsd.h xattr.c xattr.h attr.c attr.h volume.c volume.h)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core unix)
|
|
||||||
|
|||||||
@@ -26,25 +26,15 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(fssetter-darwin
|
|
||||||
DESCRIPTION "Filesystem test creator for Darwin"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
find_library(CARBON_LIBRARY NAMES Carbon)
|
find_library(CARBON_LIBRARY NAMES Carbon)
|
||||||
|
|
||||||
set(PLATFORM_SOURCES os.c darwin.h volume.c volume.h attr.c attr.h rsrcfork.c rsrcfork.h sparse.c xattr.c xattr.h)
|
add_sources(os.c darwin.h volume.c volume.h attr.c attr.h rsrcfork.c rsrcfork.h sparse.c xattr.c xattr.h)
|
||||||
|
|
||||||
if(CARBON_LIBRARY)
|
if(CARBON_LIBRARY)
|
||||||
add_definitions("-DHAVE_CARBON")
|
add_sub_definitions(HAVE_CARBON)
|
||||||
set(PLATFORM_SOURCES ${PLATFORM_SOURCES} carbon.c carbon.h)
|
add_sources(carbon.c carbon.h)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
if(CARBON_LIBRARY)
|
if(CARBON_LIBRARY)
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core unix ${CARBON_LIBRARY})
|
add_sub_libraries(${CARBON_LIBRARY})
|
||||||
else()
|
endif()
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core unix)
|
|
||||||
endif()
|
|
||||||
|
|||||||
@@ -26,15 +26,6 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(
|
add_sources(attr.c sparse.c xattr.c xattr.h volume.c volume.h)
|
||||||
fssetter-linux
|
|
||||||
DESCRIPTION "Filesystem test creator for Linux"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c sparse.c xattr.c xattr.h volume.c volume.h)
|
add_sub_libraries(dl)
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core unix dl)
|
|
||||||
|
|||||||
@@ -26,15 +26,4 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(
|
add_sources(attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c attr.h rsrcfork.h xattr.h links.h volume.h timew32.h os.h sparse.h)
|
||||||
fssetter-win32
|
|
||||||
DESCRIPTION "Filesystem test creator for 32-bit and 64-bit Windows"
|
|
||||||
LANGUAGES C)
|
|
||||||
|
|
||||||
set(PLATFORM_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c attr.h rsrcfork.h xattr.h links.h volume.h timew32.h os.h sparse.h)
|
|
||||||
|
|
||||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(${EXECUTABLE_NAME} core)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user