Skip to content

Commit 1d7d1da

Browse files
committed
Convert project to CMake
1 parent cf3e0ef commit 1d7d1da

4 files changed

Lines changed: 432 additions & 41 deletions

File tree

CMakeLists.txt

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
3+
project(ModbusTestSlave
4+
LANGUAGES CXX
5+
DESCRIPTION "Test module to test Modbus communication"
6+
VERSION 0.0.0
7+
)
8+
9+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
10+
11+
set(CMAKE_CXX_STANDARD 11)
12+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
13+
14+
set(CMAKE_AUTOUIC ON)
15+
set(CMAKE_AUTOMOC ON)
16+
set(CMAKE_AUTORCC ON)
17+
18+
find_package(Qt5 COMPONENTS
19+
Core
20+
Gui
21+
Widgets
22+
Xml
23+
PrintSupport
24+
Network
25+
SerialBus
26+
27+
REQUIRED
28+
)
29+
30+
set(QT_INCLUDES
31+
${Qt5Core_INCLUDE_DIRS}
32+
${Qt5Gui_INCLUDE_DIRS}
33+
${Qt5Widgets_INCLUDE_DIRS}
34+
${Qt5Xml_INCLUDE_DIRS}
35+
${Qt5Network_INCLUDE_DIRS}
36+
${Qt5SerialBus_INCLUDE_DIRS}
37+
)
38+
39+
set(QT_LIB
40+
Qt5::Core
41+
Qt5::Gui
42+
Qt5::Widgets
43+
Qt5::Xml
44+
Qt5::PrintSupport
45+
Qt5::Network
46+
Qt5::SerialBus
47+
)
48+
49+
include_directories(
50+
${CMAKE_CURRENT_SOURCE_DIR}/src
51+
${CMAKE_CURRENT_SOURCE_DIR}/testslave
52+
53+
${QT_INCLUDES}
54+
)
55+
56+
SET(APP_SRCS
57+
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp
58+
${CMAKE_CURRENT_SOURCE_DIR}/src/mainwindow.cpp
59+
${CMAKE_CURRENT_SOURCE_DIR}/src/registerdatamodel.cpp
60+
)
61+
62+
SET(APP_UIS
63+
${CMAKE_CURRENT_SOURCE_DIR}/src/mainwindow.ui
64+
)
65+
66+
SET(TESTSLAVE_SRCS
67+
${CMAKE_CURRENT_SOURCE_DIR}/testslave/testslavedata.cpp
68+
${CMAKE_CURRENT_SOURCE_DIR}/testslave/testslavemodbus.cpp
69+
)
70+
71+
# Default GUI type is blank
72+
set(GUI_TYPE "")
73+
74+
if(WIN32)
75+
set(GUI_TYPE WIN32)
76+
endif()
77+
78+
add_executable(${PROJECT_NAME} ${GUI_TYPE} ${APP_SRCS} ${APP_UIS} ${TESTSLAVE_SRCS})
79+
80+
target_link_libraries(${PROJECT_NAME} PRIVATE
81+
${QT_LIB}
82+
)
83+
84+
# Reset GUI type to blank
85+
set(GUI_TYPE "")

0 commit comments

Comments
 (0)