Adjust examples for MultiLight changes
[opensg.git] / Examples / Simple / CMakeLists.fromosg.txt
blob240d2dc71cf68e3eea9ad6d11651591c8aaddc3f
2 IF(OSG_OGL_COREONLY AND NOT OSG_CHECK_COREONLY)
3   RETURN()
4 ENDIF()
6 PROJECT(OpenSGSimpleExamples)
8 MESSAGE(STATUS "Building simple examples integrated")
10 #############################################################################
11 # find sources
13 FILE(GLOB SRCFILES "*.cpp")
15 # stuff that is broken -- these examples need to be fixed
16 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/clusterclientshader.cpp")
17 LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/geometryshader.cpp")
19 #############################################################################
20 # get dependencies
22 SET(OSG_COMPONENTS OSGBase
23                    OSGCluster
24                    OSGDrawable
25                    OSGFileIO
26                    OSGGroup
27                    OSGEffectGroups
28                    OSGImageFileIO
29                    OSGState
30                    OSGSystem
31                    OSGUtil
32                    OSGWindow
33                    OSGWindowGLUT)
35 IF(UNIX)
36     IF(APPLE)
37         LIST(APPEND OSG_COMPONENTS OSGWindowCocoa)
38     ELSE(APPLE)
39         LIST(APPEND OSG_COMPONENTS OSGWindowX)
40     ENDIF(APPLE)
41 ENDIF(UNIX)
43 IF(WIN32)
44     LIST(APPEND OSG_COMPONENTS OSGWindowWIN32)
45 ENDIF(WIN32)
47 SET(DEP_INCLUDE_DIRS)
48 SET(DEP_LIBRARY_DIRS)
49 SET(DEP_LIBRARIES)
51 SET(OSG_EXTERNAL_COMPONENTS Boost GLUT)
53 #############
54 #### X11 (optional)
56 IF(X11_FOUND AND NOT APPLE)
57     LIST(APPEND OSG_EXTERNAL_COMPONENTS X11)
58     LIST(APPEND OSG_COMPONENTS OSGWindowX)
59 ELSE(X11_FOUND AND NOT APPLE)
60     LIST(REMOVE_ITEM SRCFILES "${PROJECT_SOURCE_DIR}/clusterserverx.cpp")
61 ENDIF(X11_FOUND AND NOT APPLE)
63 #############
64 #### OpenSG
66 FOREACH(OSGDEP ${OSG_COMPONENTS})
67     IF(NOT EXISTS "${CMAKE_BINARY_DIR}/${OSGDEP}.cmake")
68         MESSAGE(STATUS "Dependency (${OSGDEP}) not found, "
69                        "can not build ${PROJECT_NAME}\n")
70         RETURN()
71     ENDIF(NOT EXISTS "${CMAKE_BINARY_DIR}/${OSGDEP}.cmake")
73     INCLUDE("${CMAKE_BINARY_DIR}/${OSGDEP}.cmake")
74     INCLUDE_DIRECTORIES(${${OSGDEP}_INC})
75 ENDFOREACH()
77 FOREACH(OSGEXTDEP ${OSG_EXTERNAL_COMPONENTS})
78     IF(NOT ${OSGEXTDEP}_FOUND)
79         MESSAGE(FATAL_ERROR "Dependency (${OSGEXTDEP}) not found, "
80                             "can not build ${PROJECT_NAME}\n")
81         RETURN()
82     ENDIF()
84     INCLUDE_DIRECTORIES(SYSTEM ${${OSGEXTDEP}_INCLUDE_DIR})
85 ENDFOREACH()
87 set(OSG_ADDON_LIBRARIES "")
89 IF(ANTTWEAKBAR_FOUND)
90     INCLUDE_DIRECTORIES(AFTER ${ANTTWEAKBAR_INCLUDE_DIR})
91     LIST(APPEND OSG_ADDON_LIBRARIES ${ANTTWEAKBAR_LIBRARIES})
92     add_definitions(-DOSG_WITH_ANTTWEAKBAR)
93 ENDIF()
95 #############################################################################
96 # build executables
98 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
100 FOREACH(GLOBAL_INC ${OSG_GLOBAL_DEP_INCDIR})
101   INCLUDE_DIRECTORIES(${${GLOBAL_INC}})
102 ENDFOREACH()
104 FOREACH(SRC ${SRCFILES})
106     GET_FILENAME_COMPONENT(EXE ${SRC} NAME_WE)
108     ADD_EXECUTABLE(${EXE} ${OSGEXCLUDE_EXAMPLES_SIMPLE} 
109                           ${SRC} ${OSG_ADD_GLOBAL_EXE_SRC})
111     ADD_DEPENDENCIES(OSGAllSimpleExamples ${EXE})
113     FOREACH(OSGDEP ${OSG_COMPONENTS})
114         ADD_DEPENDENCIES(${EXE} ${OSGDEP})
116         TARGET_LINK_LIBRARIES(${EXE} ${OSGDEP})
117     ENDFOREACH()
119     TARGET_LINK_LIBRARIES(${EXE} ${OSG_ADDON_LIBRARIES})
121     IF(LINUX AND CMAKE_BUILD_TYPE STREQUAL "DebugGV" AND OSG_ADD_CXX_FLAGS_GV)
122         SET_PROPERTY(TARGET ${EXE}
123                      APPEND PROPERTY COMPILE_FLAGS ${OSG_ADD_CXX_FLAGS_GV})
124     ENDIF()
125     
126     IF(WIN32)
127       SET_PROPERTY(TARGET ${EXE} PROPERTY FOLDER "Examples/Simple")
128     ENDIF()
129     
130     #Install
131     IF(OSG_INSTALL_EXAMPLES_EXE)
132       IF(WIN32)
133         INSTALL(TARGETS ${EXE}
134                 CONFIGURATIONS Release
135                 RUNTIME DESTINATION share/OpenSG/Examples/Simple/bin/rel)
136         INSTALL(TARGETS ${EXE}
137                 CONFIGURATIONS Debug
138                 RUNTIME DESTINATION share/OpenSG/Examples/Simple/bin/debug)
139         INSTALL(TARGETS ${EXE}
140                 CONFIGURATIONS ReleaseNoOpt
141                 RUNTIME DESTINATION share/OpenSG/Examples/Simple/bin/relnoopt)
142         INSTALL(TARGETS ${EXE}
143                 CONFIGURATIONS DebugOpt
144                 RUNTIME DESTINATION share/OpenSG/Examples/Simple/bin/debugopt)
145       ELSE()
146         INSTALL(TARGETS ${EXE}
147                 CONFIGURATIONS Release
148                 DESTINATION share/OpenSG/Examples/Simple/bin
149                 COMPONENT examples_basic)
151         INSTALL(TARGETS ${EXE}
152                 CONFIGURATIONS Debug
153                 DESTINATION share/OpenSG/Examples/Simple/bin/debug
154                 COMPONENT examples_basic)
156         INSTALL(TARGETS ${EXE}
157                 CONFIGURATIONS DebugGV
158                 DESTINATION share/OpenSG/Examples/Simple/bin/debug
159                 COMPONENT examples_basic)
160       ENDIF()
161     ENDIF()
162     IF(OSG_INSTALL_EXAMPLES)
163         INSTALL(FILES "${SRC}"
164                 DESTINATION share/OpenSG/Examples/Simple
165                 COMPONENT examples_basic)
166     ENDIF()
167 ENDFOREACH(SRC)
168     
170 IF(OSG_INSTALL_EXAMPLES)
171     INSTALL(FILES CMakeLists.standalone.txt
172             DESTINATION share/OpenSG/Examples/Simple
173             RENAME CMakeLists.txt
174             COMPONENT examples_basic)
175 ENDIF()