CMakeLists.txt

changeset 3
4b95e33ee476
parent 2
a1e435907f3a
child 4
fe106c497b75
equal deleted inserted replaced
2:a1e435907f3a 3:4b95e33ee476
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

mercurial