pxmlw6n2f/Gazebo_Distributed_MPI/gazebo/CMakeLists.txt

144 lines
3.0 KiB
CMake

find_package(MPI REQUIRED) # Added by zhangshuai 2019.04.22 for MPI
include_directories(SYSTEM
${OPENGL_INCLUDE_DIR}
${OGRE_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${PROTOBUF_INCLUDE_DIR}
${SDFormat_INCLUDE_DIRS}
${IGNITION-MATH_INCLUDE_DIRS}
${TBB_INCLUDEDIR}
${tinyxml_INCLUDE_DIRS}
${MPI_INCLUDE_PATH} # Added by zhangshuai 2019.04.22 for MPI
)
link_directories(
${ogre_library_dirs}
${Boost_LIBRARY_DIRS}
${SDFormat_LIBRARY_DIRS}
${PROJECT_BINARY_DIR}/test
${TBB_LIBRARY_DIR}
${CURL_LIBDIR}
)
if (WIN32)
include_directories(${libdl_include_dir})
endif()
if (HAVE_BULLET)
link_directories(${BULLET_LIBRARY_DIRS})
endif()
if (WIN32)
add_definitions(-DBUILDING_DLL)
endif()
add_subdirectory(msgs)
add_subdirectory(math)
add_subdirectory(transport)
add_subdirectory(common)
add_subdirectory(rendering)
add_subdirectory(gui)
add_subdirectory(physics)
add_subdirectory(sensors)
add_subdirectory(util)
add_subdirectory(test)
add_dependencies(gazebo_physics gazebo_msgs)
add_dependencies(gazebo_gui gazebo_msgs)
add_dependencies(gazebo_rendering gazebo_msgs)
add_dependencies(gazebo_sensors gazebo_rendering)
SET(CMAKE_C_COMPILER mpicc.openmpi) # Added by zhangshuai 2019.04.22 for MPI
SET(CMAKE_CXX_COMPILER mpicxx.openmpi) # Added by zhangshuai 2019.04.22 for MPI
gz_add_executable(gzserver server_main.cc)
target_link_libraries(gzserver
libgazebo
gazebo_common
gazebo_util
gazebo_transport
gazebo_physics
gazebo_sensors
gazebo_rendering
gazebo_msgs
# Extra libs needed when linking statically (e.g., on WIN32)
${freeimage_LIBRARIES}
${TBB_LIBRARIES}
)
if (UNIX)
target_link_libraries(gzserver pthread)
endif()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "CHECK")
target_link_libraries(gzserver gcov)
endif()
gz_install_executable(gzserver)
manpage(gzserver 1)
# gazebo executable doesn't yet work on Windows
if (NOT WIN32)
gz_add_executable(gazebo gazebo_main.cc)
target_link_libraries(gazebo
libgazebo
libgazebo_client
gazebo_common
gazebo_util
gazebo_transport
gazebo_physics
gazebo_sensors
gazebo_rendering
gazebo_msgs
gazebo_gui
)
gz_install_executable(gazebo)
manpage(gazebo 1)
endif()
gz_add_library(libgazebo Server.cc Master.cc gazebo.cc gazebo_shared.cc)
set_target_properties(libgazebo PROPERTIES OUTPUT_NAME "gazebo")
target_link_libraries(libgazebo
gazebo_common
gazebo_util
gazebo_transport
gazebo_physics
gazebo_sensors
gazebo_rendering
gazebo_msgs
gazebo_math
)
if (UNIX)
target_link_libraries(libgazebo pthread)
endif()
add_dependencies(libgazebo gazebo_msgs)
gz_install_library(libgazebo)
gz_add_library(libgazebo_client gazebo_client.cc gazebo_shared.cc)
set_target_properties(libgazebo_client PROPERTIES OUTPUT_NAME "gazebo_client")
target_link_libraries(libgazebo_client
gazebo_common
gazebo_transport
gazebo_util
)
if (UNIX)
target_link_libraries(libgazebo_client pthread)
endif()
gz_install_library(libgazebo_client)
set(headers
gazebo_client.hh
gazebo_core.hh
gazebo.hh
Master.hh
Server.hh
countTime.hh
)
gz_install_includes("" ${headers})