Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. [SOLVED] Configure Qt Creator for not to run qmake

[SOLVED] Configure Qt Creator for not to run qmake

Scheduled Pinned Locked Moved General and Desktop
18 Posts 3 Posters 6.3k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #4

    In that case, why the separated Makefile ? Do you need anything special that you can't generate from a .pro file ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    K 1 Reply Last reply
    0
    • SGaistS SGaist

      In that case, why the separated Makefile ? Do you need anything special that you can't generate from a .pro file ?

      K Offline
      K Offline
      kumararajas
      wrote on last edited by
      #5

      @SGaist That's right!

      I have some more contents in the Makefile for my system needs.

      That's why I don't want to generate Makefile from .pro file.

      --Kumar

      JKSHJ 1 Reply Last reply
      0
      • K kumararajas

        @SGaist That's right!

        I have some more contents in the Makefile for my system needs.

        That's why I don't want to generate Makefile from .pro file.

        JKSHJ Offline
        JKSHJ Offline
        JKSH
        Moderators
        wrote on last edited by
        #6

        @kumararajas said:

        I have some more contents in the Makefile for my system needs.

        That's why I don't want to generate Makefile from .pro file.

        What are those contents? You might be able to ask qmake to generate them for you automatically.

        Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

        K 1 Reply Last reply
        0
        • JKSHJ JKSH

          @kumararajas said:

          I have some more contents in the Makefile for my system needs.

          That's why I don't want to generate Makefile from .pro file.

          What are those contents? You might be able to ask qmake to generate them for you automatically.

          K Offline
          K Offline
          kumararajas
          wrote on last edited by
          #7

          @JKSH

          My bad with unclarity message.

          With respect to TI AM335x SDK, we should run a script "environment-setup" that sets up the environment for cross compilation.

          To do this process systematically, I need someone to do this process before running "qmake" and generate pro file.

          So, I have written a Makefile, that setup the environment first and then runs qmake and generates Makefile (In a different name, just not to overwrite). And then run the generated Makefile.

          There is an another way to set all these environment variables at user level, but I don't want to do that. Because, these path required only while cross compiling the UI application.

          That's the reason that I have done this in a Makefile, which sets the variables with the values and goes off after execution.

          Please let me know if I have conveyed correctly or not.

          Thanks,
          Kumara

          --Kumar

          JKSHJ 1 Reply Last reply
          0
          • K kumararajas

            @JKSH

            My bad with unclarity message.

            With respect to TI AM335x SDK, we should run a script "environment-setup" that sets up the environment for cross compilation.

            To do this process systematically, I need someone to do this process before running "qmake" and generate pro file.

            So, I have written a Makefile, that setup the environment first and then runs qmake and generates Makefile (In a different name, just not to overwrite). And then run the generated Makefile.

            There is an another way to set all these environment variables at user level, but I don't want to do that. Because, these path required only while cross compiling the UI application.

            That's the reason that I have done this in a Makefile, which sets the variables with the values and goes off after execution.

            Please let me know if I have conveyed correctly or not.

            Thanks,
            Kumara

            JKSHJ Offline
            JKSHJ Offline
            JKSH
            Moderators
            wrote on last edited by
            #8

            Hi,

            @kumararajas said:

            With respect to TI AM335x SDK, we should run a script "environment-setup" that sets up the environment for cross compilation.

            The standard way to set your environment is to:

            1. Set up an appropriate Kit in Qt Creator: http://doc.qt.io/qtcreator/creator-targets.html, and then
            2. Use this Kit to build your UI application.

            Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

            K 1 Reply Last reply
            0
            • JKSHJ JKSH

              Hi,

              @kumararajas said:

              With respect to TI AM335x SDK, we should run a script "environment-setup" that sets up the environment for cross compilation.

              The standard way to set your environment is to:

              1. Set up an appropriate Kit in Qt Creator: http://doc.qt.io/qtcreator/creator-targets.html, and then
              2. Use this Kit to build your UI application.
              K Offline
              K Offline
              kumararajas
              wrote on last edited by
              #9

              @JKSH said:

              The standard way to set your environment is to:

              As I have mentioned, I have written my Makefile, which will set the environment and that works good when I build from command line.

              I would like to run my make file from Qt Creator as well.

              I understand the standard way that you explained.

              Is there a possibility for doing the above said?

              --Kumar

              JKSHJ 1 Reply Last reply
              0
              • K kumararajas

                @JKSH said:

                The standard way to set your environment is to:

                As I have mentioned, I have written my Makefile, which will set the environment and that works good when I build from command line.

                I would like to run my make file from Qt Creator as well.

                I understand the standard way that you explained.

                Is there a possibility for doing the above said?

                JKSHJ Offline
                JKSHJ Offline
                JKSH
                Moderators
                wrote on last edited by
                #10

                @kumararajas said:

                Is there a possibility for doing the above said?

                Hmm... I don't think so, unfortunately.

                If you want, you can submit a feature request to https://bugreports.qt.io/

                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #11

                  Can you share the environment setup that your Makefile does ?

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  K 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    Can you share the environment setup that your Makefile does ?

                    K Offline
                    K Offline
                    kumararajas
                    wrote on last edited by
                    #12

                    @SGaist Sure. Here is how my Makefile look like:

                    #################################################################################
                    # INCLUDES
                    #################################################################################
                    include $(ROOT)/build/ui_defs.mk
                    
                    #################################################################################
                    # TARGETS
                    #################################################################################
                    
                    # Target 'all' to build the UI Application and deploy by coping the files to right location
                    # More of incremental build
                    all: uibuilder deploy
                    
                    # Clean build of UI Application
                    cleanbuild: clean all
                    
                    # Calls qmake and creates Makefile and then execute them.
                    uibuilder:
                            $(QMAKEPATH)qmake -o Makefile_g $(QMAKESPEC_SWITCH) $(QMAKESPEC) $(PRO_FILE_NAME)
                            make -f Makefile_g
                    
                    # Remove the object files, mock files, and generated Makefiles
                    clean:
                            rm -rf generated_files/
                            rm -f Makefile_g
                            rm -f devapp/Makefile_g
                            rm -f uicorelib/Makefile_g
                    

                    --Kumar

                    K 1 Reply Last reply
                    0
                    • K kumararajas

                      @SGaist Sure. Here is how my Makefile look like:

                      #################################################################################
                      # INCLUDES
                      #################################################################################
                      include $(ROOT)/build/ui_defs.mk
                      
                      #################################################################################
                      # TARGETS
                      #################################################################################
                      
                      # Target 'all' to build the UI Application and deploy by coping the files to right location
                      # More of incremental build
                      all: uibuilder deploy
                      
                      # Clean build of UI Application
                      cleanbuild: clean all
                      
                      # Calls qmake and creates Makefile and then execute them.
                      uibuilder:
                              $(QMAKEPATH)qmake -o Makefile_g $(QMAKESPEC_SWITCH) $(QMAKESPEC) $(PRO_FILE_NAME)
                              make -f Makefile_g
                      
                      # Remove the object files, mock files, and generated Makefiles
                      clean:
                              rm -rf generated_files/
                              rm -f Makefile_g
                              rm -f devapp/Makefile_g
                              rm -f uicorelib/Makefile_g
                      
                      K Offline
                      K Offline
                      kumararajas
                      wrote on last edited by
                      #13

                      @kumararajas This is how my ui_defs.mk file looks like

                      export SDK_PATH=/usr/local/etc/g-cpu/sdk/linux-devkit
                      export SDK_SYS=i686-arago-linux
                      export REAL_MULTIMACH_TARGET_SYS=cortexa8hf-vfp-neon-3.8-oe-linux-gnueabi
                      export TOOLCHAIN_SYS=arm-linux-gnueabihf
                      export TOOLCHAIN_PREFIX=$(TOOLCHAIN_SYS)-
                      export SDK_PATH_NATIVE=$(SDK_PATH)/sysroots/$(SDK_SYS)
                      export SDK_PATH_TARGET=$(SDK_PATH)/sysroots/$(REAL_MULTIMACH_TARGET_SYS)
                      export PKG_CONFIG_SYSROOT_DIR=$(SDK_PATH_TARGET)
                      export PKG_CONFIG_PATH=$(SDK_PATH_TARGET)/usr/lib/pkgconfig
                      export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
                      export CONFIG_SITE=$(SDK_PATH)/site-config-$(REAL_MULTIMACH_TARGET_SYS)
                      export CC=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)gcc
                      export CXX=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)g++
                      export GDB=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)gdb
                      export CPP=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)gcc -E
                      export NM=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)nm
                      export AS=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)as
                      export AR=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)ar
                      export RANLIB=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)ranlib
                      export OBJCOPY=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)objcopy
                      export OBJDUMP=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)objdump
                      export STRIP=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)strip
                      export CONFIGURE_FLAGS=--target=arm-oe-linux-gnueabi --host=arm-oe-linux-gnueabi --build=i686-linux --with-libtool-sysroot=$(SDK_PATH_TARGET)
                      export CPPFLAGS= -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=$(SDK_PATH_TARGET)
                      export CFLAGS=$(CPPFLAGS)
                      export CXXFLAGS=$(CPPFLAGS)
                      export LDFLAGS= --sysroot=$(SDK_PATH_TARGET)
                      export OECORE_NATIVE_SYSROOT=$(SDK_PATH_NATIVE)
                      export OECORE_TARGET_SYSROOT=$(SDK_PATH_TARGET)
                      export OECORE_ACLOCAL_OPTS=-I $(SDK_PATH_NATIVE)/usr/share/aclocal
                      export OECORE_DISTRO_VERSION=2013.12
                      export OECORE_SDK_VERSION=2013.12
                      export OE_QMAKE_CFLAGS=$(CFLAGS)
                      export OE_QMAKE_CXXFLAGS=$(CXXFLAGS)
                      export OE_QMAKE_LDFLAGS=$(LDFLAGS)
                      export OE_QMAKE_CC=$(CC)
                      export OE_QMAKE_CXX=$(CXX)
                      export OE_QMAKE_LINK=$(CXX)
                      export OE_QMAKE_AR=$(AR)
                      export OE_QMAKE_LIBDIR_QT=$(SDK_PATH_TARGET)/usr/lib
                      export OE_QMAKE_INCDIR_QT=$(SDK_PATH_TARGET)/usr/include/qtopia
                      export OE_QMAKE_HOST_BINDIR_QT=$(SDK_PATH_NATIVE)/usr/bin/
                      export OE_QMAKE_MOC=$(SDK_PATH_NATIVE)/usr/bin/moc4
                      export OE_QMAKE_UIC=$(SDK_PATH_NATIVE)/usr/bin/uic4
                      export OE_QMAKE_UIC3=$(SDK_PATH_NATIVE)/usr/bin/uic34
                      export OE_QMAKE_RCC=$(SDK_PATH_NATIVE)/usr/bin/rcc4
                      export OE_QMAKE_QDBUSCPP2XML=$(SDK_PATH_NATIVE)/usr/bin/qdbuscpp2xml4
                      export OE_QMAKE_QDBUSXML2CPP=$(SDK_PATH_NATIVE)/usr/bin/qdbusxml2cpp4
                      export OE_QMAKE_QT_CONFIG=$(SDK_PATH_TARGET)/usr/share/qtopia/mkspecs/qconfig.pri
                      export OE_QMAKE_STRIP=echo
                      export QMAKESPEC=$(SDK_PATH_TARGET)/usr/share/qtopia/mkspecs/linux-gnueabi-oe-g++
                      export QMAKESPEC_SWITCH=-spec
                      export QMAKE_DEFAULT_LIBDIRS=${QT_QMAKE_LIBDIR_QT}
                      export QMAKE_DEFAULT_INCDIRS=${QT_QMAKE_INCDIR_QT}
                      export PS1="\[\e[32;1m\][linux-devkit]\[\e[0m\]:\w> "
                      export QMAKE_PATH=$(SDK_PATH_NATIVE)/usr/bin/
                      

                      --Kumar

                      K 1 Reply Last reply
                      0
                      • K kumararajas

                        @kumararajas This is how my ui_defs.mk file looks like

                        export SDK_PATH=/usr/local/etc/g-cpu/sdk/linux-devkit
                        export SDK_SYS=i686-arago-linux
                        export REAL_MULTIMACH_TARGET_SYS=cortexa8hf-vfp-neon-3.8-oe-linux-gnueabi
                        export TOOLCHAIN_SYS=arm-linux-gnueabihf
                        export TOOLCHAIN_PREFIX=$(TOOLCHAIN_SYS)-
                        export SDK_PATH_NATIVE=$(SDK_PATH)/sysroots/$(SDK_SYS)
                        export SDK_PATH_TARGET=$(SDK_PATH)/sysroots/$(REAL_MULTIMACH_TARGET_SYS)
                        export PKG_CONFIG_SYSROOT_DIR=$(SDK_PATH_TARGET)
                        export PKG_CONFIG_PATH=$(SDK_PATH_TARGET)/usr/lib/pkgconfig
                        export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
                        export CONFIG_SITE=$(SDK_PATH)/site-config-$(REAL_MULTIMACH_TARGET_SYS)
                        export CC=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)gcc
                        export CXX=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)g++
                        export GDB=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)gdb
                        export CPP=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)gcc -E
                        export NM=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)nm
                        export AS=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)as
                        export AR=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)ar
                        export RANLIB=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)ranlib
                        export OBJCOPY=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)objcopy
                        export OBJDUMP=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)objdump
                        export STRIP=$(SDK_PATH_NATIVE)/usr/bin/$(TOOLCHAIN_PREFIX)strip
                        export CONFIGURE_FLAGS=--target=arm-oe-linux-gnueabi --host=arm-oe-linux-gnueabi --build=i686-linux --with-libtool-sysroot=$(SDK_PATH_TARGET)
                        export CPPFLAGS= -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=$(SDK_PATH_TARGET)
                        export CFLAGS=$(CPPFLAGS)
                        export CXXFLAGS=$(CPPFLAGS)
                        export LDFLAGS= --sysroot=$(SDK_PATH_TARGET)
                        export OECORE_NATIVE_SYSROOT=$(SDK_PATH_NATIVE)
                        export OECORE_TARGET_SYSROOT=$(SDK_PATH_TARGET)
                        export OECORE_ACLOCAL_OPTS=-I $(SDK_PATH_NATIVE)/usr/share/aclocal
                        export OECORE_DISTRO_VERSION=2013.12
                        export OECORE_SDK_VERSION=2013.12
                        export OE_QMAKE_CFLAGS=$(CFLAGS)
                        export OE_QMAKE_CXXFLAGS=$(CXXFLAGS)
                        export OE_QMAKE_LDFLAGS=$(LDFLAGS)
                        export OE_QMAKE_CC=$(CC)
                        export OE_QMAKE_CXX=$(CXX)
                        export OE_QMAKE_LINK=$(CXX)
                        export OE_QMAKE_AR=$(AR)
                        export OE_QMAKE_LIBDIR_QT=$(SDK_PATH_TARGET)/usr/lib
                        export OE_QMAKE_INCDIR_QT=$(SDK_PATH_TARGET)/usr/include/qtopia
                        export OE_QMAKE_HOST_BINDIR_QT=$(SDK_PATH_NATIVE)/usr/bin/
                        export OE_QMAKE_MOC=$(SDK_PATH_NATIVE)/usr/bin/moc4
                        export OE_QMAKE_UIC=$(SDK_PATH_NATIVE)/usr/bin/uic4
                        export OE_QMAKE_UIC3=$(SDK_PATH_NATIVE)/usr/bin/uic34
                        export OE_QMAKE_RCC=$(SDK_PATH_NATIVE)/usr/bin/rcc4
                        export OE_QMAKE_QDBUSCPP2XML=$(SDK_PATH_NATIVE)/usr/bin/qdbuscpp2xml4
                        export OE_QMAKE_QDBUSXML2CPP=$(SDK_PATH_NATIVE)/usr/bin/qdbusxml2cpp4
                        export OE_QMAKE_QT_CONFIG=$(SDK_PATH_TARGET)/usr/share/qtopia/mkspecs/qconfig.pri
                        export OE_QMAKE_STRIP=echo
                        export QMAKESPEC=$(SDK_PATH_TARGET)/usr/share/qtopia/mkspecs/linux-gnueabi-oe-g++
                        export QMAKESPEC_SWITCH=-spec
                        export QMAKE_DEFAULT_LIBDIRS=${QT_QMAKE_LIBDIR_QT}
                        export QMAKE_DEFAULT_INCDIRS=${QT_QMAKE_INCDIR_QT}
                        export PS1="\[\e[32;1m\][linux-devkit]\[\e[0m\]:\w> "
                        export QMAKE_PATH=$(SDK_PATH_NATIVE)/usr/bin/
                        
                        K Offline
                        K Offline
                        kumararajas
                        wrote on last edited by
                        #14

                        @kumararajas ui_defs.mk file, sets the environment path.

                        And my Makefile calls qmake and generates Makefile_g using the environment set.

                        --Kumar

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #15

                          Did you try editing the Build Environment to match what you have in your ui_dfs.mk ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          K 1 Reply Last reply
                          0
                          • SGaistS SGaist

                            Did you try editing the Build Environment to match what you have in your ui_dfs.mk ?

                            K Offline
                            K Offline
                            kumararajas
                            wrote on last edited by
                            #16

                            @SGaist said:

                            Did you try editing the Build Environment to match what you have in your ui_dfs.mk ?

                            To some extent, but not fully. I just took "environment_setup" script and modifed some of the details by myself to match the build environment.

                            --Kumar

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              kumararajas
                              wrote on last edited by
                              #17

                              Alright, I found the solution by myself.

                              That's by disabling the default build steps and adding custom build step for "Make".

                              For /usr/bin/make command, I pass the argument to my own Makefile with the appropriate parameters.
                              And it works cool for me!

                              --Kumara

                              --Kumar

                              1 Reply Last reply
                              2
                              • JKSHJ Offline
                                JKSHJ Offline
                                JKSH
                                Moderators
                                wrote on last edited by
                                #18

                                Great, thanks for sharing your solution!

                                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                1 Reply Last reply
                                0

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved