mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
Add unpacktool to CMake, port to *nix
- Adds missing includes, removes some unused ones. - Removes unused Windows.h and shellapi.h includes. - Uses / as path separator. This is portable and should still work fine on Windows.
This commit is contained in:
@@ -406,5 +406,40 @@ target_include_directories(HouseTool PRIVATE
|
|||||||
)
|
)
|
||||||
target_link_libraries(HouseTool PortabilityLayer MacRomanConversion)
|
target_link_libraries(HouseTool PortabilityLayer MacRomanConversion)
|
||||||
|
|
||||||
|
add_executable(unpacktool
|
||||||
|
unpacktool/ArchiveDescription.cpp
|
||||||
|
unpacktool/BWT.cpp
|
||||||
|
unpacktool/CompactProLZHDecompressor.cpp
|
||||||
|
unpacktool/CompactProLZHRLEDecompressor.cpp
|
||||||
|
unpacktool/CompactProParser.cpp
|
||||||
|
unpacktool/CompactProRLEDecompressor.cpp
|
||||||
|
unpacktool/CRC.cpp
|
||||||
|
unpacktool/CSInputBuffer.cpp
|
||||||
|
unpacktool/DecompressorProxyReader.cpp
|
||||||
|
unpacktool/LZSSDecompressor.cpp
|
||||||
|
unpacktool/LZW.cpp
|
||||||
|
unpacktool/LZWDecompressor.cpp
|
||||||
|
unpacktool/NullDecompressor.cpp
|
||||||
|
unpacktool/PrefixCode.cpp
|
||||||
|
unpacktool/RLE90Decompressor.cpp
|
||||||
|
unpacktool/StringCommon.cpp
|
||||||
|
unpacktool/StuffIt13Decompressor.cpp
|
||||||
|
unpacktool/StuffIt5Parser.cpp
|
||||||
|
unpacktool/StuffItArsenicDecompressor.cpp
|
||||||
|
unpacktool/StuffItCommon.cpp
|
||||||
|
unpacktool/StuffItHuffmanDecompressor.cpp
|
||||||
|
unpacktool/StuffItParser.cpp
|
||||||
|
unpacktool/unpacktool.cpp
|
||||||
|
WindowsUnicodeToolShim/UnixUnicodeToolShim.cpp
|
||||||
|
)
|
||||||
|
target_include_directories(unpacktool PRIVATE
|
||||||
|
Common
|
||||||
|
GpCommon
|
||||||
|
PortabilityLayer
|
||||||
|
MacRomanConversion
|
||||||
|
WindowsUnicodeToolShim
|
||||||
|
)
|
||||||
|
target_link_libraries(unpacktool PortabilityLayer MacRomanConversion)
|
||||||
|
|
||||||
|
|
||||||
install (TARGETS ${EXECNAME})
|
install (TARGETS ${EXECNAME})
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
#include "IDecompressor.h"
|
#include "IDecompressor.h"
|
||||||
|
|
||||||
class CompactProRLEDecompressor : public IDecompressor
|
class CompactProRLEDecompressor : public IDecompressor
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <cstddef>
|
||||||
|
|
||||||
struct CSInputBuffer;
|
struct CSInputBuffer;
|
||||||
|
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
struct IFileReader
|
struct IFileReader
|
||||||
{
|
{
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
#include <climits>
|
||||||
|
|
||||||
#include "PrefixCode.h"
|
#include "PrefixCode.h"
|
||||||
|
|
||||||
struct XADCodeTreeNode
|
struct XADCodeTreeNode
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
#include "IDecompressor.h"
|
#include "IDecompressor.h"
|
||||||
|
|
||||||
class RLE90Decompressor : public IDecompressor
|
class RLE90Decompressor : public IDecompressor
|
||||||
|
@@ -28,9 +28,6 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <Windows.h>
|
|
||||||
#include <shellapi.h>
|
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
@@ -387,7 +384,7 @@ int ExtractItem(int depth, const ArchiveItem &item, const std::string &dirPath,
|
|||||||
{
|
{
|
||||||
mkdir_utf8(path.c_str());
|
mkdir_utf8(path.c_str());
|
||||||
|
|
||||||
path.append("\\");
|
path.append("/");
|
||||||
|
|
||||||
int returnCode = RecursiveExtractFiles(depth + 1, item.m_children, path, pathParanoid, reader, ts);
|
int returnCode = RecursiveExtractFiles(depth + 1, item.m_children, path, pathParanoid, reader, ts);
|
||||||
if (returnCode)
|
if (returnCode)
|
||||||
|
Reference in New Issue
Block a user