try the following:
ADD_CUSTOM_TARGET(QtLibs
COMMAND ${CMAKE_COMMAND} -E
copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/libQtCore.so.4
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}...)
• CMAKE_CFG_INTDIR: Build time configuration directory for project.
This is a variable that is used to provide developers access to the
intermediate directory used by Visual Studio IDE projects. For
example, if building Debug all executables and libraries end up in a
Debug directory. On UNIX systems this variable is set to ".". However,
with Visual Studio this variable is set to $(IntDir). $(IntDir) is
expanded by the IDE only. So this variable should only be used in
custom commands that will be run during the build process. This
variable should not be used directly in a CMake command. CMake has no
way of knowing if Debug or Release will be picked by the IDE for a
build type. If a program needs to know the directory it was built in,
it can use CMAKE_INTDIR. CMAKE_INTDIR is a C/C++ preprocessor macro
that is defined on the command line of the compiler. If it has a
value, it will be the intermediate directory used to build the file.
This way an executable or a library can find files that are located in
the build directory.
_________________________________________________________
Mike Jackson [email protected]
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio
On Mar 17, 2009, at 8:40 AM, Martin Apel wrote:
Hi all,
I am trying to write CMake rules to copy shared libraries / DLLs to
the
runtime directory (not "installing"), right besides the binaries
generated by my project. In order to do this, I have rules like the
following:
ADD_CUSTOM_TARGET(QtLibs
COMMAND ${CMAKE_COMMAND}
-E
copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/libQtCore.so.4
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}...)
This works fine on Linux and Windows using the NMake generator.
However,
when using VisualStudio 8 under Windows, these libraries end up in the
directory, where CMAKE_RUNTIME_OUTPUT_DIRECTORY points to, whereas the
generated binaries are put into ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
debug
or /release.
Is the interpretation of what the RUNTIME_OUTPUT_DIRECTORY property or
the CMAKE_RUNTIME_OUTPUT_DIRECTORY means different for the Visual
Studio
generators? Do I have to put something like
IF (MSVC80)
...
ELSE(MSVC80)
...
ENDIF(MSVC80)
into my CMakeLists.txt? Or is there a better solution?
Best Regards,
Martin
____________
Virus checked by G DATA AntiVirus
Version: AVF 19.302 from 16.03.2009
_______________________________________________
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
_______________________________________________
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