4 PROJECT(bmsapp) |
4 PROJECT(bmsapp) |
5 CMAKE_MINIMUM_REQUIRED( VERSION 3.6 ) |
5 CMAKE_MINIMUM_REQUIRED( VERSION 3.6 ) |
6 SET(bmsapp_EXECUTABLE "bmsapp") |
6 SET(bmsapp_EXECUTABLE "bmsapp") |
7 MESSAGE( STATUS "Building bmsapp" ) |
7 MESSAGE( STATUS "Building bmsapp" ) |
8 |
8 |
9 # Version |
9 # ===== Set application version ===== |
10 |
10 |
11 SET( bmsapp_VERSION_MAJOR 0 ) |
11 SET( bmsapp_VERSION_MAJOR 0 ) |
12 SET( bmsapp_VERSION_MINOR 1 ) |
12 SET( bmsapp_VERSION_MINOR 1 ) |
13 SET( bmsapp_VERSION_PATCH 0 ) |
13 SET( bmsapp_VERSION_PATCH 0 ) |
14 |
14 |
35 # SET(CMAKE_BUILD_TYPE "Release") |
35 # SET(CMAKE_BUILD_TYPE "Release") |
36 #ELSE() |
36 #ELSE() |
37 # SET(CMAKE_BUILD_TYPE "Debug") |
37 # SET(CMAKE_BUILD_TYPE "Debug") |
38 #ENDIF() |
38 #ENDIF() |
39 |
39 |
40 #============================Directories======================================= |
40 # ===== Directories ===== |
|
41 |
|
42 IF( NOT EXEC_PREFIX ) |
|
43 SET( EXEC_PREFIX ${CMAKE_INSTALL_PREFIX} ) |
|
44 ENDIF() |
|
45 |
|
46 SET( DATAROOTDIR "${EXEC_PREFIX}/share" ) |
|
47 SET( BINDIR "${EXEC_PREFIX}/bin" ) |
|
48 IF( NOT DOCDIR ) |
|
49 SET( DOCDIR "${DATAROOTDIR}/doc/${CMAKE_PROJECT_NAME}" ) |
|
50 ENDIF() |
|
51 |
|
52 SET( DATAPATH "${DATAROOTDIR}/${CMAKE_PROJECT_NAME}" ) |
|
53 SET( TARGETPATH ${BINDIR} ) |
|
54 SET( DOCPATH ${DOCDIR} ) |
|
55 |
41 |
56 |
42 SET(ROOTDIR "${CMAKE_CURRENT_SOURCE_DIR}") |
57 SET(ROOTDIR "${CMAKE_CURRENT_SOURCE_DIR}") |
43 SET(SRCDIR "${ROOTDIR}/src") |
58 SET(SRCDIR "${ROOTDIR}/src") |
44 #SET(UIDIR "${ROOTDIR}/ui") |
59 #SET(UIDIR "${ROOTDIR}/ui") |
45 #SET(DATADIR "${ROOTDIR}/data") |
60 SET(DATADIR "${ROOTDIR}/data") |
46 #SET(TRANSLATIONSDIR "${ROOTDIR}/translations") |
61 #SET(TRANSLATIONSDIR "${ROOTDIR}/translations") |
47 |
62 |
48 INCLUDE_DIRECTORIES(${SRCDIR}) |
63 INCLUDE_DIRECTORIES(${SRCDIR}) |
49 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/src") # In case of out-of-source build. |
64 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/src") # In case of out-of-source build. |
50 |
65 |
51 #==================================Find Qt5==================================== |
66 # ===== Find Qt5 ===== |
52 |
67 |
53 find_package(Qt5 REQUIRED COMPONENTS Core Widgets) |
68 # Minimum versio 5.13 for debug messages. |
|
69 find_package(Qt5 5.13 REQUIRED COMPONENTS Core Widgets) |
54 |
70 |
55 # Network PrintSupport Sql Xml LinguistTools |
71 # Network PrintSupport Sql Xml LinguistTools |
56 |
72 |
57 # Some extra files for the "make clean" target. |
73 # Some extra files for the "make clean" target. |
58 SET_PROPERTY( |
74 SET_PROPERTY( |
61 cmake_install.cmake |
77 cmake_install.cmake |
62 compile_commands.json |
78 compile_commands.json |
63 CMakeCache.txt |
79 CMakeCache.txt |
64 ) |
80 ) |
65 |
81 |
66 #==============================Setup the config.h============================== |
82 # ===== Setup the config.h ===== |
|
83 |
|
84 SET( CONFIGDATADIR "${DATAPATH}/" ) |
|
85 SET( CONFIGDOCDIR "${DOCPATH}/" ) |
67 |
86 |
68 # Tell cmake where the configure file is and where |
87 # Tell cmake where the configure file is and where |
69 # to put the output. All variables in config.in written as "${VAR}$ |
88 # to put the output. All variables in config.in written as "${VAR}$ |
70 # will be replaced by VAR as determined by cmake in config.h. |
89 # will be replaced by VAR as determined by cmake in config.h. |
71 # Outputs only in the build directory. |
90 # Outputs only in the build directory. |
72 CONFIGURE_FILE( src/config.in src/config.h ) |
91 CONFIGURE_FILE( src/config.in src/config.h ) |
73 |
92 |
74 # ===== Process other CMakeList.txt's ===== |
93 # ===== All sources ===== |
|
94 |
|
95 set( SRCS |
|
96 ${SRCDIR}/main.cpp |
|
97 ${SRCDIR}/bmsapp.cpp |
|
98 ) |
|
99 |
|
100 set( HDRS |
|
101 ${SRCDIR}/bmsapp.h |
|
102 ) |
75 |
103 |
76 set( SOURCE_FILES |
104 set( SOURCE_FILES |
77 ${SRCDIR}/main.cpp |
105 ${SRCS} |
|
106 ${HDRS} |
78 ) |
107 ) |
79 |
108 |
80 # ===== Build the application ===== |
109 # ===== Build the application ===== |
81 |
110 |
82 add_executable(${bmsapp_EXECUTABLE} ${SOURCE_FILES}) |
111 add_executable(${bmsapp_EXECUTABLE} ${SOURCE_FILES}) |