Fix wrong target name variable.
[apps/agl-service-can-low-level.git] / low-can-binding / CMakeLists.txt
1 ###########################################################################
2 # Copyright 2015, 2016, 2017 IoT.bzh
3 #
4 # author: Fulup Ar Foll <fulup@iot.bzh>
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #     http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 ###########################################################################
18
19 # Add target to project dependency list
20 PROJECT_TARGET_ADD(low-can-binding)
21
22         # Define project Targets
23         fill_include_dir(${PROJECT_LIBDIR})
24         file(GLOB filelist "${PROJECT_LIBDIR}/*")
25         foreach(filename ${filelist})
26                 if(IS_DIRECTORY ${filename})
27                         include_directories(${filename})
28                         STRING(REGEX REPLACE "^.*\/(.*)$" "\\1" shortname ${filename})
29                         find_source_files(${PROJECT_LIBDIR})
30                         add_library(${shortname} STATIC ${sources_files})
31                 endif(IS_DIRECTORY ${filename})
32         endforeach()
33
34         add_library(${TARGET_NAME} MODULE ${TARGET_NAME}.cpp configuration.cpp configuration-generated.cpp
35                 can/can-bus.cpp can/can-bus-dev.cpp can/can-message-set.cpp can/can-message-definition.cpp can/can-message.cpp can/can-signals.cpp can/can-decoder.cpp
36                 diagnostic/diagnostic-message.cpp diagnostic/diagnostic-manager.cpp diagnostic/active-diagnostic-request.cpp
37                 utils/signals.cpp utils/openxc-utils.cpp utils/timer.cpp utils/socket.cpp)
38
39         # Binder exposes a unique public entry point
40         SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
41         PREFIX ""
42         LINK_FLAGS ${BINDINGS_LINK_FLAG}
43                 OUTPUT_NAME ${TARGET_NAME}
44         )
45
46         # Library dependencies (include updates automatically)
47         TARGET_LINK_LIBRARIES(${TARGET_NAME}
48                 ${EXTRA_LINK_LIBRARIES}
49                 ${link_libraries}
50         )
51
52         # installation directory
53         INSTALL(TARGETS ${TARGET_NAME}
54                 LIBRARY DESTINATION ${BINDINGS_INSTALL_DIR})
55
56         # WGT packaging
57         message(STATUS "Creation of ${TARGET_NAME}.wgt package for AppFW")
58
59         configure_file(${PROJECT_WGT_DIR}/config.xml config.xml)
60
61         if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_WGT_DIR}/etc")
62                 file(GLOB conf_files "${PROJECT_WGT_DIR}/etc/*")
63                 foreach(filename ${conf_files})
64                         STRING(REGEX REPLACE "^.*\/(.*)$" "\\1" shortname ${filename})
65                         message(STATUS "Copying config file ${shortname}")
66                         configure_file(${filename} ${shortname})
67                 endforeach()
68         endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_WGT_DIR}/etc")
69
70         add_custom_command(
71                 OUTPUT ${TARGET_NAME}.wgt
72                 DEPENDS ${TARGET_NAME} ${EXTRA_LINK_LIBRARIES} ${conf_files} ${PROJECT_WGT_DIR}/config.xml
73                 COMMAND rm -rf package
74                 COMMAND mkdir -p package/lib package/htdocs package/etc
75                 COMMAND cp config.xml package/
76                 COMMAND cp ${conf_files} package/etc
77                 COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/packaging/wgt/${PROJECT_ICON} package/icon.png
78                 COMMAND cp ${TARGET_NAME}.so package/lib
79                 COMMAND wgtpkg-pack -f -o ${TARGET_NAME}.wgt package
80         )
81         add_custom_target(widget ALL DEPENDS ${TARGET_NAME}.wgt)