Skip to content

Commit ce737e5

Browse files
committed
Fixes #443, #205 Refactoring of CMake install system
This is a complete refactoring of the our CMake install system to clean up a series of issues with our generated packages. - Creation of proper tree based cmake files for a majority of our directories. - Moving of all install lines to proper tree based cmake files. - Removal of install_directory and all files in the dir. - Refactoring of the top level CMakeLists.txt to call the tree based cmake files instead of subdirectories. This provides a fix for #443 (cascaded subproject building) and #205 (Lintain, low quality package). Signed-off-by: Philip Schwartz <philip.schwartz@lexisnexis.com>
1 parent 20c9640 commit ce737e5

File tree

132 files changed

+2059
-5638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+2059
-5638
lines changed

CMakeLists.txt

+20-177
Original file line numberDiff line numberDiff line change
@@ -124,144 +124,20 @@ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
124124
include(${HPCC_SOURCE_DIR}/cmake_modules/commonSetup.cmake)
125125

126126
add_subdirectory (initfiles)
127-
128-
add_subdirectory (tools/esdl)
129-
add_subdirectory (tools/hidl)
130-
131-
add_subdirectory (esp/scm)
132-
add_subdirectory (common/commonext)
133-
add_subdirectory (common/deftype)
134-
add_subdirectory (common/dllserver)
135-
add_subdirectory (common/environment)
136-
add_subdirectory (common/fileview2)
137-
add_subdirectory (common/monitoring/prosysinfo)
138-
add_subdirectory (common/remote)
139-
add_subdirectory (common/roxiecommlib)
140-
add_subdirectory (common/roxiehelper)
141-
add_subdirectory (common/roxiemanager)
142-
add_subdirectory (common/thorhelper)
143-
add_subdirectory (common/workunit)
144-
add_subdirectory (common/wuwebview)
145-
add_subdirectory (dali/base)
146-
add_subdirectory (dali/dafilesrv)
147-
add_subdirectory (dali/dalidiag)
148-
add_subdirectory (dali/dalistop)
149-
add_subdirectory (dali/datest)
150-
if (CPPUNIT)
151-
add_subdirectory (dali/daunittest)
152-
endif()
153-
add_subdirectory (dali/dfu)
154-
add_subdirectory (dali/dfuplus)
155-
add_subdirectory (dali/dfuxref)
156-
add_subdirectory (dali/dfuXRefLib)
157-
add_subdirectory (dali/ft)
158-
add_subdirectory (dali/regress)
159-
add_subdirectory (dali/sdsfix)
160-
add_subdirectory (dali/daliadmin)
161-
add_subdirectory (dali/server)
162-
add_subdirectory (dali/treeview)
163-
add_subdirectory (dali/updtdalienv)
164-
add_subdirectory (deployment/configgen)
165-
add_subdirectory (deployment/deploy)
166-
add_subdirectory (deployment/deployutils)
167-
add_subdirectory (deployment/envgen)
168-
add_subdirectory (ecl/agentexec)
169-
add_subdirectory (ecl/eclagent)
170-
add_subdirectory (ecl/eclcc)
171-
add_subdirectory (ecl/eclccserver)
172-
add_subdirectory (ecl/eclcmd)
173-
add_subdirectory (ecl/eclscheduler)
174-
add_subdirectory (ecl/eclplus)
175-
add_subdirectory (ecl/hql)
176-
add_subdirectory (ecl/hqlcpp)
177-
add_subdirectory (ecl/hthor)
178-
add_subdirectory (ecl/scheduleadmin)
179-
add_subdirectory (ecl/schedulectrl)
180-
add_subdirectory (ecl/wutest)
181-
add_subdirectory (esp/bindings/SOAP/soaplib)
182-
add_subdirectory (esp/clients/LoggingClient)
183-
add_subdirectory (esp/clients/wsecl)
184-
add_subdirectory (esp/clients/WUManager)
185-
add_subdirectory (esp/platform)
186-
add_subdirectory (esp/protocols/http)
187-
add_subdirectory (esp/services/ecldirect)
188-
add_subdirectory (esp/services/ws_access)
189-
add_subdirectory (esp/services/ws_account)
190-
add_subdirectory (esp/services/ws_config)
191-
add_subdirectory (esp/services/ws_dfu)
192-
add_subdirectory (esp/services/ws_ecl)
193-
add_subdirectory (esp/services/ws_fileio)
194-
add_subdirectory (esp/services/ws_fs)
195-
add_subdirectory (esp/services/ws_machine)
196-
add_subdirectory (esp/services/ws_roxiequery)
197-
add_subdirectory (esp/services/ws_smc)
198-
add_subdirectory (esp/services/ws_topology)
199-
add_subdirectory (esp/services/ws_workunits)
200-
add_subdirectory (esp/services/WsDeploy)
201-
add_subdirectory (esp/smc/SMCLib)
202-
add_subdirectory (esp/test/httptest)
203-
add_subdirectory (esp/tools/soapplus)
204-
add_subdirectory (plugins/auditlib)
205-
add_subdirectory (plugins/debugservices)
206-
add_subdirectory (plugins/fileservices)
207-
add_subdirectory (plugins/logging)
208-
add_subdirectory (plugins/parselib)
209-
add_subdirectory (plugins/stringlib)
210-
add_subdirectory (plugins/unicodelib)
211-
add_subdirectory (plugins/workunitservices)
212-
add_subdirectory (roxie/ccd)
213-
add_subdirectory (roxie/roxie)
214-
add_subdirectory (roxie/roxieclient)
215-
add_subdirectory (roxie/roxieclienttest)
216-
add_subdirectory (roxie/roxiemem)
217-
add_subdirectory (roxie/roxiepipe)
218-
add_subdirectory (roxie/udplib)
219-
add_subdirectory (rtl/eclrtl)
220-
add_subdirectory (rtl/nbcd)
221-
add_subdirectory (dali/sasha)
222-
add_subdirectory (services/runagent)
223-
add_subdirectory (system/hrpc)
224-
add_subdirectory (system/jhtree)
225-
add_subdirectory (system/jlib)
226-
add_subdirectory (system/lzma)
227-
add_subdirectory (system/mp)
228-
add_subdirectory (system/mp/test)
229-
add_subdirectory (system/security/LdapSecurity)
230-
add_subdirectory (system/security/securesocket)
231-
add_subdirectory (system/security/test/ldapsecuritytest)
232-
add_subdirectory (system/security/test/myssl)
233-
if (USE_ZLIB)
234-
add_subdirectory (system/security/zcrypt)
235-
endif()
236-
add_subdirectory (system/xmllib)
237-
238-
add_subdirectory (thorlcr/activities)
239-
add_subdirectory (thorlcr/graph)
240-
add_subdirectory (thorlcr/master)
241-
add_subdirectory (thorlcr/mfilemanager)
242-
add_subdirectory (thorlcr/msort)
243-
add_subdirectory (thorlcr/slave)
244-
add_subdirectory (thorlcr/thorcodectx)
245-
add_subdirectory (tools/backupnode)
246-
add_subdirectory (tools/combine)
247-
add_subdirectory (tools/dumpkey)
248-
add_subdirectory (tools/keydiff)
249-
add_subdirectory (tools/pstart)
250-
add_subdirectory (tools/pskill)
251-
add_subdirectory (tools/testsocket)
252-
add_subdirectory (tools/swapnode)
253-
add_subdirectory (tools/vkey)
254-
add_subdirectory (tools/xmlsize)
255-
add_subdirectory (tools/wuget)
256-
add_subdirectory (tools/copyexp)
257-
add_subdirectory (tools/genht)
258-
259-
260-
# start-stop-daemon is linux only.
261-
if ( CMAKE_SYSTEM MATCHES Linux )
262-
message ("-- Building start-stop-daemon")
263-
add_subdirectory (tools/start-stop-daemon)
264-
endif()
127+
add_subdirectory (tools)
128+
add_subdirectory (common)
129+
add_subdirectory (dali)
130+
add_subdirectory (deploy)
131+
add_subdirectory (deployment)
132+
add_subdirectory (ecl)
133+
add_subdirectory (ecllibrary)
134+
add_subdirectory (esp)
135+
add_subdirectory (plugins)
136+
add_subdirectory (roxie)
137+
add_subdirectory (rtl)
138+
add_subdirectory (services)
139+
add_subdirectory (system)
140+
add_subdirectory (thorlcr)
265141

