/
/
/
1cmake_minimum_required(VERSION 3.8)
2project(q_pen_drawer)
3
4if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
5 add_compile_options(-Wall -Wextra -Wpedantic)
6endif()
7
8set(CMAKE_INCLUDE_CURRENT_DIR ON)
9
10set(CMAKE_AUTOMOC ON)
11
12# set(CMAKE_CXX_STANDARD 11)
13# set(CMAKE_CXX_STANDARD_REQUIRED ON)
14
15find_package(ament_cmake REQUIRED)
16find_package(Qt5Widgets REQUIRED)
17
18set(q_pen_drawer_SRCS
19 src/main.cpp
20 src/mainwindow.cpp
21 src/canvasview.cpp
22 src/bezierline.cpp
23)
24
25set(q_pen_drawer_HDRS
26 include/q_pen_drawer/mainwindow.h
27 include/q_pen_drawer/canvasview.h
28 include/q_pen_drawer/bezierline.h
29)
30
31set(q_pen_drawer_UIS
32 resource/mainwindow.ui
33)
34
35qt5_wrap_cpp(q_pen_drawer_MOCS ${q_pen_drawer_HDRS})
36
37qt5_wrap_ui(q_pen_drawer_UIS_H resource/mainwindow.ui)
38
39add_executable(${PROJECT_NAME}
40 ${q_pen_drawer_SRCS}
41 ${q_pen_drawer_MOCS}
42 ${q_pen_drawer_UIS}
43)
44
45target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
46
47target_include_directories(${PROJECT_NAME} PUBLIC
48 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
49 "$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
50)
51
52install(
53 TARGETS ${PROJECT_NAME}
54 DESTINATION lib/${PROJECT_NAME}
55)
56
57ament_package()
58