CMakeLists.txt

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

mercurial