On 05/09/2013 11:12 AM, Jonathan Anderson wrote: > I've attached a CMakeLists.txt file that demonstrates what > I want to do (and what I can do with my patch).
Thanks, that makes sense. Does "add_library(... SHARED OBJECT ...)" work? I think you mean to set the POSITION_INDEPENDENT_CODE target property instead. Here are a few comments on the patch: * The "Only executables and non-OBJECT libraries..." error message needs to have "non-OBJECT " removed from it. * The object library following logic will need to be made recursive to fully implement what you propose. Currently the patch only goes one level down, and it leaves out the AddUtility call for the deeper level. > I'm not familiar with the CMake testing framework. When I run > "ninja test", it says that e.g. the RunCMake.ObjectLibrary test fails, > but I am able to manually build the Tests/ObjectLibrary project Those are two separate tests: * RunCMake.ObjectLibrary performs a bunch of tests that check error cases. Your change makes what was previously an error not an error anymore so the test will need to be updated accordingly. See Tests/RunCMake/ObjectLibrary. * ObjectLibrary actually builds binaries as you've seen. It will need to be updated to test at least 2 recursion levels in addition to all its current cases. Run "ctest -R $testname -V" to run a test with verbose output. Thanks, -Brad -- 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