From c43a10ab9dafd02e617bfd38a53065b919a9d0a5 Mon Sep 17 00:00:00 2001 From: Mike Gelfand Date: Sun, 4 Jan 2015 10:57:09 +0000 Subject: [PATCH] Mark GTK and Qt clients as GUI programs on Windows (detach from console) --- cmake/TrMacros.cmake | 8 ++++++++ gtk/CMakeLists.txt | 6 +++++- qt/CMakeLists.txt | 6 +++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cmake/TrMacros.cmake b/cmake/TrMacros.cmake index dfff6ab81..2d233882f 100644 --- a/cmake/TrMacros.cmake +++ b/cmake/TrMacros.cmake @@ -80,3 +80,11 @@ macro(tr_add_external_auto_library ID LIBNAME) set(${ID}_LIBRARIES ${${ID}_LIBRARY}) endif() endmacro() + +function(tr_append_target_property TGT PROP VAL) + get_target_property(OVAL ${TGT} ${PROP}) + if(OVAL) + set(VAL "${OVAL} ${VAL}") + endif() + set_target_properties(${TGT} PROPERTIES ${PROP} "${VAL}") +endfunction() diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index 21bceda85..9a2bf109c 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -135,7 +135,7 @@ add_definitions( ${GTK_CFLAGS_OTHER} ) -add_executable(${TR_NAME}-gtk +add_executable(${TR_NAME}-gtk WIN32 ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS} ${${PROJECT_NAME}_DESKTOP_FILE} @@ -148,6 +148,10 @@ target_link_libraries(${TR_NAME}-gtk ${EVENT2_LIBRARIES} ) +if(MSVC) + tr_append_target_property(${TR_NAME}-gtk LINK_FLAGS "/ENTRY:mainCRTStartup") +endif() + install(TARGETS ${TR_NAME}-gtk DESTINATION ${CMAKE_INSTALL_BINDIR}) set(${PROJECT_NAME}_PUBLIC_ICONS diff --git a/qt/CMakeLists.txt b/qt/CMakeLists.txt index e8ef57905..21682393d 100644 --- a/qt/CMakeLists.txt +++ b/qt/CMakeLists.txt @@ -163,7 +163,7 @@ add_definitions( "-DTRANSLATIONS_DIR=\"${CMAKE_INSTALL_FULL_DATADIR}/${TR_NAME}/translations\"" ) -add_executable(${TR_NAME}-qt +add_executable(${TR_NAME}-qt WIN32 ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_UI_SOURCES} ${${PROJECT_NAME}_QRC_SOURCES} @@ -178,6 +178,10 @@ target_link_libraries(${TR_NAME}-qt ${EVENT2_LIBRARIES} ) +if(MSVC) + tr_append_target_property(${TR_NAME}-qt LINK_FLAGS "/ENTRY:mainCRTStartup") +endif() + if(USE_QT5) qt5_use_modules(${TR_NAME}-qt ${TR_QT5_MODULES}) endif()