266142
###
267143
## CPack install and packaging setup.
@@ -340,20 +216,14 @@ set(CPACK_SOURCE_IGNORE_FILES
340216
)
341217

342218
###
343-
## Run file configuration to set build tag
219+
## Run file configuration to set build tag along with install lines for generated
220+
## config files.
344221
###
345222
set( BUILD_TAG "${CPACK_RPM_PACKAGE_VERSION}_${CPACK_RPM_PACKAGE_RELEASE}-${stagever}")
346223
configure_file(${HPCC_SOURCE_DIR}/build-config.h.cmake "build-config.h" )
347-
configure_file("initfiles/etc/DIR_NAME/version.in" "version")
348-
configure_file("initfiles/etc/DIR_NAME/environment.conf.in" "environment.conf")
349-
configure_file("initfiles/etc/DIR_NAME/environment.xml.in" "environment.xml")
350-
configure_file("initfiles/etc/DIR_NAME/configmgr/configmgr.conf.in" "configmgr.conf")
351-
configure_file("initfiles/etc/DIR_NAME/configmgr/esp.xml.in" "esp.xml")
352-
if ( ${HPCC_PROJECT} STREQUAL "community" )
353-
configure_file("initfiles/componentfiles/configxml/buildsetCC.xml.in" "buildset.xml")
354-
else ()
355-
configure_file("initfiles/componentfiles/configxml/buildsetEE.xml.in" "buildset.xml")
356-
endif()
224+
225+
#set( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON )
226+
#set( CPACK_DEB_PACKAGE_COMPONENT ON )
357227

