diff --git a/CMakeLists.txt b/CMakeLists.txt index 803d1b7a..18407089 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ project(pip) set(_PIP_MAJOR 1) set(_PIP_MINOR 20) set(_PIP_REVISION 0) -set(_PIP_SUFFIX alpha) +set(_PIP_SUFFIX beta) set(_PIP_COMPANY SHS) set(_PIP_DOMAIN org.SHS) diff --git a/cmake/DeployMacros.cmake b/cmake/DeployMacros.cmake index d223abeb..d7670c1e 100644 --- a/cmake/DeployMacros.cmake +++ b/cmake/DeployMacros.cmake @@ -383,7 +383,14 @@ endmacro() macro(__add_file_or_dir _DIR_VAR _FILE_VAR _PATH _RELPATH) set(_p) + set(_abs 0) if (IS_ABSOLUTE "${_PATH}") + set(_abs 1) + endif() + if ("${_PATH}" MATCHES "^\$<") + set(_abs 1) + endif() + if (_abs) set(_p "${_PATH}") else() set(_p "${_RELPATH}/${_PATH}") diff --git a/src_main/core/piobject.h b/src_main/core/piobject.h index c774c1e1..59b6b6a6 100755 --- a/src_main/core/piobject.h +++ b/src_main/core/piobject.h @@ -237,15 +237,14 @@ if (pid == 0) return; \ uint id = __classNameIDS(); \ PIMutexLocker ml(__meta_mutex()); \ - __meta_data()[pid]; \ __MetaData & eh(__meta_data()[id]); \ if (eh.scope_id.contains(pid)) return; \ - __MetaData & ehp(__meta_data()[pid]); \ + __MetaData ehp(__meta_data().value(pid)); \ eh.eh_set << ehp.eh_set; \ eh.eh_func << ehp.eh_func; \ eh.scope_id = ehp.scope_id; \ eh.scope_list = ehp.scope_list; \ - eh.addScope(PIStringAscii(#name), pid); \ + eh.addScope(__classNameS(), id); \ } \ }; \ __ParentInitializer__ __parent_init__; \ diff --git a/src_main/io_devices/piiodevice.h b/src_main/io_devices/piiodevice.h index d23d1541..74a6e8b7 100755 --- a/src_main/io_devices/piiodevice.h +++ b/src_main/io_devices/piiodevice.h @@ -43,8 +43,8 @@ typedef bool (*ReadRetFunc)(void * , uchar * , int ); #else -# define REGISTER_DEVICE(class) ADD_NEW_TO_COLLECTION_WITH_NAME(__PIIODevices__, class, __S__collection_##class##__) -# define PIIODEVICE(class) PIOBJECT_SUBCLASS(class, PIIODevice) PIIODevice * copy() const {return new class();} +# define REGISTER_DEVICE(name) ADD_NEW_TO_COLLECTION_WITH_NAME(__PIIODevices__, name, __S__collection_##name##__) +# define PIIODEVICE(name) PIOBJECT_SUBCLASS(name, PIIODevice) PIIODevice * copy() const {return new name();} #endif