aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--skeleton-subsystem/CMakeLists.txt31
-rw-r--r--skeleton-subsystem/SkeletonSubsystemBuilder.cpp11
2 files changed, 41 insertions, 1 deletions
diff --git a/skeleton-subsystem/CMakeLists.txt b/skeleton-subsystem/CMakeLists.txt
new file mode 100644
index 0000000..1ceb531
--- /dev/null
+++ b/skeleton-subsystem/CMakeLists.txt
@@ -0,0 +1,31 @@
+# has been tested on 2.8 only - might work on older versions
+cmake_minimum_required(VERSION 2.8)
+
+project(parameter-framework-plugins-skeleton)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra")
+
+#
+# Find PFW libraries and include directories
+#
+find_path(PFW_CORE_ROOT_DIR NAMES include/parameter/plugin/Subsystem.h)
+
+find_library(PFW_CORE_LIBRARY NAMES parameter
+ HINTS ${PFW_CORE_ROOT_DIR}/lib)
+
+find_path(PFW_CORE_INCLUDE_DIR NAMES Subsystem.h
+ HINTS ${PFW_CORE_ROOT_DIR}/include/parameter/plugin)
+find_path(PFW_XMLSERIALIZER_INCLUDE_DIR NAMES XmlSink.h
+ HINTS ${PFW_CORE_ROOT_DIR}/include/xmlserializer)
+
+set(PFW_INCLUDE_DIRS ${PFW_CORE_INCLUDE_DIR} ${PFW_XMLSERIALIZER_INCLUDE_DIR})
+set(PFW_LIBRARIES ${PFW_CORE_LIBRARY})
+
+add_library(skeleton-subsystem SHARED
+SkeletonSubsystemBuilder.cpp
+SkeletonSubsystem.cpp
+SkeletonSubsystemObject.cpp)
+
+include_directories(${PFW_INCLUDE_DIRS})
+
+install(TARGETS skeleton-subsystem LIBRARY DESTINATION lib)
diff --git a/skeleton-subsystem/SkeletonSubsystemBuilder.cpp b/skeleton-subsystem/SkeletonSubsystemBuilder.cpp
index 4193460..a6aae2d 100644
--- a/skeleton-subsystem/SkeletonSubsystemBuilder.cpp
+++ b/skeleton-subsystem/SkeletonSubsystemBuilder.cpp
@@ -34,7 +34,16 @@
extern "C"
{
-void getSkeletonSusbystemBuilder(CSubsystemLibrary* pSubsystemLibrary)
+/**
+ * CARE: the naming convention used in the parameter framework:
+ *
+ * A plugin file name is of the form:
+ * lib<type>-subsystem.so or lib<type>-subsystem._host.so
+ *
+ * The plugin symbol is of the form:
+ * get<TYPE>SubsystemBuilder
+*/
+void getSKELETONSubsystemBuilder(CSubsystemLibrary* pSubsystemLibrary)
{
pSubsystemLibrary->addElementBuilder("Skeleton", new TNamedElementBuilderTemplate<CSkeletonSubsystem>());
}