14 |
14 |
15 # Compile flags |
15 # Compile flags |
16 |
16 |
17 # Automatically run moc on source files when necessary |
17 # Automatically run moc on source files when necessary |
18 set(CMAKE_AUTOMOC ON) |
18 set(CMAKE_AUTOMOC ON) |
|
19 set(CMAKE_AUTOUIC ON) |
|
20 set(CMAKE_AUTORCC ON) |
19 |
21 |
20 SET( CMAKE_CXX_FLAGS_RELEASE "-Wall -ansi -pedantic -Wno-long-long -O2 -pipe" ) |
22 SET( CMAKE_CXX_FLAGS_RELEASE "-Wall -ansi -pedantic -Wno-long-long -O2 -pipe" ) |
21 SET( CMAKE_CXX_FLAGS_DEBUG "-Wall -g3 -pipe" ) |
23 SET( CMAKE_CXX_FLAGS_DEBUG "-Wall -g3 -pipe" ) |
22 |
24 |
23 #====================================================Set build type===================================================== |
25 #====================================================Set build type===================================================== |
54 SET( DOCPATH ${DOCDIR} ) |
56 SET( DOCPATH ${DOCDIR} ) |
55 |
57 |
56 |
58 |
57 SET(ROOTDIR "${CMAKE_CURRENT_SOURCE_DIR}") |
59 SET(ROOTDIR "${CMAKE_CURRENT_SOURCE_DIR}") |
58 SET(SRCDIR "${ROOTDIR}/src") |
60 SET(SRCDIR "${ROOTDIR}/src") |
59 #SET(UIDIR "${ROOTDIR}/ui") |
61 SET(UIDIR "${ROOTDIR}/ui") |
60 SET(DATADIR "${ROOTDIR}/data") |
62 SET(DATADIR "${ROOTDIR}/data") |
61 #SET(TRANSLATIONSDIR "${ROOTDIR}/translations") |
63 #SET(TRANSLATIONSDIR "${ROOTDIR}/translations") |
62 |
64 |
63 INCLUDE_DIRECTORIES(${SRCDIR}) |
65 INCLUDE_DIRECTORIES(${SRCDIR}) |
64 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/src") # In case of out-of-source build. |
66 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/src") # In case of out-of-source build. |
65 |
67 |
66 # ===== Find Qt5 ===== |
68 # ===== Find Qt5 ===== |
67 |
69 |
68 # Minimum versio 5.13 for debug messages. |
70 # Minimum versio 5.13 for debug messages. |
69 find_package(Qt5 5.13 REQUIRED COMPONENTS Core Widgets) |
71 find_package(Qt5 5.13 REQUIRED COMPONENTS Core Widgets Network Sql) |
70 |
72 |
71 # Network PrintSupport Sql Xml LinguistTools |
73 # PrintSupport Xml LinguistTools |
72 |
74 |
73 # Some extra files for the "make clean" target. |
75 # Some extra files for the "make clean" target. |
74 SET_PROPERTY( |
76 SET_PROPERTY( |
75 DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
77 DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
76 PROPERTY ADDITIONAL_MAKE_CLEAN_FILES |
78 PROPERTY ADDITIONAL_MAKE_CLEAN_FILES |
93 # ===== All sources ===== |
95 # ===== All sources ===== |
94 |
96 |
95 set( SRCS |
97 set( SRCS |
96 ${SRCDIR}/main.cpp |
98 ${SRCDIR}/main.cpp |
97 ${SRCDIR}/bmsapp.cpp |
99 ${SRCDIR}/bmsapp.cpp |
|
100 ${SRCDIR}/MainWindow.cpp |
|
101 ${SRCDIR}/database/database.cpp |
98 ) |
102 ) |
99 |
103 |
100 set( HDRS |
104 set( HDRS |
101 ${SRCDIR}/bmsapp.h |
105 ${SRCDIR}/bmsapp.h |
|
106 ${SRCDIR}/MainWindow.h |
|
107 ${SRCDIR}/database/database.h |
|
108 ) |
|
109 |
|
110 set( UIS |
|
111 ${UIDIR}/MainWindow.ui |
102 ) |
112 ) |
103 |
113 |
104 set( SOURCE_FILES |
114 set( SOURCE_FILES |
105 ${SRCS} |
115 ${SRCS} |
106 ${HDRS} |
116 ${HDRS} |
|
117 ${UIS} |
|
118 resources/icons.qrc |
107 ) |
119 ) |
108 |
120 |
109 # ===== Build the application ===== |
121 # ===== Build the application ===== |
110 |
122 |
111 add_executable(${bmsapp_EXECUTABLE} ${SOURCE_FILES}) |
123 add_executable(${bmsapp_EXECUTABLE} ${SOURCE_FILES}) |
112 target_link_libraries(${bmsapp_EXECUTABLE} Qt5::Core Qt5::Widgets) |
124 target_link_libraries(${bmsapp_EXECUTABLE} Qt5::Core Qt5::Widgets Qt5::Network Qt5::Sql) |
113 |
125 |