[CMake] Program with Qt opening with a bash screen on windows before showing the gui...
Michael Jackson
mike.jackson at bluequartz.net
Thu Dec 1 13:25:33 EST 2011
And in a cross platform environment you want to detect the system being compiled for and insert the proper keyword to "add_executable()".
# Default GUI type is blank
set(GUI_TYPE "")
#-- Configure the OS X Bundle Plist
if (APPLE)
SET(GUI_TYPE MACOSX_BUNDLE)
elseif(WIN32)
set(GUI_TYPE WIN32)
endif()
add_executable(myprogram ${GUI_TYPE} ${SOURCES})
Just for completeness.
If you search the CMake Wiki there is a complete working Qt example which has some of the deployment issues worked out also.
___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson at bluequartz.net www.bluequartz.net
On Dec 1, 2011, at 12:06 PM, Ben Medina wrote:
> Qt also provides qtmain.lib to resolve the need for WinMain, in case
> you run into that linker error.
>
> On Wed, Nov 30, 2011 at 4:26 PM, David Cole <david.cole at kitware.com> wrote:
>> On Wed, Nov 30, 2011 at 6:51 PM, Renato Utsch <renatoutsch at gmail.com> wrote:
>>> Hello CMake guys...
>>>
>>> Well, I was writing a portable program using CMake that uses Qt as it's GUI
>>> framework...
>>>
>>> I compiled it on linux and it worked really well, no problems. But when
>>> compiling on Windows, the program opened a blank bash screen before opening
>>> the proper gui. I thought that this could be with Qt itself, but when I
>>> tried with qmake, the program runned normally, without any bash screen
>>> opening...
>>>
>>> I used the Visual C++ Express 2008 to compile, with Qt libraries 4.7.4 for
>>> the Visual 2008. Here is the CMakeLists.txt:
>>>
>>> project(test CXX)
>>> cmake_minimum_required(VERSION 2.8)
>>> find_package(Qt4 REQUIRED)
>>> include(${QT_USE_FILE})
>>> set(test_SRCS
>>> main.cpp
>>> MainWindow.cpp
>>> )
>>> set(test_MOC_SRCS
>>> MainWindow.hpp
>>> )
>>>
>>> set(test_RCCS
>>> rc.qrc
>>> )
>>> qt4_wrap_cpp(test_MOCS ${test_MOC_SRCS})
>>> qt4_add_resources(test_RCC_SRCS ${test_RCCS})
>>> add_definitions(-DQT_NO_DEBUG)
>>> add_executable(test
>>> ${test_SRCS}
>>> ${test_MOCS}
>>> ${test_RCC_SRCS})
>>> target_link_libraries(test ${QT_LIBRARIES})
>>>
>>> If there is any solution to this I would be very grateful, because I really
>>> want to use CMake.
>>>
>>>
>>> Thanks!
>>>
>>>
>>> Renato
>>>
>>> --
>>>
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the CMake FAQ at:
>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.cmake.org/mailman/listinfo/cmake
>>
>> Add the WIN32 argument to add_executable to tell it it's a Windows app
>> and not a console app.
>>
>> Like this:
>>
>> add_executable(test WIN32
>> ${test_SRCS}
>> ${test_MOCS}
>> ${test_RCC_SRCS})
>>
>>
>> HTH,
>> David
>> --
>>
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list