[CMake] Logical block opening error

Sambeet Panigrahi sambeet161616 at gmail.com
Sun Jul 3 19:26:08 EDT 2016


Hi,
I am using Cmake to compile Orocos RTT. While building mqueue I encountered
this error:

CMake Error in rtt/transports/mqueue/CMakeLists.txt:
  A logical block opening on the line


/home/sambeet/NewRockPort/x86/Build/rock/rtt/rtt/transports/mqueue/CMakeLists.txt:2
(IF)

  is not close

I closed the brackets but still the error stays.

The following is the code for this purpose:

# this option was set in global_rules.cmake
IF(ENABLE_MQ)
  MESSAGE( "Building MQueue Transport library (Requires Boost >= 1.37.0).")


  if (NOT Boost_SERIALIZATION_FOUND)
    MESSAGE(SEND_ERROR "Can't build MQueue transport without Boost
Serialization. Please install serialiation or disable MQUEUE.")
  endif()

  FILE( GLOB CPPS Dispatcher.cpp MQSendRecv.cpp )
  FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl)

  #MESSAGE("CPPS: $ENV{GLOBAL_GENERATED_SRCS}")
  #MESSAGE("HPPS: ${HPPS}")
  GLOBAL_ADD_INCLUDE( rtt/transports/mqueue ${HPPS})
  # Due to generation of some .h files in build directories, we also need
to include some build dirs in our include paths.
  INCLUDE_DIRECTORIES(BEFORE ${PROJ_SOURCE_DIR} ${PROJ_SOURCE_DIR}/rtt
${PROJ_SOURCE_DIR}/rtt/os ${PROJ_SOURCE_DIR}/rtt/os/${OROCOS_TARGET} )
  INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt
${PROJ_BINARY_DIR}/rtt/os ${PROJ_BINARY_DIR}/rtt/os/${OROCOS_TARGET} )
  INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/transports/mqueue
${MQ_INCLUDE_DIRS})
  INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/typekit ) # For
rtt-typekit-config.h

  if(NOT MQ_LDFLAGS)
    set(MQ_LDFLAGS "")
  endif()

IF ( BUILD_STATIC )
  ADD_LIBRARY(orocos-rtt-mqueue-${OROCOS_TARGET}_static STATIC ${CPPS})
  SET_TARGET_PROPERTIES( orocos-rtt-mqueue-${OROCOS_TARGET}_static
  PROPERTIES DEFINE_SYMBOL "RTT_MQ_DLL_EXPORT"
  OUTPUT_NAME orocos-rtt-mqueue-${OROCOS_TARGET}
  CLEAN_DIRECT_OUTPUT 1
  VERSION "${RTT_VERSION}"
  LINK_FLAGS "${MQ_LDFLAGS} ${CMAKE_LD_FLAGS}"
  COMPILE_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}")
ENDIF( BUILD_STATIC )

  IF(NOT NOT_BUILD_SHARED )
  ADD_LIBRARY(orocos-rtt-mqueue-${OROCOS_TARGET}_dynamic SHARED ${CPPS})
  TARGET_LINK_LIBRARIES(orocos-rtt-mqueue-${OROCOS_TARGET}_dynamic
orocos-rtt-${OROCOS_TARGET}_dynamic
${MQ_LIBRARIES} ${Boost_SERIALIZATION_LIBRARY}
)
  SET_TARGET_PROPERTIES( orocos-rtt-mqueue-${OROCOS_TARGET}_dynamic
PROPERTIES
  DEFINE_SYMBOL "RTT_MQ_DLL_EXPORT"
  OUTPUT_NAME orocos-rtt-mqueue-${OROCOS_TARGET}
  CLEAN_DIRECT_OUTPUT 1
  LINK_FLAGS "${MQ_LDFLAGS} ${CMAKE_LD_FLAGS}"
  COMPILE_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}"
  SOVERSION "${RTT_VERSION_MAJOR}.${RTT_VERSION_MINOR}"
  VERSION "${RTT_VERSION}"
ENDIF(NOT NOT_BUILD_SHARED )

  INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
create_pc_flags( "${MQ_DEFINITIONS}" "${MQ_INCLUDE_DIRS}" "${MQ_LIBRARIES}"
RTT_MQ_DEFINES RTT_MQ_CFLAGS RTT_MQ_LINKFLAGS)
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/orocos-rtt-mqueue.pc.in
${CMAKE_CURRENT_BINARY_DIR}/orocos-rtt-mqueue-${OROCOS_TARGET}.pc @ONLY)
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/rtt-mqueue-config.h.in
${CMAKE_CURRENT_BINARY_DIR}/rtt-mqueue-config.h @ONLY)

IF ( BUILD_STATIC )
  INSTALL(TARGETS             orocos-rtt-mqueue-${OROCOS_TARGET}_static
         EXPORT              ${LIBRARY_EXPORT_FILE}
         ARCHIVE DESTINATION lib )
  target_link_libraries( rtt-transport-mqueue-${OROCOS_TARGET}_plugin
orocos-rtt-mqueue-${OROCOS_TARGET}_static)
ENDIF( BUILD_STATIC )

IF(NOT NOT_BUILD_SHARED)
  INSTALL(TARGETS             orocos-rtt-mqueue-${OROCOS_TARGET}_dynamic
         EXPORT              ${LIBRARY_EXPORT_FILE}
         LIBRARY DESTINATION lib RUNTIME DESTINATION bin )
  INSTALL(FILES
${CMAKE_CURRENT_BINARY_DIR}/orocos-rtt-mqueue-${OROCOS_TARGET}.pc
DESTINATION  lib/pkgconfig )
ENDIF(NOT NOT_BUILD_SHARED)

  SET(RTT_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}")
  ADD_RTT_TYPEKIT( rtt-transport-mqueue ${RTT_VERSION} MQLib.cpp)
  target_link_libraries( rtt-transport-mqueue-${OROCOS_TARGET}_plugin
orocos-rtt-mqueue-${OROCOS_TARGET}_dynamic)
  set_target_properties( rtt-transport-mqueue-${OROCOS_TARGET}_plugin
PROPERTIES
    LINK_FLAGS "${MQ_LDFLAGS} ${CMAKE_LD_FLAGS}")

  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/rtt-mqueue-config.h
TransportPlugin.hpp DESTINATION include/rtt/transports/mqueue )

ENDIF(ENABLE_MQ)

Can someone help me to resolve this?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160704/b1b4fc09/attachment.html>


More information about the CMake mailing list