cadMousePro-gui/src/CMakeLists.txt
branchv_0
changeset 14 759edaff1755
child 15 00783e323e66
equal deleted inserted replaced
13:52d92c1b340e 14:759edaff1755
       
     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)