From bea8af2c68f0cbe8a02e93ab79a8b5c596d2b232 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com>
Date: Tue, 14 May 2024 17:39:26 +0300
Subject: [PATCH] Restructure project layout

---
 CMakeLists.txt                                | 190 +++++++++---------
 .../src}/benchmarks/benchmark.assembler.cpp   |   0
 .../src}/benchmarks/benchmark.formatter.cpp   |   0
 .../benchmarks/benchmark.instructioninfo.cpp  |   0
 .../benchmarks/benchmark.serialization.cpp    |   0
 .../src}/benchmarks/benchmark.stringpool.cpp  |   0
 {src/benchmark => benchmark/src}/main.cpp     |   0
 cmake.toml                                    |  18 +-
 .../zasm/testdata/x86}/instructions.hpp       |   0
 {src/tests => tests/src}/main.cpp             |   0
 .../src}/tests/tests.assembler.cpp            |   0
 .../src}/tests/tests.decoder.cpp              |   0
 .../tests => tests/src}/tests/tests.error.cpp |   0
 .../src}/tests/tests.externals.cpp            |   0
 .../src}/tests/tests.formatter.cpp            |   0
 .../src}/tests/tests.imports.cpp              |   0
 .../src}/tests/tests.instruction.cpp          |   0
 .../src}/tests/tests.instructions.x64.cpp     |   0
 .../src}/tests/tests.instructionsinfo.x64.cpp |   4 +-
 .../src}/tests/tests.observer.cpp             |   0
 .../src}/tests/tests.packed.cpp               |   0
 .../src}/tests/tests.program.cpp              |   0
 .../src}/tests/tests.registers.cpp            |   0
 .../src}/tests/tests.relocation.cpp           |   0
 .../src}/tests/tests.saverestore.cpp          |   0
 .../src}/tests/tests.sections.cpp             |   0
 .../src}/tests/tests.segments.cpp             |   0
 .../src}/tests/tests.serialization.cpp        |   0
 .../src}/tests/tests.stringpool.cpp           |   0
 {src/tests => tests/src}/testutils.cpp        |   0
 {src/tests => tests/src}/testutils.hpp        |   0
 .../include}/zasm/base/immediate.hpp          |   0
 .../include}/zasm/base/instruction.hpp        |   0
 {include => zasm/include}/zasm/base/label.hpp |   0
 .../include}/zasm/base/memory.hpp             |   0
 {include => zasm/include}/zasm/base/meta.hpp  |   0
 {include => zasm/include}/zasm/base/mode.hpp  |   0
 .../include}/zasm/base/operand.hpp            |   0
 .../include}/zasm/base/register.hpp           |   0
 .../include}/zasm/core/bitsize.hpp            |   0
 .../include}/zasm/core/enumflags.hpp          |   0
 .../include}/zasm/core/errors.hpp             |   0
 .../include}/zasm/core/expected.hpp           |   0
 .../include}/zasm/core/filestream.hpp         |   0
 {include => zasm/include}/zasm/core/math.hpp  |   0
 .../include}/zasm/core/memorystream.hpp       |   0
 .../include}/zasm/core/objectpool.hpp         |   0
 .../include}/zasm/core/packed.hpp             |   0
 .../include}/zasm/core/stream.hpp             |   0
 .../include}/zasm/core/stringpool.hpp         |   0
 .../include}/zasm/core/strongtype.hpp         |   0
 .../include}/zasm/decoder/decoder.hpp         |   0
 .../include}/zasm/encoder/encoder.hpp         |   0
 .../include}/zasm/formatter/formatter.hpp     |   0
 .../include}/zasm/program/align.hpp           |   0
 .../include}/zasm/program/data.hpp            |   0
 .../include}/zasm/program/embeddedlabel.hpp   |   0
 .../include}/zasm/program/instruction.hpp     |   0
 .../include}/zasm/program/labeldata.hpp       |   0
 .../include}/zasm/program/node.hpp            |   0
 .../include}/zasm/program/observer.hpp        |   0
 .../include}/zasm/program/program.hpp         |   0
 .../include}/zasm/program/saverestore.hpp     |   0
 .../include}/zasm/program/section.hpp         |   0
 .../include}/zasm/program/sentinel.hpp        |   0
 .../zasm/serialization/serializer.hpp         |   0
 .../include}/zasm/x86/assembler.hpp           |   0
 .../include}/zasm/x86/emitter.hpp             |   0
 {include => zasm/include}/zasm/x86/memory.hpp |   0
 {include => zasm/include}/zasm/x86/meta.hpp   |   0
 .../include}/zasm/x86/mnemonic.hpp            |   0
 .../include}/zasm/x86/register.hpp            |   0
 {include => zasm/include}/zasm/x86/x86.hpp    |   0
 {include => zasm/include}/zasm/zasm.hpp       |   0
 {src => zasm/src}/zasm/src/core/error.cpp     |   0
 .../src}/zasm/src/core/filestream.cpp         |   0
 .../src}/zasm/src/core/memorystream.cpp       |   0
 .../src}/zasm/src/decoder/decoder.cpp         |   0
 .../src}/zasm/src/encoder/encoder.context.hpp |   0
 .../src}/zasm/src/encoder/encoder.cpp         |   0
 .../src}/zasm/src/formatter/formatter.cpp     |   0
 {src => zasm/src}/zasm/src/program/data.cpp   |   0
 .../src}/zasm/src/program/instruction.cpp     |   0
 .../src}/zasm/src/program/program.cpp         |   0
 .../src}/zasm/src/program/program.node.hpp    |   0
 .../src}/zasm/src/program/program.state.hpp   |   0
 .../src}/zasm/src/program/register.cpp        |   0
 .../src}/zasm/src/program/saverestore.cpp     |   0
 .../zasm/src/program/saverestore.load.cpp     |   0
 .../zasm/src/program/saverestore.save.cpp     |   0
 .../zasm/src/program/saverestorehelper.hpp    |   0
 .../zasm/src/program/saverestoretypes.hpp     |   0
 .../zasm/src/serialization/serializer.cpp     |   0
 .../src}/zasm/src/x86/x86.assembler.cpp       |   0
 .../src}/zasm/src/x86/x86.register.cpp        |   0
 {src => zasm/src}/zasm/src/zasm.cpp           |   0
 96 files changed, 106 insertions(+), 106 deletions(-)
 rename {src/benchmark => benchmark/src}/benchmarks/benchmark.assembler.cpp (100%)
 rename {src/benchmark => benchmark/src}/benchmarks/benchmark.formatter.cpp (100%)
 rename {src/benchmark => benchmark/src}/benchmarks/benchmark.instructioninfo.cpp (100%)
 rename {src/benchmark => benchmark/src}/benchmarks/benchmark.serialization.cpp (100%)
 rename {src/benchmark => benchmark/src}/benchmarks/benchmark.stringpool.cpp (100%)
 rename {src/benchmark => benchmark/src}/main.cpp (100%)
 rename {src/testdata/testdata => testdata/include/zasm/testdata/x86}/instructions.hpp (100%)
 rename {src/tests => tests/src}/main.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.assembler.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.decoder.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.error.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.externals.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.formatter.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.imports.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.instruction.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.instructions.x64.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.instructionsinfo.x64.cpp (97%)
 rename {src/tests => tests/src}/tests/tests.observer.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.packed.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.program.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.registers.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.relocation.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.saverestore.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.sections.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.segments.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.serialization.cpp (100%)
 rename {src/tests => tests/src}/tests/tests.stringpool.cpp (100%)
 rename {src/tests => tests/src}/testutils.cpp (100%)
 rename {src/tests => tests/src}/testutils.hpp (100%)
 rename {include => zasm/include}/zasm/base/immediate.hpp (100%)
 rename {include => zasm/include}/zasm/base/instruction.hpp (100%)
 rename {include => zasm/include}/zasm/base/label.hpp (100%)
 rename {include => zasm/include}/zasm/base/memory.hpp (100%)
 rename {include => zasm/include}/zasm/base/meta.hpp (100%)
 rename {include => zasm/include}/zasm/base/mode.hpp (100%)
 rename {include => zasm/include}/zasm/base/operand.hpp (100%)
 rename {include => zasm/include}/zasm/base/register.hpp (100%)
 rename {include => zasm/include}/zasm/core/bitsize.hpp (100%)
 rename {include => zasm/include}/zasm/core/enumflags.hpp (100%)
 rename {include => zasm/include}/zasm/core/errors.hpp (100%)
 rename {include => zasm/include}/zasm/core/expected.hpp (100%)
 rename {include => zasm/include}/zasm/core/filestream.hpp (100%)
 rename {include => zasm/include}/zasm/core/math.hpp (100%)
 rename {include => zasm/include}/zasm/core/memorystream.hpp (100%)
 rename {include => zasm/include}/zasm/core/objectpool.hpp (100%)
 rename {include => zasm/include}/zasm/core/packed.hpp (100%)
 rename {include => zasm/include}/zasm/core/stream.hpp (100%)
 rename {include => zasm/include}/zasm/core/stringpool.hpp (100%)
 rename {include => zasm/include}/zasm/core/strongtype.hpp (100%)
 rename {include => zasm/include}/zasm/decoder/decoder.hpp (100%)
 rename {include => zasm/include}/zasm/encoder/encoder.hpp (100%)
 rename {include => zasm/include}/zasm/formatter/formatter.hpp (100%)
 rename {include => zasm/include}/zasm/program/align.hpp (100%)
 rename {include => zasm/include}/zasm/program/data.hpp (100%)
 rename {include => zasm/include}/zasm/program/embeddedlabel.hpp (100%)
 rename {include => zasm/include}/zasm/program/instruction.hpp (100%)
 rename {include => zasm/include}/zasm/program/labeldata.hpp (100%)
 rename {include => zasm/include}/zasm/program/node.hpp (100%)
 rename {include => zasm/include}/zasm/program/observer.hpp (100%)
 rename {include => zasm/include}/zasm/program/program.hpp (100%)
 rename {include => zasm/include}/zasm/program/saverestore.hpp (100%)
 rename {include => zasm/include}/zasm/program/section.hpp (100%)
 rename {include => zasm/include}/zasm/program/sentinel.hpp (100%)
 rename {include => zasm/include}/zasm/serialization/serializer.hpp (100%)
 rename {include => zasm/include}/zasm/x86/assembler.hpp (100%)
 rename {include => zasm/include}/zasm/x86/emitter.hpp (100%)
 rename {include => zasm/include}/zasm/x86/memory.hpp (100%)
 rename {include => zasm/include}/zasm/x86/meta.hpp (100%)
 rename {include => zasm/include}/zasm/x86/mnemonic.hpp (100%)
 rename {include => zasm/include}/zasm/x86/register.hpp (100%)
 rename {include => zasm/include}/zasm/x86/x86.hpp (100%)
 rename {include => zasm/include}/zasm/zasm.hpp (100%)
 rename {src => zasm/src}/zasm/src/core/error.cpp (100%)
 rename {src => zasm/src}/zasm/src/core/filestream.cpp (100%)
 rename {src => zasm/src}/zasm/src/core/memorystream.cpp (100%)
 rename {src => zasm/src}/zasm/src/decoder/decoder.cpp (100%)
 rename {src => zasm/src}/zasm/src/encoder/encoder.context.hpp (100%)
 rename {src => zasm/src}/zasm/src/encoder/encoder.cpp (100%)
 rename {src => zasm/src}/zasm/src/formatter/formatter.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/data.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/instruction.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/program.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/program.node.hpp (100%)
 rename {src => zasm/src}/zasm/src/program/program.state.hpp (100%)
 rename {src => zasm/src}/zasm/src/program/register.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/saverestore.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/saverestore.load.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/saverestore.save.cpp (100%)
 rename {src => zasm/src}/zasm/src/program/saverestorehelper.hpp (100%)
 rename {src => zasm/src}/zasm/src/program/saverestoretypes.hpp (100%)
 rename {src => zasm/src}/zasm/src/serialization/serializer.cpp (100%)
 rename {src => zasm/src}/zasm/src/x86/x86.assembler.cpp (100%)
 rename {src => zasm/src}/zasm/src/x86/x86.register.cpp (100%)
 rename {src => zasm/src}/zasm/src/zasm.cpp (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index baff812..71b1ca4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,71 +67,71 @@ endif()
 
 # Target: zasm
 set(zasm_SOURCES
-	"src/zasm/src/core/error.cpp"
-	"src/zasm/src/core/filestream.cpp"
-	"src/zasm/src/core/memorystream.cpp"
-	"src/zasm/src/decoder/decoder.cpp"
-	"src/zasm/src/encoder/encoder.cpp"
-	"src/zasm/src/formatter/formatter.cpp"
-	"src/zasm/src/program/data.cpp"
-	"src/zasm/src/program/instruction.cpp"
-	"src/zasm/src/program/program.cpp"
-	"src/zasm/src/program/register.cpp"
-	"src/zasm/src/program/saverestore.cpp"
-	"src/zasm/src/program/saverestore.load.cpp"
-	"src/zasm/src/program/saverestore.save.cpp"
-	"src/zasm/src/serialization/serializer.cpp"
-	"src/zasm/src/x86/x86.assembler.cpp"
-	"src/zasm/src/x86/x86.register.cpp"
-	"src/zasm/src/zasm.cpp"
-	"src/zasm/src/encoder/encoder.context.hpp"
-	"src/zasm/src/program/program.node.hpp"
-	"src/zasm/src/program/program.state.hpp"
-	"src/zasm/src/program/saverestorehelper.hpp"
-	"src/zasm/src/program/saverestoretypes.hpp"
-	"include/zasm/base/immediate.hpp"
-	"include/zasm/base/instruction.hpp"
-	"include/zasm/base/label.hpp"
-	"include/zasm/base/memory.hpp"
-	"include/zasm/base/meta.hpp"
-	"include/zasm/base/mode.hpp"
-	"include/zasm/base/operand.hpp"
-	"include/zasm/base/register.hpp"
-	"include/zasm/core/bitsize.hpp"
-	"include/zasm/core/enumflags.hpp"
-	"include/zasm/core/errors.hpp"
-	"include/zasm/core/expected.hpp"
-	"include/zasm/core/filestream.hpp"
-	"include/zasm/core/math.hpp"
-	"include/zasm/core/memorystream.hpp"
-	"include/zasm/core/objectpool.hpp"
-	"include/zasm/core/packed.hpp"
-	"include/zasm/core/stream.hpp"
-	"include/zasm/core/stringpool.hpp"
-	"include/zasm/core/strongtype.hpp"
-	"include/zasm/decoder/decoder.hpp"
-	"include/zasm/encoder/encoder.hpp"
-	"include/zasm/formatter/formatter.hpp"
-	"include/zasm/program/align.hpp"
-	"include/zasm/program/data.hpp"
-	"include/zasm/program/embeddedlabel.hpp"
-	"include/zasm/program/instruction.hpp"
-	"include/zasm/program/labeldata.hpp"
-	"include/zasm/program/node.hpp"
-	"include/zasm/program/observer.hpp"
-	"include/zasm/program/program.hpp"
-	"include/zasm/program/saverestore.hpp"
-	"include/zasm/program/section.hpp"
-	"include/zasm/program/sentinel.hpp"
-	"include/zasm/serialization/serializer.hpp"
-	"include/zasm/x86/assembler.hpp"
-	"include/zasm/x86/emitter.hpp"
-	"include/zasm/x86/memory.hpp"
-	"include/zasm/x86/meta.hpp"
-	"include/zasm/x86/mnemonic.hpp"
-	"include/zasm/x86/register.hpp"
-	"include/zasm/x86/x86.hpp"
-	"include/zasm/zasm.hpp"
+	"zasm/src/zasm/src/core/error.cpp"
+	"zasm/src/zasm/src/core/filestream.cpp"
+	"zasm/src/zasm/src/core/memorystream.cpp"
+	"zasm/src/zasm/src/decoder/decoder.cpp"
+	"zasm/src/zasm/src/encoder/encoder.cpp"
+	"zasm/src/zasm/src/formatter/formatter.cpp"
+	"zasm/src/zasm/src/program/data.cpp"
+	"zasm/src/zasm/src/program/instruction.cpp"
+	"zasm/src/zasm/src/program/program.cpp"
+	"zasm/src/zasm/src/program/register.cpp"
+	"zasm/src/zasm/src/program/saverestore.cpp"
+	"zasm/src/zasm/src/program/saverestore.load.cpp"
+	"zasm/src/zasm/src/program/saverestore.save.cpp"
+	"zasm/src/zasm/src/serialization/serializer.cpp"
+	"zasm/src/zasm/src/x86/x86.assembler.cpp"
+	"zasm/src/zasm/src/x86/x86.register.cpp"
+	"zasm/src/zasm/src/zasm.cpp"
+	"zasm/src/zasm/src/encoder/encoder.context.hpp"
+	"zasm/src/zasm/src/program/program.node.hpp"
+	"zasm/src/zasm/src/program/program.state.hpp"
+	"zasm/src/zasm/src/program/saverestorehelper.hpp"
+	"zasm/src/zasm/src/program/saverestoretypes.hpp"
+	"zasm/include/zasm/base/immediate.hpp"
+	"zasm/include/zasm/base/instruction.hpp"
+	"zasm/include/zasm/base/label.hpp"
+	"zasm/include/zasm/base/memory.hpp"
+	"zasm/include/zasm/base/meta.hpp"
+	"zasm/include/zasm/base/mode.hpp"
+	"zasm/include/zasm/base/operand.hpp"
+	"zasm/include/zasm/base/register.hpp"
+	"zasm/include/zasm/core/bitsize.hpp"
+	"zasm/include/zasm/core/enumflags.hpp"
+	"zasm/include/zasm/core/errors.hpp"
+	"zasm/include/zasm/core/expected.hpp"
+	"zasm/include/zasm/core/filestream.hpp"
+	"zasm/include/zasm/core/math.hpp"
+	"zasm/include/zasm/core/memorystream.hpp"
+	"zasm/include/zasm/core/objectpool.hpp"
+	"zasm/include/zasm/core/packed.hpp"
+	"zasm/include/zasm/core/stream.hpp"
+	"zasm/include/zasm/core/stringpool.hpp"
+	"zasm/include/zasm/core/strongtype.hpp"
+	"zasm/include/zasm/decoder/decoder.hpp"
+	"zasm/include/zasm/encoder/encoder.hpp"
+	"zasm/include/zasm/formatter/formatter.hpp"
+	"zasm/include/zasm/program/align.hpp"
+	"zasm/include/zasm/program/data.hpp"
+	"zasm/include/zasm/program/embeddedlabel.hpp"
+	"zasm/include/zasm/program/instruction.hpp"
+	"zasm/include/zasm/program/labeldata.hpp"
+	"zasm/include/zasm/program/node.hpp"
+	"zasm/include/zasm/program/observer.hpp"
+	"zasm/include/zasm/program/program.hpp"
+	"zasm/include/zasm/program/saverestore.hpp"
+	"zasm/include/zasm/program/section.hpp"
+	"zasm/include/zasm/program/sentinel.hpp"
+	"zasm/include/zasm/serialization/serializer.hpp"
+	"zasm/include/zasm/x86/assembler.hpp"
+	"zasm/include/zasm/x86/emitter.hpp"
+	"zasm/include/zasm/x86/memory.hpp"
+	"zasm/include/zasm/x86/meta.hpp"
+	"zasm/include/zasm/x86/mnemonic.hpp"
+	"zasm/include/zasm/x86/register.hpp"
+	"zasm/include/zasm/x86/x86.hpp"
+	"zasm/include/zasm/zasm.hpp"
 	cmake.toml
 )
 
@@ -142,7 +142,7 @@ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${zasm_SOURCES})
 
 add_library(zasm::zasm ALIAS zasm)
 target_include_directories(zasm PUBLIC
-	include
+	"zasm/include"
 )
 
 target_link_libraries(zasm PUBLIC
@@ -156,35 +156,35 @@ if(ZASM_BUILD_TESTS OR CMKR_ROOT_PROJECT) # tests
 
 	add_library(zasm::testdata ALIAS zasm_testdata)
 	target_include_directories(zasm_testdata INTERFACE
-		"src/testdata"
+		"testdata/include"
 	)
 
 endif()
 # Target: zasm_tests
 if(ZASM_BUILD_TESTS OR CMKR_ROOT_PROJECT) # tests
 	set(zasm_tests_SOURCES
-		"src/tests/main.cpp"
-		"src/tests/tests/tests.assembler.cpp"
-		"src/tests/tests/tests.decoder.cpp"
-		"src/tests/tests/tests.error.cpp"
-		"src/tests/tests/tests.externals.cpp"
-		"src/tests/tests/tests.formatter.cpp"
-		"src/tests/tests/tests.imports.cpp"
-		"src/tests/tests/tests.instruction.cpp"
-		"src/tests/tests/tests.instructions.x64.cpp"
-		"src/tests/tests/tests.instructionsinfo.x64.cpp"
-		"src/tests/tests/tests.observer.cpp"
-		"src/tests/tests/tests.packed.cpp"
-		"src/tests/tests/tests.program.cpp"
-		"src/tests/tests/tests.registers.cpp"
-		"src/tests/tests/tests.relocation.cpp"
-		"src/tests/tests/tests.saverestore.cpp"
-		"src/tests/tests/tests.sections.cpp"
-		"src/tests/tests/tests.segments.cpp"
-		"src/tests/tests/tests.serialization.cpp"
-		"src/tests/tests/tests.stringpool.cpp"
-		"src/tests/testutils.cpp"
-		"src/tests/testutils.hpp"
+		"tests/src/main.cpp"
+		"tests/src/tests/tests.assembler.cpp"
+		"tests/src/tests/tests.decoder.cpp"
+		"tests/src/tests/tests.error.cpp"
+		"tests/src/tests/tests.externals.cpp"
+		"tests/src/tests/tests.formatter.cpp"
+		"tests/src/tests/tests.imports.cpp"
+		"tests/src/tests/tests.instruction.cpp"
+		"tests/src/tests/tests.instructions.x64.cpp"
+		"tests/src/tests/tests.instructionsinfo.x64.cpp"
+		"tests/src/tests/tests.observer.cpp"
+		"tests/src/tests/tests.packed.cpp"
+		"tests/src/tests/tests.program.cpp"
+		"tests/src/tests/tests.registers.cpp"
+		"tests/src/tests/tests.relocation.cpp"
+		"tests/src/tests/tests.saverestore.cpp"
+		"tests/src/tests/tests.sections.cpp"
+		"tests/src/tests/tests.segments.cpp"
+		"tests/src/tests/tests.serialization.cpp"
+		"tests/src/tests/tests.stringpool.cpp"
+		"tests/src/testutils.cpp"
+		"tests/src/testutils.hpp"
 		cmake.toml
 	)
 
@@ -214,12 +214,12 @@ endif()
 # Target: zasm_benchmarks
 if(ZASM_BUILD_TESTS OR CMKR_ROOT_PROJECT) # tests
 	set(zasm_benchmarks_SOURCES
-		"src/benchmark/benchmarks/benchmark.assembler.cpp"
-		"src/benchmark/benchmarks/benchmark.formatter.cpp"
-		"src/benchmark/benchmarks/benchmark.instructioninfo.cpp"
-		"src/benchmark/benchmarks/benchmark.serialization.cpp"
-		"src/benchmark/benchmarks/benchmark.stringpool.cpp"
-		"src/benchmark/main.cpp"
+		"benchmark/src/benchmarks/benchmark.assembler.cpp"
+		"benchmark/src/benchmarks/benchmark.formatter.cpp"
+		"benchmark/src/benchmarks/benchmark.instructioninfo.cpp"
+		"benchmark/src/benchmarks/benchmark.serialization.cpp"
+		"benchmark/src/benchmarks/benchmark.stringpool.cpp"
+		"benchmark/src/main.cpp"
 		cmake.toml
 	)
 
diff --git a/src/benchmark/benchmarks/benchmark.assembler.cpp b/benchmark/src/benchmarks/benchmark.assembler.cpp
similarity index 100%
rename from src/benchmark/benchmarks/benchmark.assembler.cpp
rename to benchmark/src/benchmarks/benchmark.assembler.cpp
diff --git a/src/benchmark/benchmarks/benchmark.formatter.cpp b/benchmark/src/benchmarks/benchmark.formatter.cpp
similarity index 100%
rename from src/benchmark/benchmarks/benchmark.formatter.cpp
rename to benchmark/src/benchmarks/benchmark.formatter.cpp
diff --git a/src/benchmark/benchmarks/benchmark.instructioninfo.cpp b/benchmark/src/benchmarks/benchmark.instructioninfo.cpp
similarity index 100%
rename from src/benchmark/benchmarks/benchmark.instructioninfo.cpp
rename to benchmark/src/benchmarks/benchmark.instructioninfo.cpp
diff --git a/src/benchmark/benchmarks/benchmark.serialization.cpp b/benchmark/src/benchmarks/benchmark.serialization.cpp
similarity index 100%
rename from src/benchmark/benchmarks/benchmark.serialization.cpp
rename to benchmark/src/benchmarks/benchmark.serialization.cpp
diff --git a/src/benchmark/benchmarks/benchmark.stringpool.cpp b/benchmark/src/benchmarks/benchmark.stringpool.cpp
similarity index 100%
rename from src/benchmark/benchmarks/benchmark.stringpool.cpp
rename to benchmark/src/benchmarks/benchmark.stringpool.cpp
diff --git a/src/benchmark/main.cpp b/benchmark/src/main.cpp
similarity index 100%
rename from src/benchmark/main.cpp
rename to benchmark/src/main.cpp
diff --git a/cmake.toml b/cmake.toml
index 038309b..cf2ddee 100644
--- a/cmake.toml
+++ b/cmake.toml
@@ -26,13 +26,13 @@ alias = "zasm::common"
 type = "static"
 alias = "zasm::zasm"
 sources = [
-    "src/zasm/**.cpp",
+    "zasm/src/**.cpp",
 ]
 headers = [
-	"src/zasm/**.hpp",
-    "include/zasm/**.hpp",
+	"zasm/src/**.hpp",
+    "zasm/include/**.hpp",
 ]
-include-directories = ["include"]
+include-directories = ["zasm/include"]
 link-libraries = [
     "zasm::common",
     "Zydis",
@@ -42,16 +42,16 @@ link-libraries = [
 condition = "tests"
 type = "interface"
 alias = "zasm::testdata"
-include-directories = ["src/testdata"]
+include-directories = ["testdata/include"]
 
 [target.zasm_tests]
 condition = "tests"
 type = "executable"
 sources = [
-    "src/tests/**.cpp",
+    "tests/src/**.cpp",
 ]
 headers = [
-    "src/tests/**.hpp",
+    "tests/src/**.hpp",
 ]
 link-libraries = [
     "zasm::common",
@@ -66,10 +66,10 @@ PROJECT_LABEL = "tests"
 condition = "tests"
 type = "executable"
 sources = [
-    "src/benchmark/**.cpp",
+    "benchmark/src/**.cpp",
 ]
 headers = [
-    "src/benchmark/**.hpp",
+    "benchmark/src/**.hpp",
 ]
 link-libraries = [
     "zasm::common",
diff --git a/src/testdata/testdata/instructions.hpp b/testdata/include/zasm/testdata/x86/instructions.hpp
similarity index 100%
rename from src/testdata/testdata/instructions.hpp
rename to testdata/include/zasm/testdata/x86/instructions.hpp
diff --git a/src/tests/main.cpp b/tests/src/main.cpp
similarity index 100%
rename from src/tests/main.cpp
rename to tests/src/main.cpp
diff --git a/src/tests/tests/tests.assembler.cpp b/tests/src/tests/tests.assembler.cpp
similarity index 100%
rename from src/tests/tests/tests.assembler.cpp
rename to tests/src/tests/tests.assembler.cpp
diff --git a/src/tests/tests/tests.decoder.cpp b/tests/src/tests/tests.decoder.cpp
similarity index 100%
rename from src/tests/tests/tests.decoder.cpp
rename to tests/src/tests/tests.decoder.cpp
diff --git a/src/tests/tests/tests.error.cpp b/tests/src/tests/tests.error.cpp
similarity index 100%
rename from src/tests/tests/tests.error.cpp
rename to tests/src/tests/tests.error.cpp
diff --git a/src/tests/tests/tests.externals.cpp b/tests/src/tests/tests.externals.cpp
similarity index 100%
rename from src/tests/tests/tests.externals.cpp
rename to tests/src/tests/tests.externals.cpp
diff --git a/src/tests/tests/tests.formatter.cpp b/tests/src/tests/tests.formatter.cpp
similarity index 100%
rename from src/tests/tests/tests.formatter.cpp
rename to tests/src/tests/tests.formatter.cpp
diff --git a/src/tests/tests/tests.imports.cpp b/tests/src/tests/tests.imports.cpp
similarity index 100%
rename from src/tests/tests/tests.imports.cpp
rename to tests/src/tests/tests.imports.cpp
diff --git a/src/tests/tests/tests.instruction.cpp b/tests/src/tests/tests.instruction.cpp
similarity index 100%
rename from src/tests/tests/tests.instruction.cpp
rename to tests/src/tests/tests.instruction.cpp
diff --git a/src/tests/tests/tests.instructions.x64.cpp b/tests/src/tests/tests.instructions.x64.cpp
similarity index 100%
rename from src/tests/tests/tests.instructions.x64.cpp
rename to tests/src/tests/tests.instructions.x64.cpp
diff --git a/src/tests/tests/tests.instructionsinfo.x64.cpp b/tests/src/tests/tests.instructionsinfo.x64.cpp
similarity index 97%
rename from src/tests/tests/tests.instructionsinfo.x64.cpp
rename to tests/src/tests/tests.instructionsinfo.x64.cpp
index f73f134..926fd3b 100644
--- a/src/tests/tests/tests.instructionsinfo.x64.cpp
+++ b/tests/src/tests/tests.instructionsinfo.x64.cpp
@@ -1,7 +1,7 @@
 #include "../testutils.hpp"
 
 #include <gtest/gtest.h>
-#include <testdata/instructions.hpp>
+#include <zasm/testdata/x86/instructions.hpp>
 #include <zasm/zasm.hpp>
 
 namespace zasm::tests
@@ -28,7 +28,7 @@ namespace zasm::tests
         ASSERT_EQ(info.hasValue(), true);
 
         ASSERT_EQ(instr.getOperandCount(), info->getVisibleOperandCount());
-        
+
         const auto& instrInfo = info.value();
         for (std::size_t i = 0; i < instr.getOperandCount(); i++)
         {
diff --git a/src/tests/tests/tests.observer.cpp b/tests/src/tests/tests.observer.cpp
similarity index 100%
rename from src/tests/tests/tests.observer.cpp
rename to tests/src/tests/tests.observer.cpp
diff --git a/src/tests/tests/tests.packed.cpp b/tests/src/tests/tests.packed.cpp
similarity index 100%
rename from src/tests/tests/tests.packed.cpp
rename to tests/src/tests/tests.packed.cpp
diff --git a/src/tests/tests/tests.program.cpp b/tests/src/tests/tests.program.cpp
similarity index 100%
rename from src/tests/tests/tests.program.cpp
rename to tests/src/tests/tests.program.cpp
diff --git a/src/tests/tests/tests.registers.cpp b/tests/src/tests/tests.registers.cpp
similarity index 100%
rename from src/tests/tests/tests.registers.cpp
rename to tests/src/tests/tests.registers.cpp
diff --git a/src/tests/tests/tests.relocation.cpp b/tests/src/tests/tests.relocation.cpp
similarity index 100%
rename from src/tests/tests/tests.relocation.cpp
rename to tests/src/tests/tests.relocation.cpp
diff --git a/src/tests/tests/tests.saverestore.cpp b/tests/src/tests/tests.saverestore.cpp
similarity index 100%
rename from src/tests/tests/tests.saverestore.cpp
rename to tests/src/tests/tests.saverestore.cpp
diff --git a/src/tests/tests/tests.sections.cpp b/tests/src/tests/tests.sections.cpp
similarity index 100%
rename from src/tests/tests/tests.sections.cpp
rename to tests/src/tests/tests.sections.cpp
diff --git a/src/tests/tests/tests.segments.cpp b/tests/src/tests/tests.segments.cpp
similarity index 100%
rename from src/tests/tests/tests.segments.cpp
rename to tests/src/tests/tests.segments.cpp
diff --git a/src/tests/tests/tests.serialization.cpp b/tests/src/tests/tests.serialization.cpp
similarity index 100%
rename from src/tests/tests/tests.serialization.cpp
rename to tests/src/tests/tests.serialization.cpp
diff --git a/src/tests/tests/tests.stringpool.cpp b/tests/src/tests/tests.stringpool.cpp
similarity index 100%
rename from src/tests/tests/tests.stringpool.cpp
rename to tests/src/tests/tests.stringpool.cpp
diff --git a/src/tests/testutils.cpp b/tests/src/testutils.cpp
similarity index 100%
rename from src/tests/testutils.cpp
rename to tests/src/testutils.cpp
diff --git a/src/tests/testutils.hpp b/tests/src/testutils.hpp
similarity index 100%
rename from src/tests/testutils.hpp
rename to tests/src/testutils.hpp
diff --git a/include/zasm/base/immediate.hpp b/zasm/include/zasm/base/immediate.hpp
similarity index 100%
rename from include/zasm/base/immediate.hpp
rename to zasm/include/zasm/base/immediate.hpp
diff --git a/include/zasm/base/instruction.hpp b/zasm/include/zasm/base/instruction.hpp
similarity index 100%
rename from include/zasm/base/instruction.hpp
rename to zasm/include/zasm/base/instruction.hpp
diff --git a/include/zasm/base/label.hpp b/zasm/include/zasm/base/label.hpp
similarity index 100%
rename from include/zasm/base/label.hpp
rename to zasm/include/zasm/base/label.hpp
diff --git a/include/zasm/base/memory.hpp b/zasm/include/zasm/base/memory.hpp
similarity index 100%
rename from include/zasm/base/memory.hpp
rename to zasm/include/zasm/base/memory.hpp
diff --git a/include/zasm/base/meta.hpp b/zasm/include/zasm/base/meta.hpp
similarity index 100%
rename from include/zasm/base/meta.hpp
rename to zasm/include/zasm/base/meta.hpp
diff --git a/include/zasm/base/mode.hpp b/zasm/include/zasm/base/mode.hpp
similarity index 100%
rename from include/zasm/base/mode.hpp
rename to zasm/include/zasm/base/mode.hpp
diff --git a/include/zasm/base/operand.hpp b/zasm/include/zasm/base/operand.hpp
similarity index 100%
rename from include/zasm/base/operand.hpp
rename to zasm/include/zasm/base/operand.hpp
diff --git a/include/zasm/base/register.hpp b/zasm/include/zasm/base/register.hpp
similarity index 100%
rename from include/zasm/base/register.hpp
rename to zasm/include/zasm/base/register.hpp
diff --git a/include/zasm/core/bitsize.hpp b/zasm/include/zasm/core/bitsize.hpp
similarity index 100%
rename from include/zasm/core/bitsize.hpp
rename to zasm/include/zasm/core/bitsize.hpp
diff --git a/include/zasm/core/enumflags.hpp b/zasm/include/zasm/core/enumflags.hpp
similarity index 100%
rename from include/zasm/core/enumflags.hpp
rename to zasm/include/zasm/core/enumflags.hpp
diff --git a/include/zasm/core/errors.hpp b/zasm/include/zasm/core/errors.hpp
similarity index 100%
rename from include/zasm/core/errors.hpp
rename to zasm/include/zasm/core/errors.hpp
diff --git a/include/zasm/core/expected.hpp b/zasm/include/zasm/core/expected.hpp
similarity index 100%
rename from include/zasm/core/expected.hpp
rename to zasm/include/zasm/core/expected.hpp
diff --git a/include/zasm/core/filestream.hpp b/zasm/include/zasm/core/filestream.hpp
similarity index 100%
rename from include/zasm/core/filestream.hpp
rename to zasm/include/zasm/core/filestream.hpp
diff --git a/include/zasm/core/math.hpp b/zasm/include/zasm/core/math.hpp
similarity index 100%
rename from include/zasm/core/math.hpp
rename to zasm/include/zasm/core/math.hpp
diff --git a/include/zasm/core/memorystream.hpp b/zasm/include/zasm/core/memorystream.hpp
similarity index 100%
rename from include/zasm/core/memorystream.hpp
rename to zasm/include/zasm/core/memorystream.hpp
diff --git a/include/zasm/core/objectpool.hpp b/zasm/include/zasm/core/objectpool.hpp
similarity index 100%
rename from include/zasm/core/objectpool.hpp
rename to zasm/include/zasm/core/objectpool.hpp
diff --git a/include/zasm/core/packed.hpp b/zasm/include/zasm/core/packed.hpp
similarity index 100%
rename from include/zasm/core/packed.hpp
rename to zasm/include/zasm/core/packed.hpp
diff --git a/include/zasm/core/stream.hpp b/zasm/include/zasm/core/stream.hpp
similarity index 100%
rename from include/zasm/core/stream.hpp
rename to zasm/include/zasm/core/stream.hpp
diff --git a/include/zasm/core/stringpool.hpp b/zasm/include/zasm/core/stringpool.hpp
similarity index 100%
rename from include/zasm/core/stringpool.hpp
rename to zasm/include/zasm/core/stringpool.hpp
diff --git a/include/zasm/core/strongtype.hpp b/zasm/include/zasm/core/strongtype.hpp
similarity index 100%
rename from include/zasm/core/strongtype.hpp
rename to zasm/include/zasm/core/strongtype.hpp
diff --git a/include/zasm/decoder/decoder.hpp b/zasm/include/zasm/decoder/decoder.hpp
similarity index 100%
rename from include/zasm/decoder/decoder.hpp
rename to zasm/include/zasm/decoder/decoder.hpp
diff --git a/include/zasm/encoder/encoder.hpp b/zasm/include/zasm/encoder/encoder.hpp
similarity index 100%
rename from include/zasm/encoder/encoder.hpp
rename to zasm/include/zasm/encoder/encoder.hpp
diff --git a/include/zasm/formatter/formatter.hpp b/zasm/include/zasm/formatter/formatter.hpp
similarity index 100%
rename from include/zasm/formatter/formatter.hpp
rename to zasm/include/zasm/formatter/formatter.hpp
diff --git a/include/zasm/program/align.hpp b/zasm/include/zasm/program/align.hpp
similarity index 100%
rename from include/zasm/program/align.hpp
rename to zasm/include/zasm/program/align.hpp
diff --git a/include/zasm/program/data.hpp b/zasm/include/zasm/program/data.hpp
similarity index 100%
rename from include/zasm/program/data.hpp
rename to zasm/include/zasm/program/data.hpp
diff --git a/include/zasm/program/embeddedlabel.hpp b/zasm/include/zasm/program/embeddedlabel.hpp
similarity index 100%
rename from include/zasm/program/embeddedlabel.hpp
rename to zasm/include/zasm/program/embeddedlabel.hpp
diff --git a/include/zasm/program/instruction.hpp b/zasm/include/zasm/program/instruction.hpp
similarity index 100%
rename from include/zasm/program/instruction.hpp
rename to zasm/include/zasm/program/instruction.hpp
diff --git a/include/zasm/program/labeldata.hpp b/zasm/include/zasm/program/labeldata.hpp
similarity index 100%
rename from include/zasm/program/labeldata.hpp
rename to zasm/include/zasm/program/labeldata.hpp
diff --git a/include/zasm/program/node.hpp b/zasm/include/zasm/program/node.hpp
similarity index 100%
rename from include/zasm/program/node.hpp
rename to zasm/include/zasm/program/node.hpp
diff --git a/include/zasm/program/observer.hpp b/zasm/include/zasm/program/observer.hpp
similarity index 100%
rename from include/zasm/program/observer.hpp
rename to zasm/include/zasm/program/observer.hpp
diff --git a/include/zasm/program/program.hpp b/zasm/include/zasm/program/program.hpp
similarity index 100%
rename from include/zasm/program/program.hpp
rename to zasm/include/zasm/program/program.hpp
diff --git a/include/zasm/program/saverestore.hpp b/zasm/include/zasm/program/saverestore.hpp
similarity index 100%
rename from include/zasm/program/saverestore.hpp
rename to zasm/include/zasm/program/saverestore.hpp
diff --git a/include/zasm/program/section.hpp b/zasm/include/zasm/program/section.hpp
similarity index 100%
rename from include/zasm/program/section.hpp
rename to zasm/include/zasm/program/section.hpp
diff --git a/include/zasm/program/sentinel.hpp b/zasm/include/zasm/program/sentinel.hpp
similarity index 100%
rename from include/zasm/program/sentinel.hpp
rename to zasm/include/zasm/program/sentinel.hpp
diff --git a/include/zasm/serialization/serializer.hpp b/zasm/include/zasm/serialization/serializer.hpp
similarity index 100%
rename from include/zasm/serialization/serializer.hpp
rename to zasm/include/zasm/serialization/serializer.hpp
diff --git a/include/zasm/x86/assembler.hpp b/zasm/include/zasm/x86/assembler.hpp
similarity index 100%
rename from include/zasm/x86/assembler.hpp
rename to zasm/include/zasm/x86/assembler.hpp
diff --git a/include/zasm/x86/emitter.hpp b/zasm/include/zasm/x86/emitter.hpp
similarity index 100%
rename from include/zasm/x86/emitter.hpp
rename to zasm/include/zasm/x86/emitter.hpp
diff --git a/include/zasm/x86/memory.hpp b/zasm/include/zasm/x86/memory.hpp
similarity index 100%
rename from include/zasm/x86/memory.hpp
rename to zasm/include/zasm/x86/memory.hpp
diff --git a/include/zasm/x86/meta.hpp b/zasm/include/zasm/x86/meta.hpp
similarity index 100%
rename from include/zasm/x86/meta.hpp
rename to zasm/include/zasm/x86/meta.hpp
diff --git a/include/zasm/x86/mnemonic.hpp b/zasm/include/zasm/x86/mnemonic.hpp
similarity index 100%
rename from include/zasm/x86/mnemonic.hpp
rename to zasm/include/zasm/x86/mnemonic.hpp
diff --git a/include/zasm/x86/register.hpp b/zasm/include/zasm/x86/register.hpp
similarity index 100%
rename from include/zasm/x86/register.hpp
rename to zasm/include/zasm/x86/register.hpp
diff --git a/include/zasm/x86/x86.hpp b/zasm/include/zasm/x86/x86.hpp
similarity index 100%
rename from include/zasm/x86/x86.hpp
rename to zasm/include/zasm/x86/x86.hpp
diff --git a/include/zasm/zasm.hpp b/zasm/include/zasm/zasm.hpp
similarity index 100%
rename from include/zasm/zasm.hpp
rename to zasm/include/zasm/zasm.hpp
diff --git a/src/zasm/src/core/error.cpp b/zasm/src/zasm/src/core/error.cpp
similarity index 100%
rename from src/zasm/src/core/error.cpp
rename to zasm/src/zasm/src/core/error.cpp
diff --git a/src/zasm/src/core/filestream.cpp b/zasm/src/zasm/src/core/filestream.cpp
similarity index 100%
rename from src/zasm/src/core/filestream.cpp
rename to zasm/src/zasm/src/core/filestream.cpp
diff --git a/src/zasm/src/core/memorystream.cpp b/zasm/src/zasm/src/core/memorystream.cpp
similarity index 100%
rename from src/zasm/src/core/memorystream.cpp
rename to zasm/src/zasm/src/core/memorystream.cpp
diff --git a/src/zasm/src/decoder/decoder.cpp b/zasm/src/zasm/src/decoder/decoder.cpp
similarity index 100%
rename from src/zasm/src/decoder/decoder.cpp
rename to zasm/src/zasm/src/decoder/decoder.cpp
diff --git a/src/zasm/src/encoder/encoder.context.hpp b/zasm/src/zasm/src/encoder/encoder.context.hpp
similarity index 100%
rename from src/zasm/src/encoder/encoder.context.hpp
rename to zasm/src/zasm/src/encoder/encoder.context.hpp
diff --git a/src/zasm/src/encoder/encoder.cpp b/zasm/src/zasm/src/encoder/encoder.cpp
similarity index 100%
rename from src/zasm/src/encoder/encoder.cpp
rename to zasm/src/zasm/src/encoder/encoder.cpp
diff --git a/src/zasm/src/formatter/formatter.cpp b/zasm/src/zasm/src/formatter/formatter.cpp
similarity index 100%
rename from src/zasm/src/formatter/formatter.cpp
rename to zasm/src/zasm/src/formatter/formatter.cpp
diff --git a/src/zasm/src/program/data.cpp b/zasm/src/zasm/src/program/data.cpp
similarity index 100%
rename from src/zasm/src/program/data.cpp
rename to zasm/src/zasm/src/program/data.cpp
diff --git a/src/zasm/src/program/instruction.cpp b/zasm/src/zasm/src/program/instruction.cpp
similarity index 100%
rename from src/zasm/src/program/instruction.cpp
rename to zasm/src/zasm/src/program/instruction.cpp
diff --git a/src/zasm/src/program/program.cpp b/zasm/src/zasm/src/program/program.cpp
similarity index 100%
rename from src/zasm/src/program/program.cpp
rename to zasm/src/zasm/src/program/program.cpp
diff --git a/src/zasm/src/program/program.node.hpp b/zasm/src/zasm/src/program/program.node.hpp
similarity index 100%
rename from src/zasm/src/program/program.node.hpp
rename to zasm/src/zasm/src/program/program.node.hpp
diff --git a/src/zasm/src/program/program.state.hpp b/zasm/src/zasm/src/program/program.state.hpp
similarity index 100%
rename from src/zasm/src/program/program.state.hpp
rename to zasm/src/zasm/src/program/program.state.hpp
diff --git a/src/zasm/src/program/register.cpp b/zasm/src/zasm/src/program/register.cpp
similarity index 100%
rename from src/zasm/src/program/register.cpp
rename to zasm/src/zasm/src/program/register.cpp
diff --git a/src/zasm/src/program/saverestore.cpp b/zasm/src/zasm/src/program/saverestore.cpp
similarity index 100%
rename from src/zasm/src/program/saverestore.cpp
rename to zasm/src/zasm/src/program/saverestore.cpp
diff --git a/src/zasm/src/program/saverestore.load.cpp b/zasm/src/zasm/src/program/saverestore.load.cpp
similarity index 100%
rename from src/zasm/src/program/saverestore.load.cpp
rename to zasm/src/zasm/src/program/saverestore.load.cpp
diff --git a/src/zasm/src/program/saverestore.save.cpp b/zasm/src/zasm/src/program/saverestore.save.cpp
similarity index 100%
rename from src/zasm/src/program/saverestore.save.cpp
rename to zasm/src/zasm/src/program/saverestore.save.cpp
diff --git a/src/zasm/src/program/saverestorehelper.hpp b/zasm/src/zasm/src/program/saverestorehelper.hpp
similarity index 100%
rename from src/zasm/src/program/saverestorehelper.hpp
rename to zasm/src/zasm/src/program/saverestorehelper.hpp
diff --git a/src/zasm/src/program/saverestoretypes.hpp b/zasm/src/zasm/src/program/saverestoretypes.hpp
similarity index 100%
rename from src/zasm/src/program/saverestoretypes.hpp
rename to zasm/src/zasm/src/program/saverestoretypes.hpp
diff --git a/src/zasm/src/serialization/serializer.cpp b/zasm/src/zasm/src/serialization/serializer.cpp
similarity index 100%
rename from src/zasm/src/serialization/serializer.cpp
rename to zasm/src/zasm/src/serialization/serializer.cpp
diff --git a/src/zasm/src/x86/x86.assembler.cpp b/zasm/src/zasm/src/x86/x86.assembler.cpp
similarity index 100%
rename from src/zasm/src/x86/x86.assembler.cpp
rename to zasm/src/zasm/src/x86/x86.assembler.cpp
diff --git a/src/zasm/src/x86/x86.register.cpp b/zasm/src/zasm/src/x86/x86.register.cpp
similarity index 100%
rename from src/zasm/src/x86/x86.register.cpp
rename to zasm/src/zasm/src/x86/x86.register.cpp
diff --git a/src/zasm/src/zasm.cpp b/zasm/src/zasm/src/zasm.cpp
similarity index 100%
rename from src/zasm/src/zasm.cpp
rename to zasm/src/zasm/src/zasm.cpp