1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 OPTION(ENABLE_OM_TESTS "Build optionmapping tests" OFF)
4 SET(PACKAGE_NAME print-service)
7 SET(BINDIR "${PREFIX}/bin")
8 SET(LIBDIR ${LIB_INSTALL_DIR})
9 SET(SRCS ppd_compare.c)
14 SET(GETPPD_SRCS getppd.c)
16 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
17 INCLUDE(FindPkgConfig)
20 # Sources for OptionMapping tests's binaries
24 # OptionMapping test automation
25 # Sources for OptionMapping library
27 ../src/pt_optionmapping.c
28 ../src/pt_optionkeywords.c
33 SET(VERSION "${VERSION_MAJOR}.0.1")
34 SET(OPMAP_LIB_NAME opmap)
36 SET(OPMAP_TEST_NAME test-opmap)
37 SET(OPMAP_TEST_SCRIPT print-test-opmap.sh)
39 SET(HP_PRDLIST hp_product.list)
40 SET(EPSON_LIST epson.list)
41 SET(SAMSUNG_LIST samsung.list)
42 SET(PRINTLIST_DIR ${ETC}/cups/ppd/)
44 ADD_LIBRARY(${OPMAP_LIB_NAME} SHARED ${SRCS_OM_LIB})
45 SET_TARGET_PROPERTIES(${OPMAP_LIB_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
46 SET_TARGET_PROPERTIES(${OPMAP_LIB_NAME} PROPERTIES VERSION ${VERSION})
48 pkg_check_modules(test_pkgs REQUIRED ecore eina dlog libtzplatform-config)
50 FOREACH(flag ${test_pkgs_LDFLAGS})
51 SET(OPMAP_TEST_LDFLAGS "${flag} ${OPMAP_TEST_LDFLAGS}")
54 SET(OPMAP_TEST_LDFLAGS "${OPMAP_TEST_LDFLAGS} -lcups")
56 ADD_EXECUTABLE(${OPMAP_TEST_NAME} ${SRCS_OM_TEST})
57 TARGET_LINK_LIBRARIES(${OPMAP_TEST_NAME} ${OPMAP_LIB_NAME})
58 TARGET_LINK_LIBRARIES(${OPMAP_TEST_NAME} ${OPMAP_TEST_LDFLAGS})
59 TARGET_LINK_LIBRARIES(${OPMAP_TEST_NAME} ${DB_LIB_NAME})
61 ADD_CUSTOM_COMMAND(TARGET ${OPMAP_TEST_NAME} POST_BUILD
62 COMMAND ./create-printlist.sh "hp" ${CMAKE_SOURCE_DIR} ${HP_LIST}
63 COMMAND ./create-printlist.sh "hp_product" ${CMAKE_SOURCE_DIR} ${HP_PRDLIST}
64 COMMAND ./create-printlist.sh "epson" ${CMAKE_SOURCE_DIR} ${EPSON_LIST}
65 COMMAND ./create-printlist.sh "samsung" ${CMAKE_SOURCE_DIR} ${SAMSUNG_LIST}
66 COMMENT "Generate list of printers")
68 INSTALL(TARGETS ${OPMAP_TEST_NAME} DESTINATION ${BINDIR})
69 INSTALL(TARGETS ${OPMAP_LIB_NAME} LIBRARY DESTINATION ${LIBDIR})
70 INSTALL(FILES ${HP_LIST} DESTINATION ${PRINTLIST_DIR})
71 INSTALL(FILES ${HP_PRDLIST} DESTINATION ${PRINTLIST_DIR})
72 INSTALL(FILES ${SAMSUNG_LIST} DESTINATION ${PRINTLIST_DIR})
73 INSTALL(FILES ${EPSON_LIST} DESTINATION ${PRINTLIST_DIR})
74 INSTALL(FILES ${OPMAP_TEST_SCRIPT} DESTINATION ${BINDIR})
75 ENDIF(ENABLE_OM_TESTS)
77 # Compile and install getppd wrapper
78 pkg_check_modules(GETPPD_PKGS REQUIRED glib-2.0 dlog)
79 FOREACH(flag ${GETPPD_PKGS_LDFLAGS})
80 SET(GETPPD_TEST_LDFLAGS "${flag} ${GETPPD_TEST_LDFLAGS}")
82 # This is workaround for CMP0004 of CMAKE
83 SET(GETPPD_TEST_LDFLAGS "${GETPPD_TEST_LDFLAGS} -ldlog")
85 ADD_EXECUTABLE(${GETPPD} ${GETPPD_SRCS})
86 TARGET_LINK_LIBRARIES(${GETPPD} ${DB_LIB_NAME})
87 TARGET_LINK_LIBRARIES(${GETPPD} ${GETPPD_TEST_LDFLAGS})
88 INSTALL(TARGETS ${GETPPD} DESTINATION ${BINDIR})
91 # Compile and install getppdvalue
92 SET(getppdvalue_LDFLAGS "-Wl,-lcups")
94 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
95 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${getppdvalue_LDFLAGS})
97 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
98 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ppd_test.sh DESTINATION ${BINDIR})