1#------------------------------------------------------------------- 2# This file is part of the CMake build system for OGRE 3# (Object-oriented Graphics Rendering Engine) 4# For the latest info, see http://www.ogre3d.org/ 5# 6# The contents of this file are placed in the public domain. Feel 7# free to make use of it in any way you like. 8#------------------------------------------------------------------- 9 10# - Try to find Cg 11# Once done, this will define 12# 13# Cg_FOUND - system has Cg 14# Cg_INCLUDE_DIRS - the Cg include directories 15# Cg_LIBRARIES - link these to use Cg 16 17include(FindPkgMacros) 18findpkg_begin(Cg) 19 20# Get path, convert backslashes as ${ENV_${var}} 21getenv_path(Cg_HOME) 22getenv_path(OGRE_SOURCE) 23getenv_path(OGRE_HOME) 24 25# construct search paths 26set(Cg_PREFIX_PATH ${Cg_HOME} ${ENV_Cg_HOME} 27 ${OGRE_SOURCE}/Dependencies 28 ${ENV_OGRE_SOURCE}/Dependencies 29 ${OGRE_HOME} ${ENV_OGRE_HOME} 30 /opt/nvidia-cg-toolkit) 31create_search_paths(Cg) 32# redo search if prefix path changed 33clear_if_changed(Cg_PREFIX_PATH 34 Cg_LIBRARY_FWK 35 Cg_LIBRARY_REL 36 Cg_LIBRARY_DBG 37 Cg_INCLUDE_DIR 38) 39 40set(Cg_LIBRARY_NAMES Cg cg) 41get_debug_names(Cg_LIBRARY_NAMES) 42 43use_pkgconfig(Cg_PKGC Cg) 44 45findpkg_framework(Cg) 46 47find_path(Cg_INCLUDE_DIR NAMES cg.h HINTS ${Cg_FRAMEWORK_INCLUDES} ${Cg_INC_SEARCH_PATH} ${Cg_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Cg) 48 49if (CMAKE_CL_64) 50 set (Cg_LIB_SEARCH_PATH ${Cg_HOME}/lib.x64 ${ENV_Cg_LIB64_PATH} 51 ${ENV_Cg_HOME}/lib.x64 ${Cg_LIB_SEARCH_PATH}) 52else() 53 set (Cg_LIB_SEARCH_PATH ${Cg_HOME}/lib ${ENV_Cg_LIB_PATH} 54 ${ENV_Cg_HOME}/lib ${Cg_LIB_SEARCH_PATH}) 55endif() 56 57find_library(Cg_LIBRARY_REL NAMES ${Cg_LIBRARY_NAMES} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) 58find_library(Cg_LIBRARY_DBG NAMES ${Cg_LIBRARY_NAMES_DBG} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) 59make_library_set(Cg_LIBRARY) 60 61if (WIN32) 62 if (CMAKE_CL_64) 63 set(Cg_BIN_SEARCH_PATH ${OGRE_DEPENDENCIES_DIR}/bin ${CMAKE_SOURCE_DIR}/Dependencies/bin ${Cg_HOME}/bin.x64 64 ${ENV_Cg_BIN64_PATH} ${ENV_Cg_HOME}/bin.x64 ${ENV_OGRE_DEPENDENCIES_DIR}/bin 65 ${OGRE_SOURCE}/Dependencies/bin ${ENV_OGRE_SOURCE}/Dependencies/bin 66 ${OGRE_SDK}/bin ${ENV_OGRE_SDK}/bin 67 ${OGRE_HOME}/bin ${ENV_OGRE_HOME}/bin) 68 else() 69 set(Cg_BIN_SEARCH_PATH ${OGRE_DEPENDENCIES_DIR}/bin ${CMAKE_SOURCE_DIR}/Dependencies/bin ${Cg_HOME}/bin 70 ${ENV_Cg_BIN_PATH} ${ENV_Cg_HOME}/bin ${ENV_OGRE_DEPENDENCIES_DIR}/bin 71 ${OGRE_SOURCE}/Dependencies/bin ${ENV_OGRE_SOURCE}/Dependencies/bin 72 ${OGRE_SDK}/bin ${ENV_OGRE_SDK}/bin 73 ${OGRE_HOME}/bin ${ENV_OGRE_HOME}/bin) 74 endif() 75 find_file(Cg_BINARY_REL NAMES "cg.dll" HINTS ${Cg_BIN_SEARCH_PATH} 76 PATH_SUFFIXES "" release relwithdebinfo minsizerel) 77 find_file(Cg_BINARY_DBG NAMES "cg.dll" HINTS ${Cg_BIN_SEARCH_PATH} 78 PATH_SUFFIXES "" debug ) 79endif() 80mark_as_advanced(Cg_BINARY_REL Cg_BINARY_DBG) 81 82findpkg_finish(Cg) 83add_parent_dir(Cg_INCLUDE_DIRS Cg_INCLUDE_DIR) 84