Thanks for your reply John. There is one question left about your
GetRuntime module. The files you copy are located within the CMake
directory in your root source dir, right?
Best Michael
Am 23.12.2010 17:28, schrieb John Drescher:
On Thu, Dec 23, 2010 at 11:18 AM, Stormwind Dev
stormwind@googlemail.com wrote:
Dear List,
I've got a question on copying some files from one directory to another
using CMake.
Let's say, I got some libraries collected in a special directory. I want
CMake to copy these libs to the distribution directory of my project. Using
add_custom_command, I managed to have CMake copy my .exe to the distribution
directory, but when I try to do this for my libraries something goes
terribly wrong.
add_custom_command( TARGET MagicRPG POST_BUILD
COMMAND copy \$(TargetPath)\ .\\dist\\bin )
is what I did to copy my exe. When I use this
add_custom_command( TARGET MagicRPG POST_BUILD
COMMAND copy \$(TargetPath)\ \${SDKS_BASE_DIR}/SDL/lib/SDL.dll\
.\\dist\\bin)
to get SDL.dll copied to dist/bin Visual Studio fails with message
Fehler1error MSB3073: Der Befehl copy
D:\Projekte\cpp\games\Magic\bin\Debug\MagicRPG.exe
D:/SDKs/SDL/lib/SDL.dll .\dist\bin
if errorlevel 1 goto VCReportError
:VCEnd wurde mit dem Code 1 beendet.C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets1136
MagicRPG
Can anybody please help me with the right syntax for copying multiple files
at POST_BUILD?
Attached are 3 CMake modules I use for this. One is a macro that
builds a batch file that ends up being a target in visual studio.
I put them in a CMake folder inside my root source folder and have the
following line in my main CMakeLists.txt
include(${PROJECT_SOURCE_DIR}/CMake/GetRuntime.cmake)
this brings in the macro with support for generating the batch file
and GetRuntime target.
Then later in the main CMakeLists.txt file I use the other two modules.
FIND_PACKAGE( Qt4 REQUIRED )
set(QT_USE_QTNETWORK true)
set(QT_USE_QTSQL true)
set(QT_USE_QTXML true)
INCLUDE( ${QT_USE_FILE} )
include(${PROJECT_SOURCE_DIR}/CMake/GetQtRuntime.cmake)
IF(USE_QWT)
FIND_PACKAGE(Qwt REQUIRED)
INCLUDE_DIRECTORIES(${QWT_INCLUDE_DIR})
include(${PROJECT_SOURCE_DIR}/CMake/GetQwtRuntime.cmake)
set (UPMC_EXTERNAL_LIBS ${UPMC_EXTERNAL_LIBS} ${QWT_LIBRARIES})
ENDIF(USE_QWT)
John
___
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