2 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
4 PROJECT(OpenSGSimpleExamples)
6 MESSAGE(STATUS "Building simple examples standalone")
8 IF(EXISTS "${${PROJECT_NAME}_SOURCE_DIR}/../../CMake")
9 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${${PROJECT_NAME}_SOURCE_DIR}/../../CMake")
12 IF(EXISTS "${${PROJECT_NAME}_SOURCE_DIR}/../../cmake")
13 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${${PROJECT_NAME}_SOURCE_DIR}/../../cmake")
16 # show build command lines
17 SET(CMAKE_VERBOSE_MAKEFILE ON)
19 OPTION(OSG_USE_OSGSUPPORT_LIBS "" OFF)
21 IF(NOT OSG_SUPPORT_ROOT)
22 SET(OSG_SUPPORT_ROOT "" CACHE PATH "")
26 SET(OpenSG_DIR "" CACHE PATH "")
29 #############################################################################
32 FILE(GLOB SRCFILES "*.cpp")
34 # stuff that is broken -- these examples need to be fixed
35 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/clusterclientshader.cpp")
36 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/geometryshader.cpp")
37 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/phongshaderwithglmaterials.cpp")
38 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/shader.cpp")
40 #############################################################################
43 SET(OSG_COMPONENTS OSGBase
57 LIST(APPEND OSG_COMPONENTS OSGWindowCarbon)
59 LIST(APPEND OSG_COMPONENTS OSGWindowX)
64 LIST(APPEND OSG_COMPONENTS OSGWindowWIN32)
74 FIND_PACKAGE(GLUT REQUIRED)
75 LIST(APPEND DEP_INCLUDE_DIRS ${GLUT_INCLUDE_DIR})
76 LIST(APPEND DEP_LIBRARIES ${GLUT_LIBRARIES})
81 FIND_PACKAGE(OpenGL REQUIRED)
82 LIST(APPEND DEP_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR})
83 LIST(APPEND DEP_LIBRARIES ${OPENGL_LIBRARIES})
91 LIST(APPEND DEP_INCLUDE_DIRS ${X11_X11_INCLUDE_PATH})
92 LIST(APPEND DEP_LIBRARIES ${X11_X11_LIB})
94 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/clusterserverx.cpp")
98 #### Collada (optional, depending on how OpenSG was built)
100 FIND_PACKAGE(Collada)
103 LIST(APPEND DEP_INCLUDE_DIRS ${COLLADA_INCLUDE_DIRS})
104 LIST(APPEND DEP_LIBRARY_DIRS ${COLLADA_LIBRARY_DIRS})
110 SET(Boost_USE_MULTITHREAD ON)
111 SET(Boost_STATIC_LIBS OFF)
113 SET(Boost_COMPONENTS system ${Boost_COMPONENTS})
116 LIST(APPEND Boost_COMPONENTS filesystem)
119 FIND_PACKAGE(Boost COMPONENTS ${Boost_COMPONENTS} REQUIRED)
122 LIST(APPEND DEP_INCLUDE_DIRS ${Boost_INCLUDE_DIRS})
123 LIST(APPEND DEP_LIBRARY_DIRS ${Boost_LIBRARY_DIRS})
124 LIST(APPEND DEP_LIBRARIES ${Boost_LIBRARIES})
130 FIND_PACKAGE(OpenSG REQUIRED COMPONENTS ${OSG_COMPONENTS})
133 #############################################################################
136 FOREACH(SRC ${SRCFILES})
138 GET_FILENAME_COMPONENT(EXE ${SRC} NAME_WE)
140 INCLUDE_DIRECTORIES(${OpenSG_INCLUDE_DIRS})
141 INCLUDE_DIRECTORIES(${DEP_INCLUDE_DIRS})
143 LINK_DIRECTORIES(${OpenSG_LIBRARY_DIRS})
144 LINK_DIRECTORIES(${DEP_LIBRARY_DIRS})
146 ADD_EXECUTABLE(${EXE} ${SRC})
148 TARGET_LINK_LIBRARIES(${EXE} ${OpenSG_LIBRARIES})
149 TARGET_LINK_LIBRARIES(${EXE} ${DEP_LIBRARIES})