view ui/CMakeLists.txt @ 285:f23e0ccd5d14

Fix call to windows process. This now uses the correct parameters, emits the signals correctly as errors and waits for the process to finish instead of relying on NOASYNC which did not work for runas and also made it impossible to get the return code
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 02 Apr 2014 13:45:57 +0000
parents b6c2fa8457b6
children 3261b2a9cab7
line wrap: on
line source
include_directories(${Qt5Widgets_INCLUDE_DIRS})
include_directories(${POLARSSL_INCLUDE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
add_definitions(${Qt5Widgets_DEFINITIONS})

set(CERTIFICATELIST_SOURCES
    ${CMAKE_CURRENT_SOURCE_DIR}/certificatelist.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/certificate.cpp
)

set(DOWNLOADER_SOURCES
    ${CMAKE_CURRENT_SOURCE_DIR}/downloader.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/sslconnection.cpp
)

set(M13UI_SOURCES
    ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/listupdatedialog.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/helpdialog.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/aboutdialog.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/statusdialog.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/certificateitemdelegate.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/separatoritemdelegate.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/installwrapper.cpp
    ${CERTIFICATELIST_SOURCES}
    ${DOWNLOADER_SOURCES}
)

# Seperated to make it easier to include the sources in tests
set(M13UI_RESOURCES
   ${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
   ${CMAKE_CURRENT_SOURCE_DIR}/certs.qrc
)

if(UNIX)
   # See: https://bugreports.qt-project.org/browse/QTBUG-35918
   # XCB_EXTRA_LIBS should be gotten automatically.
   # The following list is taken from the .pri file
   get_target_property(_loc Qt5::Widgets LOCATION)
   get_filename_component(_qtpath ${_loc} PATH)

   if(NOT XKBCOMMON_LIB)
      # Hack on a hack to overwrite the xkbcommon libname.
      set(XKBCOMMON_LIB -lxkbcommon)
   endif()

   set(XCB_EXTRA_LIBS
      -L${_qtpath}
      -lX11 -lX11-xcb -lXi -lxcb-render-util -lXrender -lSM -lICE -lxcb-render -ldbus-1
      -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr
      ${XKBCOMMON_LIB} -lxcb-shape -lxcb-keysyms -lQt5PlatformSupport
      -lfreetype -lQt5DBus -lQt5Gui -ljpeg -lpng -lQt5Core
      -lz -lm -ldl -lrt -lpthread)

   set(EXTRA_STATIC_LIBS -lz -lpthread -ldl -lpng -ljpeg
      Qt5::QXcbIntegrationPlugin ${XCB_EXTRA_LIBS})

elseif(WIN32)
   get_target_property(_loc Qt5::Widgets LOCATION)
   get_filename_component(_qtpath ${_loc} PATH)
   set(WINDOWS_EXTRA_LIBS
        -L${_qtpath}
        -lwinspool -lshlwapi -lfreetype -lbz2 -lpng16
        -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm
        -lglu32 -lopengl32 -lgdi32 -ljpeg -lpng -lQt5Core -lole32 -luuid -lws2_32
        -ladvapi32 -lshell32 -luser32 -lkernel32 -lz -lsicuin -lsicuuc -lsicudt -lpcre16)

   set(EXTRA_STATIC_LIBS Qt5::QWindowsIntegrationPlugin ${WINDOWS_EXTRA_LIBS} -lwinhttp -lcrypt32)
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")

generate_cppcheck(SOURCES ${CINST_SOURCES} ${M13UI_SOURCES} TARGET_NAME m13_cppcheck)
add_dependencies(static_check m13_cppcheck)

# Adding resources here in an extra variable to enable reuse of
# M13UI_SOURCES in the test subdirectory.
set(M13UI_SOURCES_WITH_RESOURCES ${M13UI_SOURCES})
qt5_add_resources(M13UI_SOURCES_WITH_RESOURCES ${M13UI_RESOURCES})
add_executable(m13ui ${M13UI_SOURCES_WITH_RESOURCES})

target_link_libraries(m13ui Qt5::Widgets
   m13_common
   ${POLARSSL_LIBRARIES}
   ${EXTRA_STATIC_LIBS}
   ${PROFILING_LIBS})

# Tests
add_subdirectory(tests)

install(TARGETS m13ui DESTINATION bin)

http://wald.intevation.org/projects/trustbridge/