Skip to content
Snippets Groups Projects
Commit 7eb86017 authored by Marco Clemencic's avatar Marco Clemencic
Browse files

Merge branch 'GAUDI-1055' into 'master'

GAUDI-1055: Allow use of Python configurables and components at build time.

this merge request also includes a minor fix to gaudirun.py

See merge request !12
parents f6ed9be3 b61a4929
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,9 @@ Package : Gaudi ...@@ -2,6 +2,9 @@ Package : Gaudi
Package manager : Marco Clemencic Package manager : Marco Clemencic
Commit Id: $Format:%H$ Commit Id: $Format:%H$
! 2015-07-20 - Marco Clemencic
- Fixed misuse of Python ctypes, which was the actual cause of GAUDI-1045.
! 2015-07-20 - Charles Leggett ! 2015-07-20 - Charles Leggett
- added hooks to attach gdb to program. activated with command line option - added hooks to attach gdb to program. activated with command line option
"--gdb" "--gdb"
......
...@@ -77,9 +77,9 @@ class BootstrapHelper(object): ...@@ -77,9 +77,9 @@ class BootstrapHelper(object):
('ROOT_VERSION_CODE', c_int, []), ('ROOT_VERSION_CODE', c_int, []),
] ]
for name, restype, args in functions: for name, restype, argtypes in functions:
f = getattr(gkl, 'py_bootstrap_%s' % name) f = getattr(gkl, 'py_bootstrap_%s' % name)
f.restype, f.args = restype, args f.restype, f.argtypes = restype, argtypes
# create a delegate method if not already present # create a delegate method if not already present
# (we do not want to use hasattr because it calls "properties") # (we do not want to use hasattr because it calls "properties")
if name not in self.__class__.__dict__: if name not in self.__class__.__dict__:
...@@ -88,12 +88,12 @@ class BootstrapHelper(object): ...@@ -88,12 +88,12 @@ class BootstrapHelper(object):
for name in ('configure', 'initialize', 'start', for name in ('configure', 'initialize', 'start',
'stop', 'finalize', 'terminate'): 'stop', 'finalize', 'terminate'):
f = getattr(gkl, 'py_bootstrap_fsm_%s' % name) f = getattr(gkl, 'py_bootstrap_fsm_%s' % name)
f.restype, f.args = c_bool, [IInterface_p] f.restype, f.argtypes = c_bool, [IInterface_p]
gkl.py_bootstrap_app_run.restype = c_bool gkl.py_bootstrap_app_run.restype = c_bool
gkl.py_bootstrap_app_run.args = [IInterface_p, c_int] gkl.py_bootstrap_app_run.argtypes = [IInterface_p, c_int]
gkl.py_helper_printAlgsSequences.restype = None gkl.py_helper_printAlgsSequences.restype = None
gkl.py_helper_printAlgsSequences.args = [IInterface_p] gkl.py_helper_printAlgsSequences.argtypes = [IInterface_p]
def createApplicationMgr(self): def createApplicationMgr(self):
ptr = self.lib.py_bootstrap_createApplicationMgr() ptr = self.lib.py_bootstrap_createApplicationMgr()
......
...@@ -1653,6 +1653,8 @@ function(gaudi_generate_configurables library) ...@@ -1653,6 +1653,8 @@ function(gaudi_generate_configurables library)
add_custom_target(${package}ConfAll ALL) add_custom_target(${package}ConfAll ALL)
endif() endif()
add_dependencies(${package}ConfAll ${library}Conf) add_dependencies(${package}ConfAll ${library}Conf)
# ensure that the componentslist file is found at build time (GAUDI-1055)
gaudi_build_env(PREPEND LD_LIBRARY_PATH ${outdir})
# Add dependencies on GaudiSvc and the genconf executable if they have to be built in the current project # Add dependencies on GaudiSvc and the genconf executable if they have to be built in the current project
# Notify the project level target # Notify the project level target
gaudi_merge_files_append(ConfDB ${library}Conf ${outdir}/${library}.confdb) gaudi_merge_files_append(ConfDB ${library}Conf ${outdir}/${library}.confdb)
...@@ -2590,6 +2592,8 @@ function(gaudi_generate_componentslist library) ...@@ -2590,6 +2592,8 @@ function(gaudi_generate_componentslist library)
${listcomponents_cmd} --output ${componentsfile} ${libname} ${listcomponents_cmd} --output ${componentsfile} ${libname}
DEPENDS ${library} listcomponents) DEPENDS ${library} listcomponents)
add_custom_target(${library}ComponentsList ALL DEPENDS ${componentsfile}) add_custom_target(${library}ComponentsList ALL DEPENDS ${componentsfile})
# ensure that the componentslist file is found at build time (GAUDI-1055)
gaudi_build_env(PREPEND LD_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR})
# Notify the project level target # Notify the project level target
gaudi_merge_files_append(ComponentsList ${library}ComponentsList gaudi_merge_files_append(ComponentsList ${library}ComponentsList
${CMAKE_CURRENT_BINARY_DIR}/${componentsfile}) ${CMAKE_CURRENT_BINARY_DIR}/${componentsfile})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment