physfs icon indicating copy to clipboard operation
physfs copied to clipboard

cmake: move physfs.h to include folder + doxygen fix

Open madebr opened this issue 2 years ago • 5 comments

  • ~Move physfs.h header to include folder (should address #71, unless this is unwanted or insufficient)~
  • Disable install and doc targets when building PhysicsFS as a subproject (CMake disables install targets when adding a subproject with EXCLUDE_FROM_ALL, but it cannot do this with the docs target)
  • Generate Doxygen documentation as part of the build process, and install the html + man pages.

A default PhysFS install prefix now looks as below. This is very similar to the physfs packages provided by my distro (they run doxygen manually).

prefix/
├── bin
│   └── test_physfs
├── include
│   └── physfs.h
├── lib64
│   ├── cmake
│   │   └── PhysFS
│   │       ├── PhysFSConfig.cmake
│   │       └── PhysFSConfig-debug.cmake
│   ├── libphysfs.a
│   ├── libphysfs.so -> libphysfs.so.1
│   ├── libphysfs.so.1 -> libphysfs.so.3.3.0
│   ├── libphysfs.so.3.3.0
│   └── pkgconfig
│       └── physfs.pc
└── share
    ├── doc
    │   └── physfs
    │       └── html
    │           ├── annotated.html
    │           ├── bc_sd.png
    │           ├── bc_s.png
    │           ├── bdwn.png
    │           ├── classes.html
    │           ├── closed.png
    │           ├── deprecated.html
    │           ├── dir_d44c64559bbebec7f509842c48db8b23.html
    │           ├── docd.png
    │           ├── doc.png
    │           ├── doxygen.css
    │           ├── doxygen.svg
    │           ├── dynsections.js
    │           ├── files.html
    │           ├── folderclosed.png
    │           ├── folderopen.png
    │           ├── functions.html
    │           ├── functions_vars.html
    │           ├── globals_defs.html
    │           ├── globals_enum.html
    │           ├── globals_eval.html
    │           ├── globals_func.html
    │           ├── globals.html
    │           ├── globals_type.html
    │           ├── index.html
    │           ├── jquery.js
    │           ├── menudata.js
    │           ├── menu.js
    │           ├── nav_fd.png
    │           ├── nav_f.png
    │           ├── nav_g.png
    │           ├── nav_hd.png
    │           ├── nav_h.png
    │           ├── open.png
    │           ├── pages.html
    │           ├── physfs_8h.html
    │           ├── physfs_8h_source.html
    │           ├── splitbard.png
    │           ├── splitbar.png
    │           ├── structPHYSFS__Allocator.html
    │           ├── structPHYSFS__ArchiveInfo.html
    │           ├── structPHYSFS__Archiver.html
    │           ├── structPHYSFS__File.html
    │           ├── structPHYSFS__Io.html
    │           ├── structPHYSFS__Stat.html
    │           ├── structPHYSFS__Version.html
    │           ├── sync_off.png
    │           ├── sync_on.png
    │           ├── tab_ad.png
    │           ├── tab_a.png
    │           ├── tab_bd.png
    │           ├── tab_b.png
    │           ├── tab_hd.png
    │           ├── tab_h.png
    │           ├── tabs.css
    │           ├── tab_sd.png
    │           └── tab_s.png
    └── man
        └── man3
            ├── accesstime.3
            ├── author.3
            ├── closeArchive.3
            ├── createtime.3
            ├── Deinit.3
            ├── deprecated.3
            ├── description.3
            ├── destroy.3
            ├── duplicate.3
            ├── enumerate.3
            ├── extension.3
            ├── filesize.3
            ├── filetype.3
            ├── flush.3
            ├── Free.3
            ├── info.3
            ├── Init.3
            ├── length.3
            ├── major.3
            ├── Malloc.3
            ├── minor.3
            ├── mkdir.3
            ├── modtime.3
            ├── opaque.3
            ├── openAppend.3
            ├── openArchive.3
            ├── openRead.3
            ├── openWrite.3
            ├── patch.3
            ├── PHYSFS_addToSearchPath.3
            ├── PHYSFS_Allocator.3
            ├── PHYSFS_ArchiveInfo.3
            ├── PHYSFS_Archiver.3
            ├── PHYSFS_caseFold.3
            ├── PHYSFS_close.3
            ├── PHYSFS_deinit.3
            ├── PHYSFS_delete.3
            ├── PHYSFS_deregisterArchiver.3
            ├── PHYSFS_enumerate.3
            ├── PHYSFS_EnumerateCallback.3
            ├── PHYSFS_EnumerateCallbackResult.3
            ├── PHYSFS_enumerateFiles.3
            ├── PHYSFS_enumerateFilesCallback.3
            ├── PHYSFS_ENUM_ERROR.3
            ├── PHYSFS_EnumFilesCallback.3
            ├── PHYSFS_ENUM_OK.3
            ├── PHYSFS_ENUM_STOP.3
            ├── PHYSFS_eof.3
            ├── PHYSFS_ERR_APP_CALLBACK.3
            ├── PHYSFS_ERR_ARGV0_IS_NULL.3
            ├── PHYSFS_ERR_BAD_FILENAME.3
            ├── PHYSFS_ERR_BAD_PASSWORD.3
            ├── PHYSFS_ERR_BUSY.3
            ├── PHYSFS_ERR_CORRUPT.3
            ├── PHYSFS_ERR_DIR_NOT_EMPTY.3
            ├── PHYSFS_ERR_DUPLICATE.3
            ├── PHYSFS_ERR_FILES_STILL_OPEN.3
            ├── PHYSFS_ERR_INVALID_ARGUMENT.3
            ├── PHYSFS_ERR_IO.3
            ├── PHYSFS_ERR_IS_INITIALIZED.3
            ├── PHYSFS_ERR_NO_SPACE.3
            ├── PHYSFS_ERR_NOT_A_FILE.3
            ├── PHYSFS_ERR_NOT_FOUND.3
            ├── PHYSFS_ERR_NOT_INITIALIZED.3
            ├── PHYSFS_ERR_NOT_MOUNTED.3
            ├── PHYSFS_ERR_NO_WRITE_DIR.3
            ├── PHYSFS_ERR_OK.3
            ├── PHYSFS_ERR_OPEN_FOR_READING.3
            ├── PHYSFS_ERR_OPEN_FOR_WRITING.3
            ├── PHYSFS_ErrorCode.3
            ├── PHYSFS_ERR_OS_ERROR.3
            ├── PHYSFS_ERR_OTHER_ERROR.3
            ├── PHYSFS_ERR_OUT_OF_MEMORY.3
            ├── PHYSFS_ERR_PAST_EOF.3
            ├── PHYSFS_ERR_PERMISSION.3
            ├── PHYSFS_ERR_READ_ONLY.3
            ├── PHYSFS_ERR_SYMLINK_FORBIDDEN.3
            ├── PHYSFS_ERR_SYMLINK_LOOP.3
            ├── PHYSFS_ERR_UNSUPPORTED.3
            ├── PHYSFS_exists.3
            ├── PHYSFS_file.3
            ├── PHYSFS_File.3
            ├── PHYSFS_fileLength.3
            ├── PHYSFS_FileType.3
            ├── PHYSFS_FILETYPE_DIRECTORY.3
            ├── PHYSFS_FILETYPE_OTHER.3
            ├── PHYSFS_FILETYPE_REGULAR.3
            ├── PHYSFS_FILETYPE_SYMLINK.3
            ├── PHYSFS_flush.3
            ├── PHYSFS_freeList.3
            ├── PHYSFS_getAllocator.3
            ├── PHYSFS_getBaseDir.3
            ├── PHYSFS_getCdRomDirs.3
            ├── PHYSFS_getCdRomDirsCallback.3
            ├── PHYSFS_getDirSeparator.3
            ├── PHYSFS_getErrorByCode.3
            ├── PHYSFS_getLastError.3
            ├── PHYSFS_getLastErrorCode.3
            ├── PHYSFS_getLastModTime.3
            ├── PHYSFS_getLinkedVersion.3
            ├── PHYSFS_getMountPoint.3
            ├── PHYSFS_getPrefDir.3
            ├── PHYSFS_getRealDir.3
            ├── PHYSFS_getSearchPath.3
            ├── PHYSFS_getSearchPathCallback.3
            ├── PHYSFS_getUserDir.3
            ├── PHYSFS_getWriteDir.3
            ├── physfs.h.3
            ├── PHYSFS_init.3
            ├── PHYSFS_Io.3
            ├── PHYSFS_isDirectory.3
            ├── PHYSFS_isInit.3
            ├── PHYSFS_isSymbolicLink.3
            ├── PHYSFS_mkdir.3
            ├── PHYSFS_mount.3
            ├── PHYSFS_mountHandle.3
            ├── PHYSFS_mountIo.3
            ├── PHYSFS_mountMemory.3
            ├── PHYSFS_openAppend.3
            ├── PHYSFS_openRead.3
            ├── PHYSFS_openWrite.3
            ├── PHYSFS_permitSymbolicLinks.3
            ├── PHYSFS_read.3
            ├── PHYSFS_readBytes.3
            ├── PHYSFS_readSBE16.3
            ├── PHYSFS_readSBE32.3
            ├── PHYSFS_readSBE64.3
            ├── PHYSFS_readSLE16.3
            ├── PHYSFS_readSLE32.3
            ├── PHYSFS_readSLE64.3
            ├── PHYSFS_readUBE16.3
            ├── PHYSFS_readUBE32.3
            ├── PHYSFS_readUBE64.3
            ├── PHYSFS_readULE16.3
            ├── PHYSFS_readULE32.3
            ├── PHYSFS_readULE64.3
            ├── PHYSFS_registerArchiver.3
            ├── PHYSFS_removeFromSearchPath.3
            ├── PHYSFS_seek.3
            ├── PHYSFS_setAllocator.3
            ├── PHYSFS_setBuffer.3
            ├── PHYSFS_setErrorCode.3
            ├── PHYSFS_setRoot.3
            ├── PHYSFS_setSaneConfig.3
            ├── PHYSFS_setWriteDir.3
            ├── PHYSFS_sint16.3
            ├── PHYSFS_sint32.3
            ├── PHYSFS_sint64.3
            ├── PHYSFS_sint8.3
            ├── PHYSFS_stat.3
            ├── PHYSFS_Stat.3
            ├── PHYSFS_StringCallback.3
            ├── PHYSFS_supportedArchiveTypes.3
            ├── PHYSFS_swapSBE16.3
            ├── PHYSFS_swapSBE32.3
            ├── PHYSFS_swapSBE64.3
            ├── PHYSFS_swapSLE16.3
            ├── PHYSFS_swapSLE32.3
            ├── PHYSFS_swapSLE64.3
            ├── PHYSFS_swapUBE16.3
            ├── PHYSFS_swapUBE32.3
            ├── PHYSFS_swapUBE64.3
            ├── PHYSFS_swapULE16.3
            ├── PHYSFS_swapULE32.3
            ├── PHYSFS_swapULE64.3
            ├── PHYSFS_symbolicLinksPermitted.3
            ├── PHYSFS_tell.3
            ├── PHYSFS_ucs4stricmp.3
            ├── PHYSFS_uint16.3
            ├── PHYSFS_uint32.3
            ├── PHYSFS_uint64.3
            ├── PHYSFS_uint8.3
            ├── PHYSFS_unmount.3
            ├── PHYSFS_utf16stricmp.3
            ├── PHYSFS_utf8FromLatin1.3
            ├── PHYSFS_utf8FromUcs2.3
            ├── PHYSFS_utf8FromUcs4.3
            ├── PHYSFS_utf8FromUtf16.3
            ├── PHYSFS_utf8stricmp.3
            ├── PHYSFS_utf8ToUcs2.3
            ├── PHYSFS_utf8ToUcs4.3
            ├── PHYSFS_utf8ToUtf16.3
            ├── PHYSFS_Version.3
            ├── PHYSFS_VERSION.3
            ├── PHYSFS_write.3
            ├── PHYSFS_writeBytes.3
            ├── PHYSFS_writeSBE16.3
            ├── PHYSFS_writeSBE32.3
            ├── PHYSFS_writeSBE64.3
            ├── PHYSFS_writeSLE16.3
            ├── PHYSFS_writeSLE32.3
            ├── PHYSFS_writeSLE64.3
            ├── PHYSFS_writeUBE16.3
            ├── PHYSFS_writeUBE32.3
            ├── PHYSFS_writeUBE64.3
            ├── PHYSFS_writeULE16.3
            ├── PHYSFS_writeULE32.3
            ├── PHYSFS_writeULE64.3
            ├── read.3
            ├── readonly.3
            ├── Realloc.3
            ├── remove.3
            ├── seek.3
            ├── stat.3
            ├── supportsSymlinks.3
            ├── tell.3
            ├── url.3
            ├── version.3
            └── write.3

13 directories, 275 files

madebr avatar Feb 23 '24 07:02 madebr

I removed the move of the physfs.h header. The other fixes remain valid.

madebr avatar Feb 23 '24 19:02 madebr

Imho, the quality of the man pages generated by doxygen is much lower then the quality of the SDL man pages.

madebr avatar Feb 23 '24 19:02 madebr