equal
deleted
inserted
replaced
|
1 set(EXECUTABLE_FILE "cadMousePro-gui") |
|
2 |
|
3 # Qt libraries: |
|
4 set(CMAKE_INCLUDE_CURRENT_DIR ON) # Find includes in corresponding build directories |
|
5 set(CMAKE_AUTOMOC ON) # Instruct CMake to run moc automatically when needed |
|
6 set(CMAKE_AUTOUIC ON) # Create code from a list of Qt designer ui files |
|
7 find_package(Qt5 CONFIG REQUIRED Core DBus) |
|
8 |
|
9 # Add ASan AddressSanitizer |
|
10 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") |
|
11 set(CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") |
|
12 |
|
13 # Generate C++ interface classes from D-Bus XML: |
|
14 file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated-sources/) |
|
15 set(DBUS_XML ${CMAKE_CURRENT_SOURCE_DIR}/../../d-bus/info.globalcode.mouse.cadMousePro.xml) |
|
16 set(GENERATED_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/generated-sources/) |
|
17 add_custom_command( |
|
18 DEPENDS ${DBUS_XML} |
|
19 OUTPUT ${GENERATED_SOURCES}/Proxy.h |
|
20 OUTPUT ${GENERATED_SOURCES}/Proxy.cpp |
|
21 COMMAND qdbusxml2cpp -p Proxy.h:Proxy.cpp ${DBUS_XML} |
|
22 WORKING_DIRECTORY ${GENERATED_SOURCES} |
|
23 ) |
|
24 cmake_policy(SET CMP0071 NEW) # Let AUTOMOC and AUTOUIC process GENERATED files. |
|
25 |
|
26 # Executable output: |
|
27 add_executable( |
|
28 ${EXECUTABLE_FILE} |
|
29 ${CMAKE_CURRENT_BINARY_DIR}/generated-sources/Proxy.h |
|
30 ${CMAKE_CURRENT_BINARY_DIR}/generated-sources/Proxy.cpp |
|
31 cadMouseProGUI.cpp |
|
32 ) |
|
33 |
|
34 # Link libraries: |
|
35 target_link_libraries(${EXECUTABLE_FILE} Qt5::DBus) |
|
36 set_property(TARGET ${EXECUTABLE_FILE} PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE) |