@@ -10,14 +10,19 @@ file (MAKE_DIRECTORY ${COLUMBUS_3RDPARTY_INSTALL_DIR}/bin)
10
10
file (MAKE_DIRECTORY ${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib)
11
11
file (MAKE_DIRECTORY ${COLUMBUS_3RDPARTY_INSTALL_DIR} /include )
12
12
13
+ # Disable warnings during building 3rdparty code
14
+ if (CMAKE_SYSTEM_NAME STREQUAL Linux)
15
+ add_compile_options ("-w" )
16
+ endif ()
17
+
13
18
########################### zlib #########################
14
19
15
20
ExternalProject_Add(zlib
16
21
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /zlib
17
22
PATCH_COMMAND git clean -x -d -f
18
23
COMMAND git reset --hard
19
24
COMMAND git apply --ignore -whitespace ${CMAKE_CURRENT_SOURCE_DIR} /CMake/zlib.patch
20
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${COLUMBUS_3RDPARTY_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
25
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${COLUMBUS_3RDPARTY_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_CXX_COMPILER= ${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER= ${CMAKE_C_COMPILER}
21
26
LOG_CONFIGURE 1
22
27
LOG_BUILD 1
23
28
LOG_INSTALL 1
@@ -38,15 +43,22 @@ if (CMAKE_SYSTEM_NAME STREQUAL Windows)
38
43
if (COLUMBUS_64BIT)
39
44
set (BOOST_ADDRESS_MODEL address-model=64)
40
45
endif ()
46
+ set (BOOST_MSVC_TOOLSET toolset=msvc -14.1)
47
+ endif ()
48
+
49
+
50
+ if (CMAKE_SYSTEM_NAME STREQUAL Linux)
51
+ set (BOOST_EXTRA_CXX_COMPILER_FLAGS cxxflags=-fPIC)
52
+ set (BOOST_EXTRA_C_COMPILER_FLAGS cflags=-fPIC)
41
53
endif ()
42
54
43
55
ExternalProject_Add(boost
44
56
DEPENDS zlib
45
57
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /boost
46
58
BUILD_IN_SOURCE 1
47
59
CONFIGURE_COMMAND ${COMMAND_PREFIX} bootstrap${SCRIPT_EXT}
48
- BUILD_COMMAND ${COMMAND_PREFIX} b2 cxxflags=-fPIC cflags=-fPIC --reconfigure --build -dir=${CMAKE_CURRENT_BINARY_DIR} /boost-prefix --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} -j8 --with-filesystem --with-system --with-date_time --with-iostreams --with-graph --with-regex --with-thread --with-math --layout=system variant=$<$<CONFIG:Debug>:debug>$<$<CONFIG:Release>:release> runtime-link=static architecture=x86 threading=multi ${BOOST_ADDRESS_MODEL} link=static -sZLIB_INCLUDE=${COLUMBUS_3RDPARTY_INSTALL_DIR} /include -sZLIB_LIBPATH=${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib -sZLIB_BINARY=z -sNO_ZLIB=0 -sNO_BZIP2=1 headers
49
- COMMAND ${COMMAND_PREFIX} b2 cxxflags=-fPIC cflags=-fPIC --reconfigure --build -dir=${CMAKE_CURRENT_BINARY_DIR} /boost-prefix --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} -j8 --with-filesystem --with-system --with-date_time --with-iostreams --with-graph --with-regex --with-thread --with-math --layout=system variant=$<$<CONFIG:Debug>:debug>$<$<CONFIG:Release>:release> runtime-link=static architecture=x86 threading=multi ${BOOST_ADDRESS_MODEL} link=static -sZLIB_INCLUDE=${COLUMBUS_3RDPARTY_INSTALL_DIR} /include -sZLIB_LIBPATH=${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib -sZLIB_BINARY=z -sNO_ZLIB=0 -sNO_BZIP2=1 install
60
+ BUILD_COMMAND ${COMMAND_PREFIX} b2 ${BOOST_EXTRA_CXX_COMPILER_FLAGS} ${BOOST_EXTRA_C_COMPILER_FLAGS} ${BOOST_MSVC_TOOLSET} --reconfigure --build -dir=${CMAKE_CURRENT_BINARY_DIR} /boost-prefix --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} -j8 --with-filesystem --with-system --with-date_time --with-iostreams --with-graph --with-regex --with-thread --with-math --layout=system variant=$<$<CONFIG:Debug>:debug>$<$<CONFIG:Release>:release> runtime-link=static architecture=x86 threading=multi ${BOOST_ADDRESS_MODEL} link=static -sZLIB_INCLUDE=${COLUMBUS_3RDPARTY_INSTALL_DIR} /include -sZLIB_LIBPATH=${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib -sZLIB_BINARY=z -sNO_ZLIB=0 -sNO_BZIP2=1 headers
61
+ COMMAND ${COMMAND_PREFIX} b2 ${BOOST_EXTRA_CXX_COMPILER_FLAGS} ${BOOST_EXTRA_C_COMPILER_FLAGS} ${BOOST_MSVC_TOOLSET} --reconfigure --build -dir=${CMAKE_CURRENT_BINARY_DIR} /boost-prefix --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} -j8 --with-filesystem --with-system --with-date_time --with-iostreams --with-graph --with-regex --with-thread --with-math --layout=system variant=$<$<CONFIG:Debug>:debug>$<$<CONFIG:Release>:release> runtime-link=static architecture=x86 threading=multi ${BOOST_ADDRESS_MODEL} link=static -sZLIB_INCLUDE=${COLUMBUS_3RDPARTY_INSTALL_DIR} /include -sZLIB_LIBPATH=${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib -sZLIB_BINARY=z -sNO_ZLIB=0 -sNO_BZIP2=1 install
50
62
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "No sepearate installation step is needed."
51
63
LOG_CONFIGURE 1
52
64
LOG_BUILD 1
@@ -88,11 +100,11 @@ endif ()
88
100
89
101
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
90
102
ExternalProject_Add( xerces-c
91
- URL http ://archive.apache.org/dist/xerces/c/3/sources /xerces-c-3.1.4.tar.gz
92
- URL_HASH MD5=21bb097b711a513275379b59757cba4c
93
- BUILD_IN_SOURCE 1
103
+ URL https ://archive.apache.org/dist/xerces/c/3/sources /xerces-c-3.1.4.tar.gz
104
+ URL_HASH MD5=21bb097b711a513275379b59757cba4c
105
+ BUILD_IN_SOURCE 1
94
106
CONFIGURE_COMMAND ./reconf
95
- COMMAND ./configure --disable-shared -disable-network --disable-transcoder-icu --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR}
107
+ COMMAND ./configure --disable-shared -disable-network --disable-transcoder-icu --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} --disable-dependency-tracking
96
108
BUILD_COMMAND make -j8 all
97
109
INSTALL_COMMAND make install
98
110
LOG_DOWNLOAD 1
@@ -111,8 +123,8 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL Windows)
111
123
endif ()
112
124
113
125
ExternalProject_Add( xerces-c
114
- URL http ://archive.apache.org/dist/xerces/c/3/sources /xerces-c-3.1.4.zip
115
- URL_HASH MD5=6fcd8ec268f6bfe11d8ce2cd7d25a185
126
+ URL https ://archive.apache.org/dist/xerces/c/3/sources /xerces-c-3.1.4.zip
127
+ URL_HASH MD5=6fcd8ec268f6bfe11d8ce2cd7d25a185
116
128
BUILD_IN_SOURCE 1
117
129
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "No configuration is required."
118
130
BUILD_COMMAND msbuild projects/Win32 /VC14/xerces-all /xerces-all .sln /m /t:XercesLib "/p:Configuration=Static $<CONFIG>" /p:Platform=${VS_PLATFORM} /p:PlatformToolset=${CMAKE_VS_PLATFORM_TOOLSET}
@@ -128,13 +140,19 @@ endif ()
128
140
129
141
########################### PMD #########################
130
142
131
- set (PMD_PACKAGE_VERSION pmd-bin-5.2.3 )
143
+ set (PMD_PACKAGE_VERSION pmd-bin-6.32.0 )
132
144
set (PMD_DIST_PACKAGE ${CMAKE_CURRENT_SOURCE_DIR} /PMD/pmd-dist/target /${PMD_PACKAGE_VERSION} .zip)
133
145
set (PMD_PACKAGE ${COLUMBUS_3RDPARTY_INSTALL_DIR} /PMD.zip)
146
+ if (CMAKE_SYSTEM_NAME STREQUAL Windows AND NOT COLUMBUS_64BIT)
147
+ set (PMD_MAVEN_OPTS ${CMAKE_COMMAND} -E env MAVEN_OPTS=-Xss16m)
148
+ endif ()
149
+ if (CMAKE_SYSTEM_NAME STREQUAL Windows)
150
+ set (MVNW_POSTFIX .cmd)
151
+ endif ()
134
152
135
153
add_custom_command (
136
154
OUTPUT ${PMD_PACKAGE}
137
- COMMAND mvn ${MVN_POSTFIX} package -DskipTests > ${CMAKE_CURRENT_BINARY_DIR} /PMD-build .log
155
+ COMMAND ${PMD_MAVEN_OPTS} ${COMMAND_PREFIX} mvnw ${MVNW_POSTFIX} package -DskipTests -Dmaven. test .skip= true -Dmaven.javadoc.skip= true -Dmaven. source .skip= true -pl pmd-dist,pmd-core,pmd-java > ${CMAKE_CURRENT_BINARY_DIR} /PMD-build .log 2>&1
138
156
COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR} /PMD/pmd-dist/target / ${CMAKE_COMMAND} -E remove_directory PMD
139
157
COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR} /PMD/pmd-dist/target / ${CMAKE_COMMAND} -E tar xf ${PMD_DIST_PACKAGE}
140
158
COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR} /PMD/pmd-dist/target / ${CMAKE_COMMAND} -E rename ${PMD_PACKAGE_VERSION} PMD
@@ -151,14 +169,26 @@ add_custom_target (
151
169
152
170
set_target_properties (PMD PROPERTIES FOLDER "ExternalProjectTargets/pmd" )
153
171
172
+
173
+ ########################### SpotBugs #########################
174
+
175
+ ExternalProject_Add( spotbugs
176
+ URL https://repo.maven.apache.org/maven2/com/github/spotbugs/spotbugs/4.2.2/spotbugs-4.2.2.tgz
177
+ CONFIGURE_COMMAND ""
178
+ BUILD_COMMAND ""
179
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_BINARY_DIR} /spotbugs-prefix /src ${CMAKE_COMMAND} -E tar cf ${COLUMBUS_3RDPARTY_INSTALL_DIR} /spotbugs.zip --format=zip spotbugs
180
+ LOG_DOWNLOAD 1
181
+ LOG_INSTALL 1
182
+ )
183
+
184
+
154
185
########################### python27 #########################
155
186
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
156
187
157
188
ExternalProject_Add( python2.7
158
189
DEPENDS zlib
159
190
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /python2
160
- BUILD_IN_SOURCE 1
161
- CONFIGURE_COMMAND ./configure --enable-optimizations --disable-shared --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR}
191
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /python2/configure --enable-optimizations --disable-shared --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR}
162
192
BUILD_COMMAND make -j8 altbininstall inclinstall
163
193
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "No install step is required as the build step installs the library."
164
194
LOG_CONFIGURE 1
@@ -186,14 +216,13 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL Windows)
186
216
187
217
endif ()
188
218
189
- ########################### python36 #########################
219
+ ########################### python38 #########################
190
220
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
191
221
192
- ExternalProject_Add( python3.6
222
+ ExternalProject_Add( python3.8
193
223
DEPENDS zlib
194
224
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /python3
195
- BUILD_IN_SOURCE 1
196
- CONFIGURE_COMMAND ./configure --enable-optimizations --disable-shared --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} --without-pymalloc
225
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /python3/configure --enable-optimizations --disable-shared --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} --without-pymalloc
197
226
BUILD_COMMAND make -j8 altbininstall inclinstall
198
227
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "No install step is required as the build step installs the library."
199
228
LOG_CONFIGURE 1
@@ -202,17 +231,51 @@ if (CMAKE_SYSTEM_NAME STREQUAL Linux)
202
231
)
203
232
elseif (CMAKE_SYSTEM_NAME STREQUAL Windows)
204
233
205
- ExternalProject_Add( python3.6
234
+ ExternalProject_Add( python3.8
206
235
DEPENDS zlib
207
236
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /python3
208
237
BUILD_IN_SOURCE 1
209
238
CONFIGURE_COMMAND ""
210
239
BUILD_COMMAND msbuild PCbuild/pythoncore.vcxproj /m /t:Build /p:Configuration =$<CONFIG> /p:Platform=${VS_PLATFORM} /p:PlatformToolset=${CMAKE_VS_PLATFORM_TOOLSET}
211
- INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory Include ${COLUMBUS_3RDPARTY_INSTALL_DIR} /include /python3.6
212
- COMMAND ${CMAKE_COMMAND} -E copy "PC/pyconfig.h" ${COLUMBUS_3RDPARTY_INSTALL_DIR} /include /python3.6 /pyconfig.h
213
- COMMAND ${CMAKE_COMMAND} -E copy "PCbuild/${PYTHON_PLATFORM_NAME} /python36 $<$<CONFIG:Debug>:_d>.lib" ${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib/python3.6 .lib
240
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory Include ${COLUMBUS_3RDPARTY_INSTALL_DIR} /include /python3.8
241
+ COMMAND ${CMAKE_COMMAND} -E copy "PC/pyconfig.h" ${COLUMBUS_3RDPARTY_INSTALL_DIR} /include /python3.8 /pyconfig.h
242
+ COMMAND ${CMAKE_COMMAND} -E copy "PCbuild/${PYTHON_PLATFORM_NAME} /python38 $<$<CONFIG:Debug>:_d>.lib" ${COLUMBUS_3RDPARTY_INSTALL_DIR} /lib/python3.8 .lib
214
243
LOG_CONFIGURE 1
215
244
LOG_BUILD 1
216
245
LOG_INSTALL 1
217
246
)
218
247
endif ()
248
+
249
+ ###################### openssl ############################
250
+
251
+ if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" )
252
+ if (CMAKE_CL_64 )
253
+ set (OPENSSL_PLATFORM VC-WIN64A)
254
+ else ()
255
+ set (OPENSSL_PLATFORM VC-WIN32 )
256
+ endif ()
257
+
258
+ ExternalProject_Add( openssl
259
+ URL https://www.openssl.org/source /openssl-1.1.0h.tar.gz
260
+ CONFIGURE_COMMAND perl ../openssl/Configure --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} --openssldir=ssl ${OPENSSL_PLATFORM} ${DEBUG_BUILD} -no -shared
261
+ BUILD_COMMAND nmake
262
+ INSTALL_COMMAND nmake install
263
+ LOG_CONFIGURE 1
264
+ LOG_BUILD 1
265
+ LOG_INSTALL 1
266
+ LOG_DOWNLOAD 1
267
+ )
268
+
269
+ else ()
270
+ ExternalProject_Add( openssl
271
+ URL https://www.openssl.org/source /openssl-1.1.0h.tar.gz
272
+ CONFIGURE_COMMAND ../openssl/config --prefix =${COLUMBUS_3RDPARTY_INSTALL_DIR} --openssldir=ssl ${DEBUG_BUILD} -no -shared
273
+ BUILD_COMMAND make
274
+ INSTALL_COMMAND make install
275
+ LOG_CONFIGURE 1
276
+ LOG_BUILD 1
277
+ LOG_INSTALL 1
278
+ LOG_DOWNLOAD 1
279
+ )
280
+
281
+ endif ()
0 commit comments