Brad Aisa wrote:
I am trying to use the LOCATION property of a library target in VS. VS
is a bit complicated, because a single generate creates all 4 targets
(Debug, Release, etc.) I want to add a custom target command. Here is
what is in the file:
_targ is a variable that contains a previous created target (ex. "temt")
get_target_property(TARG_FILENAME ${_targ} LOCATION)
add_custom_command(TARGET ${_targ} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${TARG_FILENAME}
${CMAKE_HOME_DIRECTORY}/bin)
Now, in VS, for Debug, the target is correctly called:
Linker:Output:
C:\Users\baisa\Emergent\build_dbg\src\temt\lib\Debug\temt_dbg.dll
But the Post Build Event:Command Line for Debug configuration contains:
"C:\Program Files\CMake 2.6\bin\cmake.exe" -E copy
C:/Users/baisa/Emergent/build_dbg/src/temt/lib/$(OutDir)/temt.dll
C:/Users/baisa/Emergent/bin
Notice that the _dbg is missing
The LOCATION property is an old feature intended for refering to
executables in custom commands (it is no longer needed because
add_custom_command recognizes target names as COMMANDs):
http://www.cmake.org/cmake/help/cmake2.6docs.html#prop_tgt:LOCATION
It does not work with per-configuration library names or suffixes.
If you want to place the library in a custom location, look at these
properties:
http://www.cmake.org/cmake/help/cmake2.6docs.html#prop_tgt:RUNTIME_OUTPUT_DIRECTORY
http://www.cmake.org/cmake/help/cmake2.6docs.html#prop_tgt:LIBRARY_OUTPUT_DIRECTORY
http://www.cmake.org/cmake/help/cmake2.6docs.html#prop_tgt:ARCHIVE_OUTPUT_DIRECTORY
or use the install() command.
-Brad K
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake