On Sun, Dec 4, 2011 at 11:34 AM, Michael Jackson
<[email protected]> wrote:
> Do you have "MyWidget" packaged as a true library, or did you just create the 
> Designer Plugin and then have a "loose" .cpp/.h file?
>
>  The is a project called Qwt* that has a similar setup. It has a Designer 
> plugin for its various widgets and it has a qwt.dylib/.dll/.so that your 
> program links against. You might be able to use this type of workflow for 
> your project. In rough form this is what I am suggesting:
>
> Create a MyWidget project that builds the Designer plugin and a dynamic 
> library. When the project "installs" it will install its headers and library 
> under its own install location and also install the Designer plugin into the 
> appropriate location inside the Qt distribution you are using. The MyWidget 
> would also include the necessary CMake EXPORT files or what ever so other 
> projects can use it.
>
> In the project that actually _uses_ MyWidget, you call 
> "find_package(MyWidget)" which will setup all the necessary include 
> directories and "MyWidget_LIBRARIES" variables.
>
> *Normal Qwt at Sourceforge does NOT use CMake as a build system. I have 
> created a CMake build system for Qwt which is located on my public git-web 
> server.
>
> Hope some of that helps.

Thanks Mike,

I tried simply placing the Widget in a subdirectory called Widget. I
got it to work, but I am confused about one thing. If in the main
project CMakeLists.txt I add:
add_subdirectory(Widget)

and then in Widget/CMakeLists.txt I add:

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

I get errors that LabeledSlider.h can't find ui_LabeledSlider.h, and
main.cpp can't find LabeledSlider.h (problems with uic). However, if
instead I add directly to the main project CMakeLists.txt:

include_directories(${CMAKE_CURRENT_BINARY_DIR}/Widget)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Widget)

it works fine. Can you explain the difference between these two
methods of adding the include directories? I have setup both cases
here: http://daviddoria.com/Uploads/QtSubdirectory.tar.gz

Thanks,

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

Reply via email to