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
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] Configure Qt Creator for not to run qmake

Scheduled Pinned Locked Moved General and Desktop
18 Posts 3 Posters 6.1k 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 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