diff --git a/Code/Mantid/Build/CMake/WindowsSetup.cmake b/Code/Mantid/Build/CMake/WindowsSetup.cmake index fe440c38ca758f3fef13d210de2818f122cf3661..2f6af0309442c786c718ed30385e5d2745cc9fc5 100644 --- a/Code/Mantid/Build/CMake/WindowsSetup.cmake +++ b/Code/Mantid/Build/CMake/WindowsSetup.cmake @@ -1,4 +1,4 @@ -########################################################################### +########################################################################## # Set include and library directories so that CMake finds Third_Party ########################################################################### set ( CMAKE_INCLUDE_PATH "${THIRD_PARTY}/include" ) @@ -57,6 +57,8 @@ add_definitions ( -D_USE_MATH_DEFINES -DNOMINMAX ) add_definitions ( -DGSL_DLL ) add_definitions ( -DPOCO_NO_UNWINDOWS ) +set ( CONSOLE ON CACHE BOOL "Switch for enabling/disabling the console" ) + set ( BIN_DIR bin ) set ( LIB_DIR ${BIN_DIR} ) set ( PLUGINS_DIR plugins ) diff --git a/Code/Mantid/MantidPlot/CMakeLists.txt b/Code/Mantid/MantidPlot/CMakeLists.txt index 0e0a0e08725bd4f6bdf2a1c39b570323e356111d..1760e7098017767d1211b7599c51b385212d87f6 100644 --- a/Code/Mantid/MantidPlot/CMakeLists.txt +++ b/Code/Mantid/MantidPlot/CMakeLists.txt @@ -694,6 +694,11 @@ set ( INC_FILES ${QTIPLOT_HDRS} ${MANTID_HDRS} ) ########################################################################### if( WIN32 ) set ( MANTID_RC_FILE icons/MantidPlotDesktop.rc ) + if ( CONSOLE ) + set ( WIN_CONSOLE ) + else () + set( WIN_CONSOLE WIN32 ) + endif( CONSOLE ) endif( WIN32 ) if ( APPLE ) @@ -701,7 +706,7 @@ if ( APPLE ) set_source_files_properties(MANTID_RC_FILE PROPERTIES MACOSX_PACKAGE_LOCATION Resources) endif () -add_executable ( MantidPlot WIN32 MACOSX_BUNDLE ${SRC_FILES} ${INC_FILES} +add_executable ( MantidPlot ${WIN_CONSOLE} MACOSX_BUNDLE ${SRC_FILES} ${INC_FILES} ${MOCCED_FILES} ${UI_HDRS} ${RES_FILES} ${MANTID_RC_FILE} ) @@ -717,15 +722,13 @@ target_link_libraries ( MantidPlot ) ########################################################################### -# Console and entry point flags for Windows +# Entry point flag for Windows to ensure we always link to standard main ########################################################################### if( WIN32 ) - set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /ENTRY:mainCRTStartup" ) - set_target_properties( MantidPlot PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE" ) - set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE /ENTRY:mainCRTStartup" ) - set_target_properties( MantidPlot PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE" ) - set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup" ) - set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup") + set_target_properties( MantidPlot PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup" ) + if ( CONSOLE ) + set_target_properties( MantidPlot PROPERTIES COMPILE_DEFINITIONS "_CONSOLE" ) + endif ( CONSOLE ) endif( WIN32 ) ###########################################################################