@@ -30,36 +30,60 @@ find_package(${NAMESPACE}Core REQUIRED)
3030set (Target ${NAMESPACE}${PROJECT_NAME} )
3131
3232separate_arguments (JSONRPC_PATTERNS)
33- list (TRANSFORM JSONRPC_PATTERNS PREPEND "${CMAKE_SOURCE_DIR} /jsonrpc/" )
34- file (GLOB JSON_FILE ${JSONRPC_PATTERNS} )
33+ set (WORKING_VARIABLE ${JSONRPC_PATTERNS} )
34+ list (TRANSFORM WORKING_VARIABLE PREPEND "${CMAKE_SOURCE_DIR} /jsonrpc/" )
35+ file (GLOB JSON_FILE ${WORKING_VARIABLE} )
36+
37+ separate_arguments (JSONRPC_PATTERNS)
38+ set (WORKING_VARIABLE ${JSONRPC_PATTERNS} )
39+ list (TRANSFORM WORKING_VARIABLE PREPEND "${CMAKE_SOURCE_DIR} /qa_jsonrpc/" )
40+ file (GLOB QA_JSON_FILE ${WORKING_VARIABLE} )
3541
3642separate_arguments (INTERFACES_PATTERNS)
37- list (TRANSFORM INTERFACES_PATTERNS PREPEND "${CMAKE_SOURCE_DIR} /interfaces/" )
38- file (GLOB INTERFACE_FILE ${INTERFACES_PATTERNS} )
43+ set (WORKING_VARIABLE ${INTERFACES_PATTERNS} )
44+ list (TRANSFORM WORKING_VARIABLE PREPEND "${CMAKE_SOURCE_DIR} /interfaces/" )
45+ file (GLOB INTERFACE_FILE ${WORKING_VARIABLE} )
3946
40- set (PUBLIC_HEADERS "definitions.h" "ValuePoint.h" )
47+ separate_arguments (INTERFACES_PATTERNS)
48+ set (WORKING_VARIABLE ${INTERFACES_PATTERNS} )
49+ list (TRANSFORM WORKING_VARIABLE PREPEND "${CMAKE_SOURCE_DIR} /qa_interfaces/" )
50+ file (GLOB QA_INTERFACE_FILE ${WORKING_VARIABLE} )
51+
52+ set (PUBLIC_HEADERS "definitions.h" "ValuePoint.h" "Module.h" )
4153
4254if (NOT GENERATOR_SEARCH_PATH)
43- set (GENERATOR_SEARCH_PATH ${CMAKE_SYSROOT}${CMAKE_INSTALL_PREFIX} /include /${NAMESPACE} )
55+ set (GENERATOR_SEARCH_PATH ${CMAKE_SYSROOT}${CMAKE_INSTALL_PREFIX} /${CMAKE_INSTALL_INCLUDEDIR} /${NAMESPACE} )
4456endif ()
4557
4658JsonGenerator(CODE INPUT ${JSON_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR} /generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} CPPIFDIR "${CMAKE_CURRENT_SOURCE_DIR} /../interfaces/" )
59+ JsonGenerator(CODE INPUT ${QA_JSON_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR} /qa_generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} "${CMAKE_CURRENT_SOURCE_DIR} /../jsonrpc/" CPPIFDIR "${CMAKE_CURRENT_SOURCE_DIR} /../qa_interfaces/" IFDIR "${CMAKE_CURRENT_SOURCE_DIR} /../jsonrpc/" CPP_INTERFACE_PATH "qa_interfaces" JSON_INTERFACE_PATH "qa_interfaces/json" )
4760JsonGenerator(CODE INPUT ${INTERFACE_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR} /generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} )
61+ JsonGenerator(CODE NAMESPACE WPEFramework::QualityAssurance INPUT ${QA_INTERFACE_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR} /qa_generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} CPP_INTERFACE_PATH "qa_interfaces" JSON_INTERFACE_PATH "qa_interfaces/json" )
4862
4963file (GLOB JSON_ENUM_SOURCES "${CMAKE_CURRENT_BINARY_DIR} /generated/JsonEnum*.cpp" )
5064file (GLOB JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR} /generated/J*.h" )
5165
66+ file (GLOB QA_JSON_ENUM_SOURCES "${CMAKE_CURRENT_BINARY_DIR} /qa_generated/JsonEnum*.cpp" )
67+ file (GLOB QA_JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR} /qa_generated/J*.h" )
68+
69+ list (APPEND JSON_LINK_HEADERS "Module.h" )
70+ list (APPEND QA_JSON_LINK_HEADERS "Module.h" )
71+
5272include (CreateLink)
53- CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR} /generated/Module.h" TARGET "../Module.h" )
54- list (APPEND JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR} /generated/Module.h" )
55- CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR} /generated/Ids.h" TARGET "../Ids.h" )
56- list (APPEND JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR} /generated/Ids.h" )
57- CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR} /Module.h" TARGET "../interfaces/Module.h" )
58- list (APPEND PUBLIC_HEADERS "${CMAKE_CURRENT_BINARY_DIR} /Module.h" )
73+ #CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR}/generated/Module.h" TARGET "../Module.h")
74+ #list(APPEND JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/generated/Module.h")
75+ #CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR}/generated/Ids.h" TARGET "../Ids.h")
76+ #list(APPEND JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/generated/Ids.h")
77+ #CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR}/Module.h" TARGET "../interfaces/Module.h")
78+ #list(APPEND PUBLIC_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/Module.h")
79+ #CreateLink(LINK "${CMAKE_CURRENT_BINARY_DIR}/qa_generated/QAIds.h" TARGET "../QAIds.h")
80+ #list(APPEND JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/qa_generated/QAIds.h")
5981
6082add_library (${Target} SHARED
6183 Definitions .cpp
84+ Module.cpp
6285 ${JSON_ENUM_SOURCES}
86+ ${QA_JSON_ENUM_SOURCES}
6387 )
6488
6589target_link_libraries (${Target}
@@ -81,22 +105,27 @@ target_include_directories(${Target}
81105 PRIVATE
82106 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} >
83107 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /..>
84- $<INSTALL_INTERFACE:include /${NAMESPACE} >
108+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} /${NAMESPACE} >
85109 )
86110
87111install (
88112 TARGETS ${Target} EXPORT ${Target} Targets # for downstream dependencies
89- ARCHIVE DESTINATION lib / COMPONENT libs # static lib
90- LIBRARY DESTINATION lib / COMPONENT libs # shared lib
91- RUNTIME DESTINATION bin COMPONENT libs # binaries
92- FRAMEWORK DESTINATION bin / COMPONENT libs # for mac
93- PUBLIC_HEADER DESTINATION include /${NAMESPACE} /definitions COMPONENT devel # headers for mac (note the different component -> different package)
94- INCLUDES DESTINATION include /${NAMESPACE} # default include path
113+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} / COMPONENT libs # static lib
114+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} / COMPONENT libs # shared lib
115+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libs # binaries
116+ FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR} / COMPONENT libs # for mac
117+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /${NAMESPACE} /definitions COMPONENT devel # headers for mac (note the different component -> different package)
118+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /${NAMESPACE} # default include path
95119)
96120
97121install (
98122 FILES ${JSON_LINK_HEADERS}
99- DESTINATION include /${NAMESPACE} /interfaces/json
123+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /${NAMESPACE} /interfaces/json
124+ )
125+
126+ install (
127+ FILES ${QA_JSON_LINK_HEADERS}
128+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /${NAMESPACE} /qa_interfaces/json
100129)
101130
102131InstallPackageConfig(
0 commit comments