]> git.cworth.org Git - apitrace/blobdiff - gui/CMakeLists.txt
gui: Link against pthread.
[apitrace] / gui / CMakeLists.txt
index d7aa136bcab6c3a90d5797985538e2077671c571..03e3d39ce78c2d1ecd1310957bbcbd94a8410b0d 100644 (file)
-cmake_minimum_required(VERSION 2.8)
-
-find_package(Qt4 REQUIRED)
+# Include the cmake file needed to use qt4
+include( ${QT_USE_FILE} )
 
 set(qapitrace_SRCS
+   apisurface.cpp
+   apitrace.cpp
+   apicalldelegate.cpp
+   apitracecall.cpp
+   apitracefilter.cpp
    apitracemodel.cpp
-   loaderthread.cpp
+   argumentseditor.cpp
+   glsledit.cpp
+   imageviewer.cpp
+   jumpwidget.cpp
    mainwindow.cpp
    main.cpp
+   profiledialog.cpp
+   profiletablemodel.cpp
+   retracer.cpp
+   saverthread.cpp
+   searchwidget.cpp
+   settingsdialog.cpp
+   shaderssourcewidget.cpp
+   tracedialog.cpp
+   traceloader.cpp
+   traceprocess.cpp
+   trimprocess.cpp
+   vertexdatainterpreter.cpp
+   graphing/frameaxiswidget.cpp
+   graphing/graphwidget.cpp
+   graphing/graphaxiswidget.cpp
+   graphing/graphview.cpp
+   graphing/heatmapview.cpp
+   graphing/heatmapverticalaxiswidget.cpp
+   graphing/histogramview.cpp
+   graphing/timeaxiswidget.cpp
  )
 
 qt4_automoc(${qapitrace_SRCS})
 
+qt4_add_resources(qapitrace_SRCS qapitrace.qrc)
+
 set(qapitrace_UIS
-   ui/mainwindow.ui)
+   ui/argumentseditor.ui
+   ui/imageviewer.ui
+   ui/jumpwidget.ui
+   ui/mainwindow.ui
+   ui/profiledialog.ui
+   ui/profilereplaydialog.ui
+   ui/retracerdialog.ui
+   ui/settings.ui
+   ui/tracedialog.ui
+   ui/searchwidget.ui
+   ui/shaderssourcewidget.ui
+   )
 
 QT4_WRAP_UI(qapitrace_UIS_H ${qapitrace_UIS})
 
 #add_app_icon(qapitrace_SRCS ../icons/hi*-qapitrace.png)
+link_directories(${LINK_DIRECTORIES} ${QJSON_LIBRARY_DIRS})
+include_directories(
+    ${CMAKE_CURRENT_BINARY_DIR}
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_SOURCE_DIR}
+    ${QJSON_INCLUDE_DIR}
+    ${QT_INCLUDES}
+)
+
+if (WIN32)
+    # Use Windows subsystem (i.e., no console).
+    set (qapitrace_SUBSYSTEM "WIN32")
+endif ()
+
+add_executable(qapitrace ${qapitrace_SUBSYSTEM} ${qapitrace_SRCS} ${qapitrace_UIS_H})
+
+target_link_libraries (qapitrace
+    image
+    common
+    ${ZLIB_LIBRARIES}
+    ${SNAPPY_LIBRARIES}
+    ${QJSON_LIBRARIES}
+    ${QT_LIBRARIES}
+    ${CMAKE_THREAD_LIBS_INIT}
+)
+
+if (APPLE)
+    # Recent builds of Qt no longer support i386 architecture
+    set_target_properties (qapitrace PROPERTIES OSX_ARCHITECTURES x86_64)
+endif ()
+if (MSVC)
+    # When the Windows subsystem is chosen by default MSVC expects WinMain()
+    # entry point, but we rather use plain old main() everywhere.
+    set_target_properties (qapitrace PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup")
+endif ()
 
-if (ZLIB_FOUND)
-    include_directories (${ZLIB_INCLUDE_DIRS})
-    link_libraries (${ZLIB_LIBRARIES})
-else (ZLIB_FOUND)
-    add_library (zlib STATIC
-        ../zlib/adler32.c
-        ../zlib/compress.c
-        ../zlib/crc32.c
-        ../zlib/gzio.c
-        ../zlib/uncompr.c
-        ../zlib/deflate.c
-        ../zlib/trees.c
-        ../zlib/zutil.c
-        ../zlib/inflate.c
-        ../zlib/infback.c
-        ../zlib/inftrees.c
-        ../zlib/inffast.c
-    )
-    include_directories (zlib)
-    link_libraries (zlib)
-endif (ZLIB_FOUND)
-
-include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
-
-add_executable(qapitrace ${qapitrace_SRCS} ${qapitrace_UIS_H})
-
-target_link_libraries(qapitrace trace ${QT_QTCORE_LIBRARIES} ${QT_QTGUI_LIBRARIES} )
 
 ########### install files ###############
 
-#install(TARGETS qapitrace ${INSTALL_TARGETS_DEFAULT_ARGS} )
-#install( FILES qapitrace.desktop  DESTINATION ${XDG_APPS_INSTALL_DIR} )
+install (TARGETS qapitrace RUNTIME DESTINATION bin)
+#install (FILES qapitrace.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})