project (fspp-test)

set(SOURCES
    testutils/FuseTest.cpp
    testutils/FuseThread.cpp
    testutils/InMemoryFile.cpp
    impl/FuseOpenFileListTest.cpp
    impl/IdListTest.cpp
    fuse/lstat/FuseLstatReturnUidTest.cpp
    fuse/lstat/testutils/FuseLstatTest.cpp
    fuse/lstat/FuseLstatReturnCtimeTest.cpp
    fuse/lstat/FuseLstatReturnGidTest.cpp
    fuse/lstat/FuseLstatPathParameterTest.cpp
    fuse/lstat/FuseLstatReturnNlinkTest.cpp
    fuse/lstat/FuseLstatReturnModeTest.cpp
    fuse/lstat/FuseLstatReturnAtimeTest.cpp
    fuse/lstat/FuseLstatErrorTest.cpp
    fuse/lstat/FuseLstatReturnMtimeTest.cpp
    fuse/lstat/FuseLstatReturnSizeTest.cpp
    fuse/read/FuseReadFileDescriptorTest.cpp
    fuse/read/testutils/FuseReadTest.cpp
    fuse/read/FuseReadOverflowTest.cpp
    fuse/read/FuseReadErrorTest.cpp
    fuse/read/FuseReadReturnedDataTest.cpp
    fuse/flush/testutils/FuseFlushTest.cpp
    fuse/flush/FuseFlushErrorTest.cpp
    fuse/flush/FuseFlushFileDescriptorTest.cpp
    fuse/rename/testutils/FuseRenameTest.cpp
    fuse/rename/FuseRenameErrorTest.cpp
    fuse/rename/FuseRenameFilenameTest.cpp
    fuse/utimens/testutils/FuseUtimensTest.cpp
    fuse/utimens/FuseUtimensErrorTest.cpp
    fuse/utimens/FuseUtimensFilenameTest.cpp
    fuse/utimens/FuseUtimensTimeParameterTest.cpp
    fuse/unlink/testutils/FuseUnlinkTest.cpp
    fuse/unlink/FuseUnlinkErrorTest.cpp
    fuse/unlink/FuseUnlinkFilenameTest.cpp
    fuse/ftruncate/testutils/FuseFTruncateTest.cpp
    fuse/ftruncate/FuseFTruncateFileDescriptorTest.cpp
    fuse/ftruncate/FuseFTruncateSizeTest.cpp
    fuse/ftruncate/FuseFTruncateErrorTest.cpp
    fuse/fstat/testutils/FuseFstatTest.cpp
    fuse/fstat/FuseFstatParameterTest.cpp
    fuse/fstat/FuseFstatErrorTest.cpp
    fuse/truncate/FuseTruncateSizeTest.cpp
    fuse/truncate/testutils/FuseTruncateTest.cpp
    fuse/truncate/FuseTruncateErrorTest.cpp
    fuse/truncate/FuseTruncateFilenameTest.cpp
    fuse/statfs/FuseStatfsReturnFilesTest.cpp
    fuse/statfs/FuseStatfsReturnFfreeTest.cpp
    fuse/statfs/FuseStatfsReturnNamemaxTest.cpp
    fuse/statfs/testutils/FuseStatfsTest.cpp
    fuse/statfs/FuseStatfsReturnBsizeTest.cpp
    fuse/statfs/FuseStatfsErrorTest.cpp
    fuse/statfs/FuseStatfsReturnBfreeTest.cpp
    fuse/statfs/FuseStatfsPathParameterTest.cpp
    fuse/statfs/FuseStatfsReturnBlocksTest.cpp
    fuse/statfs/FuseStatfsReturnBavailTest.cpp
    fuse/closeFile/FuseCloseTest.cpp
    fuse/fsync/testutils/FuseFsyncTest.cpp
    fuse/fsync/FuseFsyncFileDescriptorTest.cpp
    fuse/fsync/FuseFsyncErrorTest.cpp
    fuse/openFile/testutils/FuseOpenTest.cpp
    fuse/openFile/FuseOpenFilenameTest.cpp
    fuse/openFile/FuseOpenFlagsTest.cpp
    fuse/openFile/FuseOpenFileDescriptorTest.cpp
    fuse/openFile/FuseOpenErrorTest.cpp
    fuse/access/FuseAccessFilenameTest.cpp
    fuse/access/testutils/FuseAccessTest.cpp
    fuse/access/FuseAccessModeTest.cpp
    fuse/access/FuseAccessErrorTest.cpp
    fuse/BasicFuseTest.cpp
    fuse/rmdir/testutils/FuseRmdirTest.cpp
    fuse/rmdir/FuseRmdirErrorTest.cpp
    fuse/rmdir/FuseRmdirDirnameTest.cpp
    fuse/fdatasync/testutils/FuseFdatasyncTest.cpp
    fuse/fdatasync/FuseFdatasyncErrorTest.cpp
    fuse/fdatasync/FuseFdatasyncFileDescriptorTest.cpp
    fuse/mkdir/testutils/FuseMkdirTest.cpp
    fuse/mkdir/FuseMkdirErrorTest.cpp
    fuse/mkdir/FuseMkdirModeTest.cpp
    fuse/mkdir/FuseMkdirDirnameTest.cpp
    fuse/write/FuseWriteErrorTest.cpp
    fuse/write/testutils/FuseWriteTest.cpp
    fuse/write/FuseWriteOverflowTest.cpp
    fuse/write/FuseWriteFileDescriptorTest.cpp
    fuse/write/FuseWriteDataTest.cpp
    fuse/readDir/testutils/FuseReadDirTest.cpp
    fuse/readDir/FuseReadDirDirnameTest.cpp
    fuse/readDir/FuseReadDirErrorTest.cpp
    fuse/readDir/FuseReadDirReturnTest.cpp
    fuse/createAndOpenFile/FuseCreateAndOpenFilenameTest.cpp
    fuse/createAndOpenFile/testutils/FuseCreateAndOpenTest.cpp
    fuse/createAndOpenFile/FuseCreateAndOpenFlagsTest.cpp
    fuse/createAndOpenFile/FuseCreateAndOpenFileDescriptorTest.cpp
    fuse/createAndOpenFile/FuseCreateAndOpenErrorTest.cpp
    fuse/FilesystemTest.cpp
    fs_interface/NodeTest.cpp
    fs_interface/FileTest.cpp
    fs_interface/DirTest.cpp
    fs_interface/DeviceTest.cpp
    fs_interface/OpenFileTest.cpp
)

add_executable(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME} googletest fspp)
add_test(${PROJECT_NAME} ${PROJECT_NAME})

target_enable_style_warnings(${PROJECT_NAME})
target_activate_cpp14(${PROJECT_NAME})
