diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c529e2..21e0f03 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -406,5 +406,40 @@ target_include_directories(HouseTool PRIVATE ) 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}) diff --git a/unpacktool/CompactProRLEDecompressor.h b/unpacktool/CompactProRLEDecompressor.h index 51586ea..af33fb7 100644 --- a/unpacktool/CompactProRLEDecompressor.h +++ b/unpacktool/CompactProRLEDecompressor.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "IDecompressor.h" class CompactProRLEDecompressor : public IDecompressor diff --git a/unpacktool/IDecompressor.h b/unpacktool/IDecompressor.h index b1a5f4c..8788ea4 100644 --- a/unpacktool/IDecompressor.h +++ b/unpacktool/IDecompressor.h @@ -1,6 +1,6 @@ #pragma once -#include +#include struct CSInputBuffer; diff --git a/unpacktool/IFileReader.h b/unpacktool/IFileReader.h index bd40ed7..a6ad14a 100644 --- a/unpacktool/IFileReader.h +++ b/unpacktool/IFileReader.h @@ -1,6 +1,7 @@ #pragma once -#include +#include +#include struct IFileReader { diff --git a/unpacktool/PrefixCode.cpp b/unpacktool/PrefixCode.cpp index 0546bad..01912c1 100644 --- a/unpacktool/PrefixCode.cpp +++ b/unpacktool/PrefixCode.cpp @@ -1,3 +1,5 @@ +#include + #include "PrefixCode.h" struct XADCodeTreeNode diff --git a/unpacktool/RLE90Decompressor.h b/unpacktool/RLE90Decompressor.h index cf81fea..77cd22a 100644 --- a/unpacktool/RLE90Decompressor.h +++ b/unpacktool/RLE90Decompressor.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "IDecompressor.h" class RLE90Decompressor : public IDecompressor diff --git a/unpacktool/unpacktool.cpp b/unpacktool/unpacktool.cpp index e82a84b..7defb39 100644 --- a/unpacktool/unpacktool.cpp +++ b/unpacktool/unpacktool.cpp @@ -28,9 +28,6 @@ #include -#include -#include - #include #include @@ -387,7 +384,7 @@ int ExtractItem(int depth, const ArchiveItem &item, const std::string &dirPath, { mkdir_utf8(path.c_str()); - path.append("\\"); + path.append("/"); int returnCode = RecursiveExtractFiles(depth + 1, item.m_children, path, pathParanoid, reader, ts); if (returnCode)