Added:
/trunk/CMakeFindScripts
/trunk/CMakeFindScripts/FindCg.cmake
/trunk/CMakeFindScripts/FindOpenGL.cmake
Modified:
/trunk/CMakeLists.txt
=======================================
--- /dev/null
+++ /trunk/CMakeFindScripts/FindCg.cmake Wed Jun 2 12:05:09 2010
@@ -0,0 +1,31 @@
+# CMake find script for Cg
+# Searches for Cg library at some predefines locations
+# Author: Vijay Michael Joseph
+
+if (APPLE)
+ set( SEARCH_PATHS /Library/Frameworks )
+ set( LIB_SEARCH_PATHS /Library/Frameworks)
+
+else (APPLE)
+ message(FindCg.cmake: Non apple config; please set the search path
here)
+
+endif (APPLE)
+
+set( Cg_INCLUDE_DIRS "" )
+# find the headers and libraries
+find_path( Cg_INCLUDE_DIRS cg.h ${SEARCH_PATHS} )
+find_library( Cg_LIBRARIES cg ${LIB_SEARCH_PATHS} )
+
+
+# assume that everythig went well
+set( Cg_FOUND TRUE)
+
+# check if we found both INCLUDE and LIBs
+if(NOT Cg_INCLUDE_DIRS)
+ set( Cg_FOUND FALSE )
+endif(NOT Cg_INCLUDE_DIRS )
+
+if( NOT Cg_LIBRARIES )
+ set( Cg_Found FALSE )
+endif( NOT Cg_LIBRARIES )
+
=======================================
--- /dev/null
+++ /trunk/CMakeFindScripts/FindOpenGL.cmake Wed Jun 2 12:05:09 2010
@@ -0,0 +1,32 @@
+# CMake find script for OpenGL
+# Searches for OpenGL library at some predefines locations
+# Author: Vijay Michael Joseph
+
+if (APPLE)
+ set( SEARCH_PATHS /Library/Frameworks)
+ set( LIB_SEARCH_PATHS /Library/Frameworks)
+
+else (APPLE)
+ message(FindCg.cmake: Non apple config; please set the search path
here)
+
+endif (APPLE)
+
+set( OpenGL_INCLUDE_DIRS "" )
+# find the headers and libraries
+find_path( OpenGL_INCLUDE_DIRS opengl.h ${SEARCH_PATHS} )
+find_library( OpenGL_LIBRARIES opengl ${LIB_SEARCH_PATHS} )
+
+
+# assume that everythig went well
+set( OpenGL_FOUND TRUE)
+
+# check if we found both INCLUDE and LIBs
+if(NOT OpenGL_INCLUDE_DIRS)
+ set( OpenGL_FOUND FALSE )
+endif(NOT OpenGL_INCLUDE_DIRS )
+
+if( NOT OpenGL_LIBRARIES )
+ set( OpenGL_Found FALSE )
+endif( NOT OpenGL_LIBRARIES )
+
+message(OpenGL status: ${OpenGL_INCLUDE_DIRS} ${OpenGL_LIBRARIES} )
=======================================
--- /trunk/CMakeLists.txt Sun May 30 09:47:19 2010
+++ /trunk/CMakeLists.txt Wed Jun 2 12:05:09 2010
@@ -8,23 +8,34 @@
# project name
project(shaderz)
+# set path for find script heplers
+set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeFindScripts )
+
# dependencies: Qt4
find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED)
include(${QT_USE_FILE})
# dependency on Cg toolkit
-find_library(CGLib Cg)
+find_package(CG REQUIRED)
find_package(OpenGL REQUIRED)
-Message( CGStatus coming up: ${OpenGL_FOUND} ${OpenGL_LIBRARIES} )
+
+if(WIN32)
+ # get the external dependencies for OpenSceneGraph if running on windows
+ message("Settingup environment for windows. Downloading of 3rd party lib
dependencies for OpenSceneGraph.")
+ execute_process( COMMAND svn checkout
https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/3rdParty_win32binaries_vs80sp1/
${CMAKE_BINARY_DIR}/external/3rdParty )
+endif (WIN32)
set(OpenScenegraphLibPrefix
${CMAKE_BINARY_DIR}/external/build/OpenSceneGraph/lib)
externalproject_add(
OpenSceneGraph
+ PREFIX external/build/OpenSceneGraph
SOURCE_DIR external/OpenSceneGraph
BINARY_DIR external/build/OpenSceneGraph
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/external/build/OpenSceneGraph
DOWNLOAD_DIR external/OpenSceneGraph
- DOWNLOAD_COMMAND "" )
+ DOWNLOAD_COMMAND ""
+
SVN_REPOSITORY "http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk "
+ UPDATE_COMMAND svn "update" )
set(osgNVLibPrefix ${CMAKE_BINARY_DIR}/external/build/osgnv/lib)
ExternalProject_Add(
@@ -32,15 +43,29 @@
DEPENDS OpenSceneGraph
SOURCE_DIR "external/osgnv"
BINARY_DIR external/build/osgnv
+ PREFIX external/build/osgnv
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/external/build/osgnv
-DOPENSCENEGRAPH_LIB_DIR=${CMAKE_BINARY_DIR}/external/build/OpenSceneGraph/lib
-DOPENSCENEGRAPH_INCLUDE_DIR=${CMAKE_BINARY_DIR}/external/build/OpenSceneGraph/include
- DOWNLOAD_COMMAND "")
-
-# set the include path to new build of OpenSceneGraph, osgnv and
shaderz/include
+ DOWNLOAD_COMMAND ""
+ SVN_REPOSITORY "https://osgnv.svn.sourceforge.net/svnroot/osgnv"
+ UPDATE_COMMAND svn "update"
+ )
+
+
+# set the include path to new build of OpenSceneGraph, osgnv, cg, opengl
and shaderz/include
INCLUDE_DIRECTORIES(
+ ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/external/build/OpenSceneGraph/include
${CMAKE_BINARY_DIR}/external/build/osgnv/include
+ ${Cg_INCLUDE_DIRS}
+ ${OpenGL_INCLUDE_DIRS}
include )
+link_directories(
+ ${OpenScenegraphLibPrefix}
+ ${osgNVLibPrefix} )
+
+
+# setup for compiling shaderz
SET( SOURCES
src/main.cpp
src/shaderzmain.cpp
@@ -85,8 +110,7 @@
qt4_wrap_ui(GENERATED_SOURCES ${FORMS})
qt4_wrap_cpp(GENERATED_SOURCES ${MOCS})
-include_directories( "${CMAKE_BINARY_DIR}")
-link_directories( ${OpenScenegraphLibPrefix} ${osgNVLibPrefix} )
+
add_executable(
shaderz
@@ -100,11 +124,9 @@
target_link_libraries(
shaderz
${QT_LIBRARIES}
- osg osgDB osgUtil osgGA osgViewer osgText
+ osg osgDB osgUtil osgGA osgViewer osgText OpenThreads
osgNVCg osgNV osgNVExt
- /Library/Frameworks/Cg.framework
+ ${Cg_LIBRARIES}
${OpenGL_LIBRARIES}
)
-Message( status ${QT_LIBRARIES} )
-