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

Reply via email to