diff options
Diffstat (limited to 'src/components/policy/CMakeLists.txt')
-rw-r--r-- | src/components/policy/CMakeLists.txt | 84 |
1 files changed, 78 insertions, 6 deletions
diff --git a/src/components/policy/CMakeLists.txt b/src/components/policy/CMakeLists.txt index f32ef344d2..3a2b0829dc 100644 --- a/src/components/policy/CMakeLists.txt +++ b/src/components/policy/CMakeLists.txt @@ -28,11 +28,83 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -# --- Policy -add_subdirectory(./src/policy) -#======================= Unit-Test section ======================= -if(BUILD_TESTS) - add_subdirectory(test) +set(target Policy) +set(install_destination bin) +set(copy_destination ${CMAKE_BINARY_DIR}/src/appMain) +set(library_name ${CMAKE_SHARED_LIBRARY_PREFIX}${target}${CMAKE_SHARED_LIBRARY_SUFFIX}) + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") + +include_directories ( + ${COMPONENTS_DIR}/policy/include + ${COMPONENTS_DIR}/rpc_base/include + ${JSONCPP_INCLUDE_DIRECTORY} + ${COMPONENTS_DIR}/utils/include/ + ${COMPONENTS_DIR}/config_profile/include + ${LOG4CXX_INCLUDE_DIRECTORY} +) + +set(SOURCES + ${COMPONENTS_DIR}/policy/src/policy_manager_impl.cc + ${COMPONENTS_DIR}/policy/src/policy_helper.cc + ${COMPONENTS_DIR}/policy/src/policy_table.cc + ${COMPONENTS_DIR}/policy/src/sql_pt_queries.cc + ${COMPONENTS_DIR}/policy/src/sql_pt_representation.cc + ${COMPONENTS_DIR}/policy/src/update_status_manager.cc + ${COMPONENTS_DIR}/policy/src/cache_manager.cc + ${COMPONENTS_DIR}/rpc_base/src/rpc_base/rpc_base.cc +) + +# --- Table struct section +set(policy_struct_target policy_struct) +set(POLICY_TABLE_SOURCES + ${COMPONENTS_DIR}/policy/src/policy_table/enums.cc + ${COMPONENTS_DIR}/policy/src/policy_table/types.cc + ${COMPONENTS_DIR}/policy/src/policy_table/validation.cc +) + +add_library(${policy_struct_target} ${POLICY_TABLE_SOURCES}) +target_link_libraries(${policy_struct_target} Utils) +# --- end of Table struct section + +# --- Usage statistics section +set(USAGE_STATISTICS_SOURCES + ${COMPONENTS_DIR}/policy/src/usage_statistics/counter.cc +) +add_library(UsageStatistics ${USAGE_STATISTICS_SOURCES}) +# --- end of Usage statistics section + +set(LIBRARIES ConfigProfile policy_struct dbms jsoncpp Utils) +if (CMAKE_SYSTEM_NAME STREQUAL "QNX") + # --- QDB Wrapper + include_directories (${COMPONENTS_DIR}/utils/include/utils) +else () + # --- SQLite Wrapper + include_directories (${COMPONENTS_DIR}/utils/include/utils) + list(APPEND LIBRARIES sqlite3) +endif () + +add_library(${target} SHARED ${SOURCES}) +target_link_libraries(${target} ${LIBRARIES} ) + +if(ENABLE_LOG) + target_link_libraries(${target} log4cxx -L${LOG4CXX_LIBS_DIRECTORY}) endif() -#================================================================= +add_custom_target(copy_library_${target} ALL + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_BINARY_DIR}/${library_name} + ${copy_destination} + DEPENDS ${target} + COMMENT "Copying library ${library_name}") + +install(TARGETS ${target} + DESTINATION ${install_destination} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE +) + +if(BUILD_TESTS) + add_subdirectory(test) +endif() # BUILD_TESTS |