358228

359229
###
@@ -408,32 +278,5 @@ endif()
408278
## the hpcc platform.
409279
###
410280

411-
Install ( FILES ${HPCC_SOURCE_DIR}/${LICENSE_FILE} DESTINATION ${OSSDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
412-
include( install_directory/overall.install )
413-
include( install_directory/bash_startup.install )
414-
include( install_directory/WsReferenceTracker.install )
415-
include( install_directory/dali.install )
416-
include( install_directory/dfuplus.install )
417-
include( install_directory/dfuserver.install )
418-
include( install_directory/dkcslave.install ) #: MORE - file name is wrong!
419-
include( install_directory/eclagent.install )
420-
include( install_directory/ecldirect.install )
421-
include( install_directory/ecllibrary.install )
422-
include( install_directory/eclplus.install )
423-
include( install_directory/eclcc.install )
424-
include( install_directory/eclccserver.install )
425-
include( install_directory/eclscheduler.install )
426-
include( install_directory/esp.install )
427-
include( install_directory/espsmc.install )
428-
include( install_directory/ftslave.install )
429-
#include( install_directory/regressionSuite.install )
430-
include( install_directory/roxie.install )
431-
include( install_directory/sasha.install )
432-
include( install_directory/thor.install )
433-
include( install_directory/ws_account.install )
434-
include( install_directory/ws_watchlist.install )
435-
include( install_directory/ws_ecl.install )
436-
include( install_directory/configgen.install )
437-
include( install_directory/configmgr.install )
438-
include( install_directory/agentexec.install )
281+
Install ( FILES ${HPCC_SOURCE_DIR}/${LICENSE_FILE} DESTINATION ${OSSDIR} COMPONENT Runtime )
439282
include (CPack)

common/CMakeLists.txt

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
################################################################################
2+
# Copyright (C) 2011 HPCC Systems.
3+
#
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
7+
# it under the terms of the GNU Affero General Public License as
8+
# published by the Free Software Foundation, either version 3 of the
9+
# License, or (at your option) any later version.
10+
#
11+
# This program is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU Affero General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU Affero General Public License
17+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
################################################################################
19+
add_subdirectory (commonext)
20+
add_subdirectory (deftype)
21+
add_subdirectory (dllserver)
22+
add_subdirectory (environment)
23+
add_subdirectory (fileview2)
24+
add_subdirectory (monitoring)
25+
add_subdirectory (remote)
26+
add_subdirectory (roxiecommlib)
27+
add_subdirectory (roxiehelper)
28+
add_subdirectory (roxiemanager)
29+
add_subdirectory (thorhelper)
30+
add_subdirectory (workunit)
31+
add_subdirectory (wuwebview)

common/monitoring/CMakeLists.txt

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
################################################################################
2+
# Copyright (C) 2011 HPCC Systems.
3+
#
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
7+
# it under the terms of the GNU Affero General Public License as
8+
# published by the Free Software Foundation, either version 3 of the
9+
# License, or (at your option) any later version.
10+
#
11+
# This program is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU Affero General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU Affero General Public License
17+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
################################################################################
19+
add_subdirectory (prosysinfo)
20+
21+
Install ( PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/preflight DESTINATION ${OSSDIR}/sbin COMPONENT Runtime )

dali/CMakeLists.txt

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
################################################################################
2+
# Copyright (C) 2011 HPCC Systems.
3+
#
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
7+
# it under the terms of the GNU Affero General Public License as
8+
# published by the Free Software Foundation, either version 3 of the
9+
# License, or (at your option) any later version.
10+
#
11+
# This program is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU Affero General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU Affero General Public License
17+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
################################################################################
19+
add_subdirectory (base)
20+
add_subdirectory (dafilesrv)
21+
add_subdirectory (dalidiag)
22+
add_subdirectory (dalistop)
23+
add_subdirectory (datest)
24+
if (CPPUNIT)
25+
add_subdirectory (daunittest)
26+
endif()
27+
add_subdirectory (dfu)
28+
add_subdirectory (dfuplus)
29+
add_subdirectory (dfuxref)
30+
add_subdirectory (dfuXRefLib)
31+
add_subdirectory (ft)
32+
add_subdirectory (regress)
33+
add_subdirectory (sdsfix)
34+
add_subdirectory (daliadmin)
35+
add_subdirectory (server)
36+
add_subdirectory (treeview)
37+
add_subdirectory (updtdalienv)
38+
add_subdirectory (sasha)

install_directory/DropZone.install deploy/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
################################################################################
22
# Copyright (C) 2011 HPCC Systems.
33
#
4-
# This program is free software: you can redistribute it and/or All rights reserved. This program is NOT PRESENTLY free software: you can NOT redistribute
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
57
# it under the terms of the GNU Affero General Public License as
68
# published by the Free Software Foundation, either version 3 of the
79
# License, or (at your option) any later version.
@@ -14,6 +16,4 @@
1416
# You should have received a copy of the GNU Affero General Public License
1517
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1618
################################################################################
17-
18-
# DropZone Supplementals
19-
# SCHEMA: name=dropzone.xsd method=schema
19+
add_subdirectory (gcc3)

install_directory/topology.install deploy/gcc3/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
################################################################################
22
# Copyright (C) 2011 HPCC Systems.
33
#
4-
# This program is free software: you can redistribute it and/or All rights reserved. This program is NOT PRESENTLY free software: you can NOT redistribute
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
57
# it under the terms of the GNU Affero General Public License as
68
# published by the Free Software Foundation, either version 3 of the
79
# License, or (at your option) any later version.
@@ -14,6 +16,4 @@
1416
# You should have received a copy of the GNU Affero General Public License
1517
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1618
################################################################################
17-
18-
# topology Supplementals
19-
# SCHEMA: name=topology.xsd method=schema
19+
add_subdirectory (bin)

install_directory/SiteCertificate.install deploy/gcc3/bin/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
################################################################################
22
# Copyright (C) 2011 HPCC Systems.
33
#
4-
# This program is free software: you can redistribute it and/or All rights reserved. This program is NOT PRESENTLY free software: you can NOT redistribute
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
57
# it under the terms of the GNU Affero General Public License as
68
# published by the Free Software Foundation, either version 3 of the
79
# License, or (at your option) any later version.
@@ -14,6 +16,4 @@
1416
# You should have received a copy of the GNU Affero General Public License
1517
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1618
################################################################################
17-
18-
# SiteCertificate Supplementals
19-
# SCHEMA: name=SiteCertificate.xsd method=schema
19+
Install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/g++ DESTINATION ${OSSDIR}/componentfiles COMPONENT Runtime )

install_directory/ldapServer.install deployment/CMakeLists.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
################################################################################
22
# Copyright (C) 2011 HPCC Systems.
33
#
4-
# This program is free software: you can redistribute it and/or All rights reserved. This program is NOT PRESENTLY free software: you can NOT redistribute
4+
# This program is free software: you can redistribute it and/or All rights
5+
# reserved. This program is NOT PRESENTLY free software: you can NOT
6+
# redistribute
57
# it under the terms of the GNU Affero General Public License as
68
# published by the Free Software Foundation, either version 3 of the
79
# License, or (at your option) any later version.
@@ -14,6 +16,7 @@
1416
# You should have received a copy of the GNU Affero General Public License
1517
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1618
################################################################################
17-
18-
# ldapServer Supplementals
19-
# SCHEMA: name=ldapserver.xsd method=schema
19+
add_subdirectory (configgen)
20+
add_subdirectory (deploy)
21+
add_subdirectory (deployutils)
22+
add_subdirectory (envgen)

0 commit comments

Comments
 (0)