blob: f5c867b9b4a26258a9ed5c9f1048907c664adb06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
From 5c04f9c2d47a41f6113f45eeb4dd9f7968f2cd52 Mon Sep 17 00:00:00 2001
From: Christoph Junghans <junghans@lanl.gov>
Date: Tue, 20 May 2014 09:27:47 -0600
Subject: [PATCH] fix make install non-empty DESTDIR
Symlinks were created even when make install was called with a
non-empty DESTDIR variable. Fixed by creating the symlinks in build
directory first and then install them using common install.
DESTDIR installation is needed for binary packages.
---
CMakeLists.txt | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 00a71c7..8d5df19 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1762,15 +1762,22 @@ if(NOT HPX_NO_INSTALL)
if(UNIX)
file(GLOB scripts "${CMAKE_SOURCE_DIR}/python/scripts/*.py")
+ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory
+ "${CMAKE_BINARY_DIR}/python/scripts" )
foreach(script ${scripts})
get_filename_component(script_name ${script} NAME)
get_filename_component(script_name_we ${script} NAME_WE)
- install(CODE
- "set(bindir \"${CMAKE_INSTALL_PREFIX}/bin/\")
- execute_process(
- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink
- \"${script_name}\" \"${script_name_we}\"
- WORKING_DIRECTORY \"\${bindir}\")")
+
+ #make copy, so that we have intact symlink in CMAKE_BINARY_DIR
+ execute_process(
+ COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${script}" "${script_name}"
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
+
+ execute_process(
+ COMMAND "${CMAKE_COMMAND}" -E create_symlink "${script_name}" "${script_name_we}"
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
+
+ install(FILES "${CMAKE_BINARY_DIR}/python/scripts/${script_name_we}" DESTINATION "bin")
endforeach()
endif()
@@ -1781,13 +1788,13 @@ if(NOT HPX_NO_INSTALL)
FILES_MATCHING PATTERN "*.py"
PATTERN ".git" EXCLUDE)
+ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/python" )
+ #make symlink, so that we have intact hpx symlink in CMAKE_BINARY_DIR
+ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${CMAKE_SOURCE_DIR}/python/hpx"
+ "hpx-${HPX_VERSION}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python")
# create a symlink in share pointing to the latest HPX installation
- install(CODE
- "set(sharedir \"${CMAKE_INSTALL_PREFIX}/share/\")
- execute_process(
- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink
- \"hpx-${HPX_VERSION}\" \"hpx\"
- WORKING_DIRECTORY \"\${sharedir}\")")
+ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "hpx-${HPX_VERSION}" "hpx" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python")
+ install(DIRECTORY "${CMAKE_BINARY_DIR}/python/hpx" DESTINATION "share")
install( # Install external dependencies
DIRECTORY external/cache/boost
--
1.8.5.5
|