CMakeLists.txt

changeset 2
a1e435907f3a
parent 1
d38df7b58026
child 3
4b95e33ee476
--- a/CMakeLists.txt	Sun Feb 06 16:52:20 2022 +0100
+++ b/CMakeLists.txt	Mon Feb 07 21:28:26 2022 +0100
@@ -6,7 +6,7 @@
 SET(bmsapp_EXECUTABLE "bmsapp")
 MESSAGE( STATUS "Building bmsapp" )
 
-# Version
+# ===== Set application version =====
 
 SET( bmsapp_VERSION_MAJOR 0 )
 SET( bmsapp_VERSION_MINOR 1 )
@@ -37,20 +37,36 @@
 #   SET(CMAKE_BUILD_TYPE "Debug")
 #ENDIF()
 
-#============================Directories=======================================
+# ===== Directories =====
+
+IF( NOT EXEC_PREFIX )
+   SET( EXEC_PREFIX ${CMAKE_INSTALL_PREFIX} )
+ENDIF()
+
+SET( DATAROOTDIR "${EXEC_PREFIX}/share" )
+SET( BINDIR "${EXEC_PREFIX}/bin" )
+IF( NOT DOCDIR )
+   SET( DOCDIR "${DATAROOTDIR}/doc/${CMAKE_PROJECT_NAME}" )
+ENDIF()
+
+SET( DATAPATH "${DATAROOTDIR}/${CMAKE_PROJECT_NAME}" )
+SET( TARGETPATH ${BINDIR} )
+SET( DOCPATH ${DOCDIR} )
+
 
 SET(ROOTDIR "${CMAKE_CURRENT_SOURCE_DIR}")
 SET(SRCDIR "${ROOTDIR}/src")
 #SET(UIDIR "${ROOTDIR}/ui")
-#SET(DATADIR "${ROOTDIR}/data")
+SET(DATADIR "${ROOTDIR}/data")
 #SET(TRANSLATIONSDIR "${ROOTDIR}/translations")
 
 INCLUDE_DIRECTORIES(${SRCDIR})
 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/src") # In case of out-of-source build.
 
-#==================================Find Qt5====================================
+# ===== Find Qt5 =====
 
-find_package(Qt5 REQUIRED COMPONENTS Core Widgets)
+# Minimum versio 5.13 for debug messages.
+find_package(Qt5 5.13 REQUIRED COMPONENTS Core Widgets)
 
 # Network PrintSupport Sql Xml LinguistTools
 
@@ -63,7 +79,10 @@
    CMakeCache.txt
 )
 
-#==============================Setup the config.h==============================
+# ===== Setup the config.h =====
+
+SET( CONFIGDATADIR "${DATAPATH}/" )
+SET( CONFIGDOCDIR "${DOCPATH}/" )
 
 # Tell cmake where the configure file is and where
 # to put the output. All variables in config.in written as "${VAR}$
@@ -71,10 +90,20 @@
 # Outputs only in the build directory.
 CONFIGURE_FILE( src/config.in src/config.h )
 
-# ===== Process other CMakeList.txt's =====
+# ===== All sources =====
+
+set( SRCS
+    ${SRCDIR}/main.cpp
+    ${SRCDIR}/bmsapp.cpp
+)
+
+set( HDRS
+    ${SRCDIR}/bmsapp.h
+)
 
 set( SOURCE_FILES
-    ${SRCDIR}/main.cpp
+    ${SRCS}
+    ${HDRS}
 )
 
 # ===== Build the application =====

mercurial