From 34f595cc786336f9f182284e0e84d172d0881265 Mon Sep 17 00:00:00 2001 From: Felix Geyer Date: Tue, 23 Oct 2012 14:52:59 +0200 Subject: [PATCH] Build icon into the main executable on Windows. --- CMakeLists.txt | 6 ++++++ share/windows/icon.rc | 1 + src/CMakeLists.txt | 12 +++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 share/windows/icon.rc diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d24a4df6..6f47f1329 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,6 +123,12 @@ else() add_gcc_compiler_flags("-ansi") endif() +if(MINGW) + set(CMAKE_RC_COMPILER_INIT windres) + enable_language(RC) + set(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") +endif() + if(APPLE OR MINGW) set(PROGNAME KeePassX) else() diff --git a/share/windows/icon.rc b/share/windows/icon.rc new file mode 100644 index 000000000..db3870489 --- /dev/null +++ b/share/windows/icon.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "keepassx.ico" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 083b80985..35ed1a2a7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -105,6 +105,10 @@ set(keepassx_SOURCES streams/SymmetricCipherStream.cpp ) +set(keepassx_SOURCES_MAINEXE + main.cpp +) + set(keepassx_MOC autotype/AutoType.h autotype/AutoTypeSelectDialog.h @@ -179,12 +183,18 @@ set(keepassx_FORMS gui/group/EditGroupWidgetMain.ui ) +if(MINGW) + set(keepassx_SOURCES_MAINEXE + ${keepassx_SOURCES_MAINEXE} + ${CMAKE_SOURCE_DIR}/share/windows/icon.rc) +endif() + qt4_wrap_ui(keepassx_SOURCES ${keepassx_FORMS}) qt4_wrap_cpp(keepassx_SOURCES ${keepassx_MOC}) add_library(keepassx_core STATIC ${keepassx_SOURCES}) -add_executable(${PROGNAME} WIN32 MACOSX_BUNDLE main.cpp) +add_executable(${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES_MAINEXE}) target_link_libraries(${PROGNAME} keepassx_core ${QT_QTCORE_LIBRARY}