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,14 +22,19 @@
|
||||
# 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(dos)
|
||||
add_subdirectory(win32)
|
||||
add_subdirectory(unix)
|
||||
add_subdirectory(beos)
|
||||
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()
|
||||
endif()
|
||||
|
||||
project(
|
||||
fssetter-amiga
|
||||
DESCRIPTION "Filesystem test creator for AmigaOS and compatibles"
|
||||
LANGUAGES C)
|
||||
add_sub_definitions(__USE_INLINE__)
|
||||
add_sub_definitions(__USE_BASETYPE__)
|
||||
|
||||
add_definitions(-D__USE_INLINE__)
|
||||
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)
|
||||
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)
|
||||
|
||||
@@ -26,15 +26,4 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "BeOS|Haiku")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(
|
||||
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)
|
||||
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)
|
||||
|
||||
@@ -26,14 +26,4 @@ if(NOT DOS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(fssetter-dos
|
||||
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)
|
||||
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)
|
||||
|
||||
@@ -29,13 +29,8 @@ endif()
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckSymbolExists)
|
||||
|
||||
project(
|
||||
fssetter-macos
|
||||
DESCRIPTION "Filesystem test creator for MacOS"
|
||||
LANGUAGES C)
|
||||
|
||||
add_definitions(-Dmacintosh)
|
||||
add_definitions(-DRetro68)
|
||||
add_sub_definitions(macintosh)
|
||||
add_sub_definitions(Retro68)
|
||||
|
||||
CHECK_INCLUDE_FILES("Aliases.h" HAVE_ALIASES_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)
|
||||
|
||||
if(HAVE_ALIASES_H)
|
||||
add_definitions(-DHAVE_ALIASES_H)
|
||||
add_sub_definitions(HAVE_ALIASES_H)
|
||||
endif()
|
||||
|
||||
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()
|
||||
|
||||
if(HAVE_MULTIVERSE_H)
|
||||
add_definitions(-DHAVE_MULTIVERSE_H)
|
||||
add_sub_definitions(HAVE_MULTIVERSE_H)
|
||||
endif()
|
||||
|
||||
if(NOT HAVE_PBXGETVOLINFO)
|
||||
add_definitions(-DNO_PBXGETVOLINFO)
|
||||
add_sub_definitions(NO_PBXGETVOLINFO)
|
||||
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")
|
||||
set(PROCESSOR "m68k")
|
||||
else()
|
||||
set(PROCESSOR "ppc")
|
||||
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()
|
||||
endif()
|
||||
|
||||
project(fssetter-os2
|
||||
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)
|
||||
add_sources(os.c xattr.c xattr.h)
|
||||
|
||||
@@ -26,16 +26,4 @@ if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386|X86")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(fssetter-os2
|
||||
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)
|
||||
add_sources(os.c xattr.c)
|
||||
|
||||
@@ -26,10 +26,7 @@ if(NOT OS2)
|
||||
return()
|
||||
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(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")
|
||||
message("-- Forcing statfs in sys/mount.h due to OpenBSD")
|
||||
add_definitions(-DHAVE_SYS_MOUNT_H)
|
||||
add_definitions(-DNEED_SYS_TYPES_H)
|
||||
add_sub_definitions(HAVE_SYS_MOUNT_H)
|
||||
add_sub_definitions(NEED_SYS_TYPES_H)
|
||||
set(HAVE_STATFS_FTYPENAME 1)
|
||||
set(HAVE_STATFS_NAMEMAX 1)
|
||||
# Linux and FreeBSD
|
||||
# Linux and FreeBSD
|
||||
elseif(HAVE_SYS_STATFS)
|
||||
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_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_type" "sys/statfs.h" HAVE_STATFS_FTYPE)
|
||||
elseif(HAVE_SYS_MOUNT) # Darwin and most other BSDs
|
||||
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_fstypename" "sys/mount.h" HAVE_STATFS_FTYPENAME)
|
||||
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)
|
||||
elseif(HAVE_SYS_STATVFS) # NetBSD >= 3.0
|
||||
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_fstypename" "sys/statvfs.h" HAVE_STATFS_FTYPENAME)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_type" "sys/statvfs.h" HAVE_STATFS_FTYPE)
|
||||
@@ -67,23 +68,24 @@ endif()
|
||||
|
||||
if(HAVE_STATFS_FNAMELEN)
|
||||
message("-- statfs has f_namelen member")
|
||||
add_definitions(-DUSE_STATFS_FNAMELEN)
|
||||
add_sub_definitions(USE_STATFS_FNAMELEN)
|
||||
endif()
|
||||
|
||||
if(HAVE_STATFS_FTYPENAME)
|
||||
message("-- statfs has f_fstypename member")
|
||||
add_definitions(-DUSE_STATFS_FTYPENAME)
|
||||
add_sub_definitions(USE_STATFS_FTYPENAME)
|
||||
endif()
|
||||
|
||||
if(HAVE_STATFS_NAMEMAX)
|
||||
message("-- statfs has f_namemax member")
|
||||
add_definitions(-DUSE_STATFS_NAMEMAX)
|
||||
add_sub_definitions(USE_STATFS_NAMEMAX)
|
||||
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(linux)
|
||||
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()
|
||||
endif()
|
||||
|
||||
project(
|
||||
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)
|
||||
add_sources(bsd.h xattr.c xattr.h attr.c attr.h volume.c volume.h)
|
||||
|
||||
@@ -26,25 +26,15 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(fssetter-darwin
|
||||
DESCRIPTION "Filesystem test creator for Darwin"
|
||||
LANGUAGES C)
|
||||
|
||||
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)
|
||||
add_definitions("-DHAVE_CARBON")
|
||||
set(PLATFORM_SOURCES ${PLATFORM_SOURCES} carbon.c carbon.h)
|
||||
add_sub_definitions(HAVE_CARBON)
|
||||
add_sources(carbon.c carbon.h)
|
||||
endif()
|
||||
|
||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
||||
|
||||
if(CARBON_LIBRARY)
|
||||
target_link_libraries(${EXECUTABLE_NAME} core unix ${CARBON_LIBRARY})
|
||||
else()
|
||||
target_link_libraries(${EXECUTABLE_NAME} core unix)
|
||||
endif()
|
||||
add_sub_libraries(${CARBON_LIBRARY})
|
||||
endif()
|
||||
|
||||
@@ -26,15 +26,6 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(
|
||||
fssetter-linux
|
||||
DESCRIPTION "Filesystem test creator for Linux"
|
||||
LANGUAGES C)
|
||||
add_sources(attr.c sparse.c xattr.c xattr.h volume.c volume.h)
|
||||
|
||||
set(PLATFORM_SOURCES attr.c sparse.c xattr.c xattr.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 dl)
|
||||
add_sub_libraries(dl)
|
||||
|
||||
@@ -26,15 +26,4 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(
|
||||
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)
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user