aboutsummaryrefslogtreecommitdiff
path: root/modules/create_exe_symlink.cmake
diff options
context:
space:
mode:
authorLaurent Montel <montel@kde.org>2009-01-17 12:19:34 +0000
committerLaurent Montel <montel@kde.org>2009-01-17 12:19:34 +0000
commitc43b051c975ef76f411342116053da84e0ee3cd3 (patch)
tree65136f6dfbdd69d4456be940e650c3f781a5fe61 /modules/create_exe_symlink.cmake
parent5020bf83969392d03b7bdbd775a9b42fdf2a6b49 (diff)
downloadextra-cmake-modules-c43b051c975ef76f411342116053da84e0ee3cd3.tar.gz
extra-cmake-modules-c43b051c975ef76f411342116053da84e0ee3cd3.tar.bz2
Fix create symlink
svn path=/trunk/KDE/kdelibs/; revision=912335
Diffstat (limited to 'modules/create_exe_symlink.cmake')
-rw-r--r--modules/create_exe_symlink.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/create_exe_symlink.cmake b/modules/create_exe_symlink.cmake
new file mode 100644
index 00000000..6f35ff76
--- /dev/null
+++ b/modules/create_exe_symlink.cmake
@@ -0,0 +1,16 @@
+# Create an executable symlink to a Python script.
+# This also sets the target script's permission bits.
+
+MESSAGE(STATUS "Symlinking $ENV{DESTDIR}/${LINK_NAME} to $ENV{DESTDIR}/${TARGET}")
+
+GET_FILENAME_COMPONENT(abs_link_name $ENV{DESTDIR}/${LINK_NAME} ABSOLUTE)
+GET_FILENAME_COMPONENT(link_path $ENV{DESTDIR}/${LINK_NAME} PATH)
+GET_FILENAME_COMPONENT(abs_link_path ${link_path} ABSOLUTE)
+FILE(MAKE_DIRECTORY ${abs_link_path})
+
+GET_FILENAME_COMPONENT(abs_target $ENV{DESTDIR}/${TARGET} ABSOLUTE)
+IF(UNIX)
+ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${abs_target} ${abs_link_name})
+ EXECUTE_PROCESS(COMMAND chmod a+x ${abs_target})
+ENDIF(UNIX)
+# FIXME: WIN32 support