aboutsummaryrefslogtreecommitdiff
blob: 438763960eb054dc33c04386c8375a3e44aef775 (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
--- salmon-0.10.2/CMakeLists.txt	2018-06-25 13:12:49.275828719 +0200
+++ salmon-0.10.2/CMakeLists.txt	2018-06-25 13:12:38.945565690 +0200
@@ -235,31 +235,7 @@
 
 find_package (LibLZMA)
 if (NOT LIBLZMA_FOUND)
-    message ("Will attempt to fetch and build liblzma")
-    message ("=======================================")
-ExternalProject_Add(liblzma
-    DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-    ##
-    DOWNLOAD_COMMAND curl -k -L http://tukaani.org/xz/xz-5.2.2.tar.gz -o xz-5.2.2.tar.gz &&
-                     ${SHASUM} 73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2 xz-5.2.2.tar.gz &&
-                     tar -xzvf xz-5.2.2.tar.gz
-    #URL http://tukaani.org/xz/xz-5.2.2.tar.gz
-    #URL_HASH SHA1=14663612422ab61386673be78fbb2556f50a1f08
-    ##
-    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/xz-5.2.2
-    INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
-    BUILD_IN_SOURCE TRUE
-    CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/external/xz-5.2.2/configure --prefix=<INSTALL_DIR> CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS=${EXTRA_CMAKE_INCLUDE_FLAGS} CPPFLAGS=${EXTRA_CMAKE_INCLUDE_FLAGS} LDFLAGS=${EXTRA_CMAKE_LIBRARY_FLAGS}
-    BUILD_COMMAND make ${QUIET_MAKE}
-    INSTALL_COMMAND make ${QUIET_MAKE} install
-)
-
-# Tell cmake that the external project generated a library so we can
-# add dependencies here instead of later
-set (LIBLZMA_LIBRARIES ${GAT_SOURCE_DIR}/external/install/lib/liblzma.a)
-set (LIBSTADEN_LDFLAGS "-L${GAT_SOURCE_DIR}/external/install/lib")
-set (LIBSTADEN_CFLAGS "-I${GAT_SOURCE_DIR}/external/install/include")
-set (FETCHED_LIBLZMA TRUE)
+    message (FATAL_ERROR "liblzma must be installed before configuration & building can proceed")
 else()
     message("Found liblzma library: ${LIBLZMA_LIBRARIES}")
     message("===========================================")
@@ -267,28 +243,7 @@
 
 find_package (BZip2)
 if (NOT BZIP2_FOUND)
-    message ("Will attempt to fetch and build libbz2")
-    message ("=======================================")
-ExternalProject_Add(libbz2
-    DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-    DOWNLOAD_COMMAND curl -k -L http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz -o bzip2-1.0.6.tar.gz &&
-                     ${SHASUM} a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd bzip2-1.0.6.tar.gz &&
-                     tar -xzvf  bzip2-1.0.6.tar.gz
-    #URL http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
-    #URL_HASH SHA1=3f89f861209ce81a6bab1fd1998c0ef311712002
-    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bzip2-1.0.6
-    INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
-    BUILD_IN_SOURCE TRUE
-    CONFIGURE_COMMAND ""
-    BUILD_COMMAND make ${QUIET_MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
-    INSTALL_COMMAND make ${QUIET_MAKE} install PREFIX=<INSTALL_DIR>
-)
-# Tell cmake that the external project generated a library so we can
-# add dependencies here instead of later
-set (BZIP2_LIBRARIES ${GAT_SOURCE_DIR}/external/install/lib/libbz2.a)
-set (LIBSTADEN_LDFLAGS "-L${GAT_SOURCE_DIR}/external/install/lib -I${GAT_SOURCE_DIR}/external/install/include")
-set (LIBSTADEN_CFLAGS "-I${GAT_SOURCE_DIR}/external/install/include")
-set (FETCHED_LIBBZ2 TRUE)
+    message (FATAL_ERROR "libbz2 must be installed before configuration & building can proceed")
 else()
     message("Found libbz2 library: ${BZIP2_LIBRARIES}")
     message("===========================================")
@@ -333,61 +288,15 @@
 # Either inform the user of how to obtain Boost, or, if they passed in the FETCH_BOOST
 # option, go and grab it for them.
 ##
-if ((NOT Boost_FOUND) AND (NOT FETCH_BOOST))
+if (NOT Boost_FOUND)
 	message(FATAL_ERROR
         "Salmon cannot be compiled without Boost.\n"
         "It is recommended to visit http://www.boost.org/ and install Boost according to those instructions.\n"
         "This build system can also download and install a local version of boost for you (this takes a lot of time).\n"
         "To fetch and build boost locally, call cmake with -DFETCH_BOOST=TRUE"
     )
-elseif(FETCH_BOOST)
-    ## Let the rest of the build process know we're going to be fetching boost
-    set (BOOST_LIB_SUBSET --with-iostreams --with-atomic --with-chrono --with-container --with-date_time --with-exception
-                          --with-filesystem --with-graph --with-graph_parallel --with-math
-                          --with-program_options --with-system --with-thread
-                          --with-timer)
-    set (BOOST_WILL_RECONFIGURE TRUE)
-    set (FETCH_BOOST FALSE)
-    message("Build system will fetch and build Boost")
-    message("==================================================================")
-    ExternalProject_Add(libboost
-        DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-        DOWNLOAD_COMMAND curl -k -L  http://downloads.sourceforge.net/project/boost/boost/1.66.0/boost_1_66_0.tar.gz -o boost_1_66_0.tar.gz &&
-                         ${SHASUM} bd0df411efd9a585e5a2212275f8762079fed8842264954675a4fddc46cfcf60 boost_1_66_0.tar.gz &&
-                         tar xzf boost_1_66_0.tar.gz
-        SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/boost_1_66_0
-        INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
-        #PATCH_COMMAND patch -p2 < ${CMAKE_CURRENT_SOURCE_DIR}/external/boost156.patch
-	CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${CMAKE_CURRENT_SOURCE_DIR}/external/boost_1_66_0/bootstrap.sh ${BOOST_CONFIGURE_TOOLSET} ${BOOST_BUILD_LIBS} --prefix=<INSTALL_DIR>
-	BUILD_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${CMAKE_CURRENT_SOURCE_DIR}/external/boost_1_66_0/b2 -d0 -j2 ${BOOST_LIB_SUBSET} toolset=${BOOST_TOOLSET} ${BOOST_EXTRA_FLAGS} cxxflags=${BOOST_CXX_FLAGS} link=static install
-        BUILD_IN_SOURCE 1
-        INSTALL_COMMAND ""
-    )
-
-    ##
-    # After we've installed boost,
-    ##
-    SET( RECONFIG_FLAGS ${RECONFIG_FLAGS} -DBOOST_WILL_RECONFIGURE=FALSE -DBOOST_RECONFIGURE=TRUE -DFETCH_BOOST=FALSE)
-    ExternalProject_Add_Step(libboost reconfigure
-        COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR} ${RECONFIG_FLAGS}
-        DEPENDEES install
-    )
-    set (FETCHED_BOOST TRUE)
 endif()
 
-##
-# If we're fetching boost and we need to have dummy paths for these variables
-# so that CMake won't complain
-##
-if (BOOST_WILL_RECONFIGURE)
-    message("Setting Temporary Boost paths")
-    set(Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install/include)
-    set(Boost_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/include)
-    set(Boost_LIBRARY_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib)
-    set(Boost_FOUND TRUE)
-endif()
-
-
 message("BOOST INCLUDE DIR = ${Boost_INCLUDE_DIR}")
 message("BOOST INCLUDE DIRS = ${Boost_INCLUDE_DIRS}")
 message("BOOST LIB DIR = ${Boost_LIBRARY_DIRS}")
@@ -422,9 +331,9 @@
 include(ExternalProject)
 ExternalProject_Add(libcereal
     DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-    DOWNLOAD_COMMAND curl -k -L https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz -o cereal-v1.2.2.tar.gz &&		 
-                     ${SHASUM} 1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4  cereal-v1.2.2.tar.gz &&
-                     tar -xzvf cereal-v1.2.2.tar.gz
+    DOWNLOAD_COMMAND cp ../../../distdir/cereal-1.2.2.tar.gz . &&		 
+                     ${SHASUM} 1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4  cereal-1.2.2.tar.gz &&
+                     tar -xzvf cereal-1.2.2.tar.gz
 
     ##
     #URL https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz
@@ -455,12 +364,12 @@
 ExternalProject_Add(libbwa
     DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
     #URL https://github.com/COMBINE-lab/bwa/archive/0.7.12.3.tar.gz
-    #DOWNLOAD_NAME bwa-master.tar.gz
-    DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/bwa/archive/v0.7.12.5.tar.gz -o bwa-master.tar.gz &&
-                    ${SHASUM} 1ac5661d9e12e9017a47f0264201a75d9128f28dbd9a26952925f7745ddf6036 bwa-master.tar.gz &&
-                    mkdir -p bwa-master &&
-                    tar -xzvf bwa-master.tar.gz --strip-components=1 -C bwa-master
-    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bwa-master
+    #DOWNLOAD_NAME bwa-0.7.12.5.tar.gz
+    DOWNLOAD_COMMAND cp ../../../distdir/bwa-0.7.12.5.tar.gz . &&
+                    ${SHASUM} 1ac5661d9e12e9017a47f0264201a75d9128f28dbd9a26952925f7745ddf6036 bwa-0.7.12.5.tar.gz &&
+                    mkdir -p bwa-0.7.12.5 &&
+                    tar -xzvf bwa-0.7.12.5.tar.gz --strip-components=1 -C bwa-0.7.12.5
+    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bwa-0.7.12.5
     INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
     CONFIGURE_COMMAND ""
     BUILD_COMMAND sh -c "make ${QUIET_MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}"
@@ -562,9 +471,9 @@
 message("==================================================================")
 ExternalProject_Add(libgff
     DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-    DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/libgff/archive/v1.1.tar.gz -o libgff.tgz &&
-                     ${SHASUM} 34597ecd3718e6d6e7a1dd4350220664be2c1cd992070d1218564a20d7aa5697  libgff.tgz &&
-                     tar -xzvf libgff.tgz 
+    DOWNLOAD_COMMAND cp ../../../distdir/libgff-1.1.tgz . &&
+                     ${SHASUM} 34597ecd3718e6d6e7a1dd4350220664be2c1cd992070d1218564a20d7aa5697 libgff-1.1.tgz &&
+                     tar -xzvf libgff-1.1.tgz
     ##
     #URL https://github.com/COMBINE-lab/libgff/archive/v1.1.tar.gz
     #DOWNLOAD_NAME libff.tgz
@@ -600,10 +509,10 @@
 message("==================================================================")
 ExternalProject_Add(libstadenio
     DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-    DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/staden-io_lib/archive/v1.14.8.1.tar.gz -o staden-io_lib-v1.14.8.tar.gz &&
-                     ${SHASUM} f6f30eefa478cfb708f3109a35fb6ffa0e24951d9d971985df2cef5919dd0bc3 staden-io_lib-v1.14.8.tar.gz &&
+    DOWNLOAD_COMMAND cp ../../../distdir/staden-io_lib-1.14.8.tar.gz . &&
+                     ${SHASUM} f6f30eefa478cfb708f3109a35fb6ffa0e24951d9d971985df2cef5919dd0bc3 staden-io_lib-1.14.8.tar.gz &&
                      mkdir -p staden-io_lib-1.14.8 &&
-                     tar -xzf staden-io_lib-v1.14.8.tar.gz --strip-components=1 -C staden-io_lib-1.14.8 &&
+                     tar -xzf staden-io_lib-1.14.8.tar.gz --strip-components=1 -C staden-io_lib-1.14.8 &&
                      rm -fr staden-io_lib &&
                      mv -f staden-io_lib-1.14.8 staden-io_lib
     SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/staden-io_lib
@@ -620,9 +529,9 @@
 message("==================================================================")
 ExternalProject_Add(libspdlog
     DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
-    DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/spdlog/archive/v0.16.1.tar.gz -o spdlog-v0.16.1.tar.gz &&
-                     ${SHASUM} 733260e1fbdcf1b3dc307fc585e4476240026de8be28eb905731d2ab0942deae spdlog-v0.16.1.tar.gz &&
-                     tar -xzf spdlog-v0.16.1.tar.gz 
+    DOWNLOAD_COMMAND cp ../../../distdir/spdlog-0.16.1.tar.gz . &&
+                     ${SHASUM} 733260e1fbdcf1b3dc307fc585e4476240026de8be28eb905731d2ab0942deae spdlog-0.16.1.tar.gz &&
+                     tar -xzf spdlog-0.16.1.tar.gz 
     ##
     #URL https://github.com/COMBINE-lab/spdlog/archive/v0.12.0.tar.gz
     #DOWNLOAD_NAME spdlog-v0.12.0.tar.gz