[CMake] CMAKE_RUNTIME_OUTPUT_DIRECTORY cannot be overridden?

Petr Kmoch petr.kmoch at gmail.com
Wed Jul 11 04:10:27 EDT 2012


Hi Eli.

You have a typo in the macro: set_target_properties(${testmame} ...
If it's a direct copy&paste from your code, it might be the source if the issue.

Petr

On Wed, Jul 11, 2012 at 1:22 AM, Ateljevich, Eli <eli at water.ca.gov> wrote:
> My expectation from the documentation was that runtime output directories are initialized to CMAKE_RUNTIME_OUTPUT_DIRECTORY, but I took that to mean they could be overridden.
>
> In the code below I attempt to set the RUNTIME_OUTPUT_DIRECTORY property to ${CMAKE_CURRENT_BINARY_DIR} for some tests. The global CMAKE_RUNTIME_OUTPUT_DIRECTORY is set to /build/bin which I wanted to reserve for executables.
>
> The "requested" message() points correctly to the directory I expected. The "actual" message() points to CMAKE_PROJECT_BINARY_DIR.
>
> ... is what I am attempting even possible?
>
> Thanks --Eli
>
>
> macro( make_test testname)
>   add_executable(${testname} "${testname}.F90")
>   message(STATUS "The requested outdir is: ${CMAKE_CURRENT_BINARY_DIR}")
>   set_target_properties(${testmame} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
>   get_target_property(outdir ${testname} RUNTIME_OUTPUT_DIRECTORY)
>   message(STATUS "The actual outdir is: ${outdir}")
>   add_test(${testname} "${MAKE_CURRENT_BINARY_DIR}/${testname}" )
> endmacro()
>
> foreach(testname test_a
>                  test_b)
>   make_test(${testname})
> endforeach()
>
>
> --
>
> 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


More information about the CMake mailing list