diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-02-02 14:44:46 +0000 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-02-02 14:44:46 +0000 |
commit | 460d0b402bac86221fd94f086ef88f94f584df1f (patch) | |
tree | 5f04167dabc7bff9273a4dffafcba7b9d7f0a578 /cmake/Modules/MacroCopyFile.cmake | |
parent | 234706548121cb9acf609b6cce71d53144143968 (diff) | |
download | libssh-460d0b402bac86221fd94f086ef88f94f584df1f.tar.gz libssh-460d0b402bac86221fd94f086ef88f94f584df1f.tar.xz libssh-460d0b402bac86221fd94f086ef88f94f584df1f.zip |
Add Makefiles for the CMake build system.
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@203 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'cmake/Modules/MacroCopyFile.cmake')
-rw-r--r-- | cmake/Modules/MacroCopyFile.cmake | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/cmake/Modules/MacroCopyFile.cmake b/cmake/Modules/MacroCopyFile.cmake new file mode 100644 index 0000000..cee1cae --- /dev/null +++ b/cmake/Modules/MacroCopyFile.cmake @@ -0,0 +1,33 @@ +# - macro_copy_file(_src _dst) +# Copies a file to ${_dst} only if ${_src} is different (newer) than ${_dst} +# +# Example: +# macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/icon.png ${CMAKE_CURRENT_BINARY_DIR}/.) +# Copies file icon.png to ${CMAKE_CURRENT_BINARY_DIR} directory +# +# Copyright (c) 2006-2007 Wengo +# Copyright (c) 2006-2008 Andreas Schneider <mail@cynapses.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING file. + + +macro (macro_copy_file _src _dst) + # Removes all path containing .svn or CVS or CMakeLists.txt during the copy + if (NOT ${_src} MATCHES ".*\\.svn|CVS|CMakeLists\\.txt.*") + + if (CMAKE_VERBOSE_MAKEFILE) + message(STATUS "Copy file from ${_src} to ${_dst}") + endif (CMAKE_VERBOSE_MAKEFILE) + + # Creates directory if necessary + get_filename_component(_path ${_dst} PATH) + file(MAKE_DIRECTORY ${_path}) + + execute_process( + COMMAND + ${CMAKE_COMMAND} -E copy_if_different ${_src} ${_dst} + OUTPUT_QUIET + ) + endif (NOT ${_src} MATCHES ".*\\.svn|CVS|CMakeLists\\.txt.*") +endmacro (macro_copy_file) |