diff --git a/.gitignore b/.gitignore index 47d4afc..e17f9eb 100644 --- a/.gitignore +++ b/.gitignore @@ -397,3 +397,6 @@ FodyWeavers.xsd # JetBrains Rider *.sln.iml + +# Don't ignore resources +!UnleashedRecomp/res/[Ww][Ii][Nn]32/ diff --git a/UnleashedRecomp/CMakeLists.txt b/UnleashedRecomp/CMakeLists.txt index a02c36d..f07ba1a 100644 --- a/UnleashedRecomp/CMakeLists.txt +++ b/UnleashedRecomp/CMakeLists.txt @@ -20,6 +20,7 @@ file(INSTALL RENAME "${TARGET_NAME}.toml" ) +# Generate icon bitmap header for SDL surface. BIN2H(SOURCE_FILE "res/icon.bmp" HEADER_FILE "res/icon.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_icon") set(SWA_PRECOMPILED_HEADERS @@ -74,7 +75,15 @@ set(SWA_CXX_SOURCES ${SWA_UI_CXX_SOURCES} ) -add_executable(UnleashedRecomp ${SWA_CXX_SOURCES}) +if (WIN32) + # Set up Win32 resources for application icon. + set(ICON_PATH "${PROJECT_SOURCE_DIR}/res/win32/icon.ico") + configure_file("res/win32/res.rc" "${CMAKE_BINARY_DIR}/res.rc" @ONLY) + add_executable(UnleashedRecomp ${SWA_CXX_SOURCES} "${CMAKE_BINARY_DIR}/res.rc") +else() + add_executable(UnleashedRecomp ${SWA_CXX_SOURCES}) +endif() + set_target_properties(UnleashedRecomp PROPERTIES OUTPUT_NAME ${TARGET_NAME}) find_package(d3d12-memory-allocator CONFIG REQUIRED) diff --git a/UnleashedRecomp/res/win32/icon.ico b/UnleashedRecomp/res/win32/icon.ico new file mode 100644 index 0000000..797891f Binary files /dev/null and b/UnleashedRecomp/res/win32/icon.ico differ diff --git a/UnleashedRecomp/res/win32/res.rc b/UnleashedRecomp/res/win32/res.rc new file mode 100644 index 0000000..6e370d8 --- /dev/null +++ b/UnleashedRecomp/res/win32/res.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON "@ICON_PATH@" \ No newline at end of file