summaryrefslogtreecommitdiff
path: root/src/components/policy/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/policy/CMakeLists.txt')
-rw-r--r--src/components/policy/CMakeLists.txt94
1 files changed, 51 insertions, 43 deletions
diff --git a/src/components/policy/CMakeLists.txt b/src/components/policy/CMakeLists.txt
index 3a2b0829dc..ce6d7c227c 100644
--- a/src/components/policy/CMakeLists.txt
+++ b/src/components/policy/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2013, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,12 +28,8 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-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(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${COMPONENTS_DIR}/policy/include
@@ -44,37 +40,43 @@ include_directories (
${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
+set(POLICY_TABLE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/policy/policy_table
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/policy_table
)
+collect_sources(POLICY_TABLE_SOURCES "${POLICY_TABLE_PATHS}")
+add_library(policy_struct ${POLICY_TABLE_SOURCES})
+target_link_libraries(policy_struct Utils)
-# --- 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
+set(USAGE_STATISTICS_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/policy/usage_statistics
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/usage_statistics
)
+collect_sources(USAGE_STATISTICS_SOURCES "${USAGE_STATISTICS_PATHS}")
+add_library(UsageStatistics ${USAGE_STATISTICS_SOURCES})
-add_library(${policy_struct_target} ${POLICY_TABLE_SOURCES})
-target_link_libraries(${policy_struct_target} Utils)
-# --- end of Table struct section
+set(EXCLUDE_PATHS
+ ${POLICY_TABLE_PATHS}
+ ${USAGE_STATISTICS_PATHS}
+ sql_pt_ext_queries.cc
+ sql_pt_ext_representation.cc
+)
-# --- Usage statistics section
-set(USAGE_STATISTICS_SOURCES
- ${COMPONENTS_DIR}/policy/src/usage_statistics/counter.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/
+ ${COMPONENTS_DIR}/rpc_base/src/rpc_base/rpc_base.cc
+)
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+
+set(LIBRARIES
+ ConfigProfile
+ policy_struct
+ dbms
+ jsoncpp
+ Utils
)
-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)
@@ -84,22 +86,28 @@ else ()
list(APPEND LIBRARIES sqlite3)
endif ()
-add_library(${target} SHARED ${SOURCES})
-target_link_libraries(${target} ${LIBRARIES} )
+add_library(Policy SHARED ${SOURCES})
+target_link_libraries(Policy ${LIBRARIES})
if(ENABLE_LOG)
- target_link_libraries(${target} log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
+ target_link_libraries(Policy 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}")
+set(LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}Policy${CMAKE_SHARED_LIBRARY_SUFFIX})
+set(TARGET_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME})
+set(INSTALL_DESTINATION bin)
+set(COPY_DESTINATION ${CMAKE_BINARY_DIR}/src/appMain)
-install(TARGETS ${target}
- DESTINATION ${install_destination}
+add_custom_target(copy_policy_library ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${TARGET_LOCATION}
+ ${COPY_DESTINATION}/${LIBRARY_NAME}
+ DEPENDS Policy
+ COMMENT "Copying library ${LIBRARY_NAME}"
+)
+
+install(TARGETS Policy
+ DESTINATION ${INSTALL_DESTINATION}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
@@ -107,4 +115,4 @@ install(TARGETS ${target}
if(BUILD_TESTS)
add_subdirectory(test)
-endif() # BUILD_TESTS
+endif()