I have a project that I'm updating from Cmake 3.5 to 3.12. In the project, I have UI libraries that use other libraries, both of which use Qt 5.6. The lowest-level library uses AUTOUIC and I see the headers are generated in the new lib_autogen/include_BUILD_CONFIG directory.
When my higher level library tries to use the lower level library, I get the error that it can't find the auto-generated headers. It only seems to have trouble finding about six of two dozen ui_***.h files. How can I get my lower level libraries to include the generated header files so they're available to the higher level library that's using it? I'm using cmake 3.12 Qt 5.6 Visual Studio 2015 I tried creating a work-around where in the CMakeLists.txt of my lowest level directory I add # CMake 10+ has a bug where automoc header files aren't found SET(COMPONENTS_UIC_HDRS_DIR "${CMAKE_CURRENT_BINARY_DIR}/ComponentsLib_autogen/include_${ *CMAKE_BUILD_TYPE*}") message("** COMPONENTS AUTOUIC autogen dir: ${COMPONENTS_UIC_HDRS_DIR}") *target_include_directories*(ComponentsLib INTERFACE ${COMPONENTS_UIC_HDRS_DIR}) but of course the CMAKE_BUILD_TYPE isn't available to CMake at this time. I'd have to move the headers into a place common to the various (Debug/Release) configurations or something. Thanks! -Jim
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake