pxmlw6n2f/Gazebo_Distributed_TCP/gazebo/gui/CMakeLists.txt

260 lines
5.3 KiB
CMake
Raw Normal View History

2019-03-28 10:57:49 +08:00
include (${gazebo_cmake_dir}/GazeboUtils.cmake)
include ( ${QT_USE_FILE} )
link_directories(
${Boost_LIBRARY_DIRS}
${tinyxml_LIBRARY_DIRS}
)
include_directories(
${CMAKE_SOURCE_DIR}/deps
)
include_directories(${tinyxml_INCLUDE_DIRS})
add_definitions(${QT_DEFINITIONS})
add_subdirectory(qtpropertybrowser)
set (internal_qt_headers)
set (sources
Actions.cc
AlignWidget.cc
ApplyWrenchDialog.cc
CloneWindow.cc
ConfigWidget.cc
Conversions.cc
DataLogger.cc
Editor.cc
EntityMaker.cc
GLWidget.cc
GuiEvents.cc
GuiIface.cc
HotkeyDialog.cc
InsertModelWidget.cc
JointControlWidget.cc
KeyEventHandler.cc
LayersWidget.cc
LightMaker.cc
LogPlayWidget.cc
MainWindow.cc
ModelAlign.cc
ModelListWidget.cc
ModelMaker.cc
ModelManipulator.cc
ModelRightMenu.cc
ModelSnap.cc
MouseEventHandler.cc
RenderWidget.cc
SaveDialog.cc
SpaceNav.cc
SplashScreen.cc
TimePanel.cc
TimeWidget.cc
ToolsWidget.cc
TopicSelector.cc
TopToolbar.cc
UserCmdHistory.cc
ViewAngleWidget.cc
)
if (NOT USE_EXTERNAL_TINYXML)
include_directories (${CMAKE_SOURCE_DIR}/deps/win/tinyxml)
set (sources ${sources}
${CMAKE_SOURCE_DIR}/deps/win/tinyxml/tinystr.cpp
${CMAKE_SOURCE_DIR}/deps/win/tinyxml/tinyxml.cpp
${CMAKE_SOURCE_DIR}/deps/win/tinyxml/tinyxmlerror.cpp
${CMAKE_SOURCE_DIR}/deps/win/tinyxml/tinyxmlparser.cpp)
endif()
set (qt_headers
Actions.hh
AlignWidget.hh
ApplyWrenchDialog.hh
CloneWindow.hh
ConfigWidget.hh
DataLogger.hh
Editor.hh
GLWidget.hh
HotkeyDialog.hh
InsertModelWidget.hh
JointControlWidget.hh
LayersWidget.hh
LogPlayWidget.hh
MainWindow.hh
ModelListWidget.hh
ModelRightMenu.hh
RenderWidget.hh
SaveDialog.hh
SplashScreen.hh
TimePanel.hh
TimeWidget.hh
ToolsWidget.hh
TopicSelector.hh
TopToolbar.hh
UserCmdHistory.hh
ViewAngleWidget.hh
)
set (headers
qt.h
qt_test.h
Conversions.hh
EntityMaker.hh
GuiIface.hh
GuiEvents.hh
GuiPlugin.hh
GuiTypes.hh
KeyEventHandler.hh
LightMaker.hh
ModelAlign.hh
ModelManipulator.hh
ModelSnap.hh
MouseEventHandler.hh
ModelMaker.hh
SpaceNav.hh
)
if (HAVE_OCULUS)
set (sources ${sources}
OculusWindow.cc
)
set (qt_headers ${qt_headers}
OculusWindow.hh
)
endif ()
#if (HAVE_QWT)
# set (sources ${sources}
# Diagnostics.cc
# IncrementalPlot.cc
# )
# set (qt_headers ${qt_headers}
# Diagnostics.hh
# IncrementalPlot.hh
# )
#endif()
set (qt_tests
BuildingEditor_TEST.cc
ConfigWidget_TEST.cc
DataLogger_TEST.cc
GLWidget_TEST.cc
GLWidget_TEST2.cc
GuiIface_TEST.cc
LightMaker_TEST.cc
ModelAlign_TEST.cc
ModelListWidget_TEST.cc
ModelMaker_TEST.cc
ModelManipulator_TEST.cc
RenderWidget_TEST.cc
SaveDialog_TEST.cc
SplashScreen_TEST.cc
TimePanel_TEST.cc
TimeWidget_TEST.cc
TopToolbar_TEST.cc
ViewAngleWidget_TEST.cc
)
add_subdirectory(viewers)
add_subdirectory(terrain)
add_subdirectory(building)
add_subdirectory(model)
if (HAVE_GRAPHVIZ)
add_definitions(-DWITH_CGRAPH)
add_definitions(-DHAVE_STRING_H)
# Activate Export macro for building the library itself
# if QGVCORE_LIB is not set or equal 0 (null), import macro is used
add_definitions(-DQGVCORE_LIB)
include_directories(${GRAPHVIZ_INCLUDE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/qgv)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/qgv/private)
add_subdirectory(qgv)
endif()
# MainWindow is using screen rendering
if (ENABLE_SCREEN_TESTS)
set (qt_tests
${qt_tests}
ApplyWrenchDialog_TEST.cc
LaserVisualization_TEST.cc
LayersWidget_TEST.cc
MainWindow_TEST.cc
ModelSnap_TEST.cc
Projection_TEST.cc)
endif()
# Generate executables for each of the QT unit tests
gz_build_qt_tests(${qt_tests})
set (resources resources.qrc)
QT4_WRAP_CPP(headers_MOC ${qt_headers} ${internal_qt_headers})
QT4_ADD_RESOURCES(resources_RCC ${resources})
gz_add_library(gazebo_gui ${sources} ${headers_MOC} ${resources_RCC})
gz_add_executable(gzclient main.cc ${resources_RCC})
add_dependencies(gazebo_gui gazebo_msgs)
add_dependencies(gzclient gazebo_gui)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBUILDING_DLL_GZ_GUI")
target_link_libraries(gazebo_gui
libgazebo_client
gazebo_common
gazebo_transport
gazebo_rendering
gazebo_msgs
gzqtpropertybrowser
${QT_LIBRARIES}
${ogre_libraries}
${Boost_LIBRARIES}
${tinyxml_LIBRARIES}
)
if (UNIX)
target_link_libraries(gazebo_gui pthread)
endif()
if (HAVE_GRAPHVIZ)
target_link_libraries(gazebo_gui ${GRAPHVIZ_LIBRARIES})
endif()
target_link_libraries(gzclient gazebo_gui)
if (UNIX)
target_link_libraries(gzclient pthread)
endif()
if (SPNAV_LIBRARY)
target_link_libraries(gazebo_gui ${SPNAV_LIBRARY})
target_link_libraries(gzclient ${SPNAV_LIBRARY})
endif()
set (gtest_sources
Conversions_TEST.cc
)
gz_build_tests(${gtest_sources} EXTRA_LIBS gazebo_gui)
add_definitions(${QT_DEFINITIONS})
set (gui_headers "" CACHE INTERNAL "gui headers" FORCE)
foreach (hdr ${headers} ${qt_headers})
APPEND_TO_CACHED_STRING(gui_headers
"GUI Headers" "#include \"gazebo/gui/${hdr}\"\n")
endforeach()
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/gui.hh.in ${CMAKE_CURRENT_BINARY_DIR}/gui.hh )
gz_install_library(gazebo_gui)
gz_install_includes("gui" ${headers} ${qt_headers} ${CMAKE_CURRENT_BINARY_DIR}/gui.hh)
gz_install_executable(gzclient)
if (UNIX)
manpage(gzclient 1)
endif()