Adapt CMakeFile including can-config-generator tool.
[apps/low-level-can-service.git] / can-config-generator / CMakeLists.txt
1 ###########################################################################
2 # Copyright 2015, 2016, 2017 IoT.bzh
3 #
4 # author: Fulup Ar Foll <fulup@iot.bzh>
5 # contrib: Romain Forlot <romain.forlot@iot.bzh>
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 ###########################################################################
19
20 # Add target to project dependency list
21 PROJECT_TARGET_ADD(can-config-generator)
22
23         # Define project Targets
24         fill_include_dir(${PROJECT_LIBDIR})
25         file(GLOB filelist "${PROJECT_LIBDIR}/*")
26         foreach(filename ${filelist})
27                 if(IS_DIRECTORY ${filename})
28                         include_directories(${filename})
29                         STRING(REGEX REPLACE "^.*\/(.*)$" "\\1" shortname ${filename})
30                         find_source_files(${PROJECT_LIBDIR})
31                         add_library(${shortname} STATIC ${sources_files})
32                 endif(IS_DIRECTORY ${filename})
33         endforeach()
34
35         add_executable(can-config-generator
36                 src/main.cpp
37                 src/openxc/message_set.cpp
38                 src/openxc/can_bus.cpp
39                 src/openxc/can_message.cpp
40                 src/openxc/command.cpp
41                 src/openxc/diagnostic_message.cpp
42                 src/openxc/mapping.cpp
43                 src/openxc/signal.cpp)
44
45         # Library dependencies (include updates automatically)
46         TARGET_LINK_LIBRARIES(can-config-generator
47                 ${EXTRA_LINK_LIBRARIES}
48                 ${link_libraries}
49         )
50
51         # installation directory
52         INSTALL(TARGETS can-config-generator
53                 RUNTIME DESTINATION ${BINDINGS_INSTALL_DIR})