From 6a054e3abec54bc3b3d57c4e4b91876616b992ee Mon Sep 17 00:00:00 2001 From: Armin Hornung Date: Thu, 10 Feb 2011 12:35:33 +0000 Subject: [PATCH] CMake tweaks for QGLviewer under Mac OS --- CMakeLists.txt | 4 ++-- CMakeModules/FindQGLViewer.cmake | 1 + src/octovis/CMakeLists.txt | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b8cef3c..95d704c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,10 +105,10 @@ ENDIF() IF(BUILD_VIEWER) MESSAGE(STATUS "\n") - MESSAGE(STATUS "viewer octovis will be build") + MESSAGE(STATUS "viewer octovis will be built") ADD_SUBDIRECTORY( src/octovis ) ELSE() - MESSAGE ( "Unfortunately, the viewer (octovis) can not be build.") + MESSAGE ( "Unfortunately, the viewer (octovis) can not be built because some requirements are missing.") MESSAGE ( "See README.txt or http://octomap.sf.net for further information.\n") ENDIF() diff --git a/CMakeModules/FindQGLViewer.cmake b/CMakeModules/FindQGLViewer.cmake index 32dceaa2..c914318c 100644 --- a/CMakeModules/FindQGLViewer.cmake +++ b/CMakeModules/FindQGLViewer.cmake @@ -15,6 +15,7 @@ SET( QGLViewer_HOME / CACHE PATH "Where to find QGLViewer" ) FIND_PATH( QGLViewer_INCLUDE_DIR qglviewer.h /usr/include/qglviewer-qt4 /usr/include/QGLViewer + /opt/local/include/QGLViewer ${QGLViewer_HOME} ) diff --git a/src/octovis/CMakeLists.txt b/src/octovis/CMakeLists.txt index a7fe87ea..89fc1613 100755 --- a/src/octovis/CMakeLists.txt +++ b/src/octovis/CMakeLists.txt @@ -5,6 +5,13 @@ set(QT_USE_QTXML TRUE) # include the files enabled above include(${QT_USE_FILE}) +# Mac OS X seems to require special linker flags: +IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework OpenGL") + SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework OpenGL") + SET (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -framework OpenGL") +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + # sources for octovis library set(viewerlib_SRCS SceneObject.cpp @@ -78,6 +85,15 @@ target_link_libraries(octovis octovis_library ) +# special handling of MacOS X: +IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + add_custom_command(TARGET octovis POST_BUILD + COMMAND install_name_tool -change libQGLViewer.2.dylib /opt/local/lib/libQGLViewer.2.dylib ${BASE_DIR}/bin/octovis + ) +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + + + # #installation: # # store all header files to install: