On 01/09/2011 09:32 PM, Nizar Khalifa Sallem wrote: > At Sun, 9 Jan 2011 21:09:37 +0100, > Andreas Pakulat wrote: >> >> [1 <text/plain; us-ascii (7bit)>] >> On 09.01.11 21:05:21, Andreas Pakulat wrote: >>> On 09.01.11 14:24:16, Michael Hertling wrote: >>>> On 01/09/2011 12:58 PM, Andreas Pakulat wrote: >>>>> Hi, >>>>> >>>>> I'm having a bit of a problem here changing the runtime output directory >>>>> for a binary. Its an executable target named 'setup' and I'd like to put >>>>> it >>>>> into the top-level directory. Unfortunately it always ends up in the bin/ >>>>> directory, which is what CMAKE_RUNTIME_OUTPUT_DIRECTORY is being set to. >>>>> >>>>> I'm using >>>>> set_target_properties( setup PROPERTIES RUNTIME_OUTPUT_DIRECTORY >>>>> ${CMAKE_BINARY_DIR} ) >>>>> after creating the target currently, which should work as far as I can see >>>>> from the documentation. Are there maybe any restrictions on what the >>>>> directory may be or what targets can be put there? >>>>> >>>>> If not, any suggestions how to debug this? I can see that the build.make >>>>> does already have the rule setup for putting the binary into bin/, so it >>>>> must be going wrong somewhere in the generation stage, but a simple cmake >>>>> --trace doesn't show up anything suspicious. Is there a switch to follow >>>>> the steps that cmake does during makefile-generation? >>>> >>>> Could you provide a minimal but complete example? >>> >>> Ok, attached case produces the error. Apparently the problem is fetching >>> the LOCATION property from the target and setting the >>> RUNTIME_OUTPUT_DIRECTORY afterwards. Looks like a cmake bug to me, so >>> I'll file a report. >> >> Ooops, forgot the attachment :) >> >> Andreas >> >> -- >> You should emulate your heros, but don't carry it too far. Especially >> if they are dead. >> [2 test_output_dir.tar.gz <application/octet-stream (base64)>] >> >> [3 <text/plain; us-ascii (7bit)>] >> _______________________________________________ >> 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 > Hi, > > You I tested your CMakeLists.txt and this is no way a cmake bug but if > you sent a wrong CMakeLists.txt file. > just remove this line get_target_property( _var foo LOCATION ) since > your target name is also "foo". > Tested without it and it works like a charm:
What's wrong with Andreas' CMakeLists.txt? He uses GET_TARGET_PROPERTY() correctly - of course, on a target "foo". The point is why *reading* a target property has an influence on subsequently *setting* a different target property. Regards, Michael _______________________________________________ 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