diff --git a/.gitignore b/.gitignore
index eccd4e8..8900db3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@
!.gitignore
!LICENSE
!README.md
+!toolchain*.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fc82036..92a2fb4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,22 +1,14 @@
cmake_minimum_required(VERSION 3.16)
project(PunkLauncher VERSION 1.0.0 LANGUAGES CXX)
-
-if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
- message(STATUS "In-source builds are not allowed. Please use a separate build directory.")
- message(FATAL_ERROR "Please use a separate build directory: cd build & cmake ..")
-endif()
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/app)
set(CMAKE_AUTORCC ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-find_package(LibArchive REQUIRED)
find_package(Qt6 REQUIRED COMPONENTS Widgets Network)
qt_standard_project_setup()
-
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Linux-app)
-
add_subdirectory(src/app)
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index db22c10..21397d0 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -1,20 +1,24 @@
qt_add_executable(PunkLauncher
main.cpp
ui/mainwindow.cpp
- launcher/launcher.cpp
- launcher/profile_handler/forge1_12_2.cpp
- backend/backend.cpp
- settings/settings.cpp
+ launcher/launcher.cpp
+ launcher/profile_handler/forge1_12_2.cpp
+ backend/backend.cpp
+ settings/settings.cpp
../resources/resources.qrc
../resources/mainwindow.ui
)
target_link_libraries(PunkLauncher PRIVATE
- Qt6::Widgets
- Qt6::Network
- LibArchive::LibArchive)
-
-set_target_properties(PunkLauncher PROPERTIES
- WIN32_EXECUTABLE ON
- MACOSX_BUNDLE ON
+ Qt6::Widgets
+ Qt6::Network
)
+
+if(WIN32)
+ target_sources(PunkLauncher PRIVATE
+ ../resources/app.rc
+ )
+ set_target_properties(PunkLauncher PROPERTIES
+ WIN32_EXECUTABLE ON
+ )
+endif()
diff --git a/src/resources/app.ico b/src/resources/app.ico
new file mode 100644
index 0000000..ffa3942
Binary files /dev/null and b/src/resources/app.ico differ
diff --git a/src/resources/app.rc b/src/resources/app.rc
new file mode 100644
index 0000000..80624c3
--- /dev/null
+++ b/src/resources/app.rc
@@ -0,0 +1 @@
+IDI_ICON1 ICON DISCARDABLE "app.ico"
diff --git a/src/resources/mainwindow.ui b/src/resources/mainwindow.ui
index c37bdb2..fc8fe5b 100644
--- a/src/resources/mainwindow.ui
+++ b/src/resources/mainwindow.ui
@@ -31,6 +31,10 @@
PunkLauncher
+
+
+ :/app.ico:/app.ico
+
QFrame#border_top, QFrame#border_bottom, QFrame#border_left, QFrame#border_right {
/*background-color: rgb(217, 78, 108);*/
diff --git a/src/resources/resources.qrc b/src/resources/resources.qrc
index 8fb3988..2bfb2dc 100644
--- a/src/resources/resources.qrc
+++ b/src/resources/resources.qrc
@@ -1,6 +1,7 @@
auth/logo.png
+ app.ico
main/selected_profile.png
main/settings_pressed_32x32.png
main/settings_hover_32x32.png
diff --git a/toolchain-win.cmake b/toolchain-win.cmake
new file mode 100644
index 0000000..5b8aedd
--- /dev/null
+++ b/toolchain-win.cmake
@@ -0,0 +1,19 @@
+set(CMAKE_SYSTEM_NAME Windows)
+set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
+set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
+set(CMAKE_FIND_ROOT_PATH /home/xuy/x-tools/x86_64-w64-mingw32)
+
+# Режим поиска зависимостей
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+# Библиотеки
+set(CMAKE_PREFIX_PATH /opt/qt6-mingw ${CMAKE_PREFIX_PATH})
+set(CMAKE_PREFIX_PATH /opt/deps/mingw ${CMAKE_PREFIX_PATH})
+set(CMAKE_PREFIX_PATH /opt/deps/mingw-icu ${CMAKE_PREFIX_PATH})
+
+# Статическая сборка
+set(QT_STATIC ON)
+set(DBUILD_SHARED_LIBS OFF)
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static -static-libgcc -static-libstdc++")