Make CMake file version according its usage.
[apps/low-level-can-service.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.3)\r
2 project(can-config-generator)\r
3 \r
4 if (CMAKE_VERSION VERSION_LESS "3.1")\r
5         if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")\r
6                 set (CMAKE_CXX_FLAGS "--std=gnu++11 ${CMAKE_CXX_FLAGS}")\r
7         elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")\r
8                 set (CMAKE_CXX_FLAGS "--std=c++11 ${CMAKE_CXX_FLAGS}")\r
9         endif ()\r
10 else ()\r
11         set (CMAKE_CXX_STANDARD 11)\r
12 endif ()\r
13 \r
14 include_directories(SYSTEM 3rdparty/json)\r
15 \r
16 find_package(Boost REQUIRED COMPONENTS program_options filesystem system)\r
17 if(Boost_FOUND)\r
18         add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})\r
19         include_directories(SYSTEM ${Boost_INCLUDE_DIRS})\r
20 \r
21         add_executable(can-config-generator\r
22                 src/main.cpp\r
23                 src/openxc/message_set.cpp\r
24                 src/openxc/can_bus.cpp\r
25                 src/openxc/can_message.cpp\r
26                 src/openxc/command.cpp\r
27                 src/openxc/diagnostic_message.cpp\r
28                 src/openxc/mapping.cpp\r
29                 src/openxc/signal.cpp)\r
30 \r
31         target_link_libraries(can-config-generator ${Boost_LIBRARIES})\r
32         target_compile_features(can-config-generator PRIVATE cxx_range_for cxx_constexpr cxx_nullptr)\r
33 endif()\r