# Only execute commands if file was not included already if (NOT INVRS_CONFIG_CMAKE_LOADED) include (${INVRS_SOURCE_DIR}/user.cmake) # search for cmake modules in this directory: set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${INVRS_SOURCE_DIR}/cmake ) # Set a default build type if no build type is set # (CACHE variables are only set if they don't already have a value) set (CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (Release/Debug)") # when first generating the cache, cache-variables are not instantly available (only at subsequent runs): if (NOT CMAKE_BUILD_TYPE) set (CMAKE_BUILD_TYPE Release) endif (NOT CMAKE_BUILD_TYPE) if ( NOT ${CMAKE_VERSION} VERSION_LESS "2.8" ) # cmake >= 2.8 provides combo-boxes: set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Release Debug) endif ( NOT ${CMAKE_VERSION} VERSION_LESS "2.8" ) # Set the default install prefix to the inVRs directory if not already set in # user.cmake if (NOT INVRS_INSTALL_PREFIX) set (INVRS_INSTALL_PREFIX ${INVRS_SOURCE_DIR}) endif (NOT INVRS_INSTALL_PREFIX) #cmake_policy (SET CMP0005 OLD) # Set include-path for irrXML set (IRRXML_INCLUDE_DIR ${INVRS_SOURCE_DIR}/external/irrxml-1.2/src) ############################################################################### # Find OpenSG path and set Compiler/Linker flags ############################################################################### # the user can decide in the gui, for which version of OpenSG he wants to build inVrs: set (BUILD_FOR_OPENSG_VERSION "AUTO" CACHE STRING "Decide which version of OpenSG to build against. AUTO for autodetection, 1 for OpenSG-1.x, 2 for OpenSG-2.x" ) # the FindOpenSG script can use OPENSG_ROOT to find the correct location of OpenSG: set (OPENSG_ROOT "" CACHE STRING "The prefix of your OpenSG installation (e.g. /usr/local)" ) mark_as_advanced( OPENSG_ROOT ) ### SET OPENSG_VERSION ### if ( ${BUILD_FOR_OPENSG_VERSION} STREQUAL "AUTO" ) # try executing opensg2?-config: foreach ( _osgconfig "osg2-config" "osg-config" "osg1-config" ) get_filename_component( _osgconfig ${_osgconfig} PROGRAM) if ( _osgconfig ) execute_process ( COMMAND ${_osgconfig} "--version" RESULT_VARIABLE _exitcode OUTPUT_VARIABLE OPENSG_VERSION ) if ( _exitcode EQUAL 0 ) # success -> OPENSG_VERSION is set; osg-config does work set (OPENSG_BIN_EXECUTABLE ${_osgconfig}) break() endif ( _exitcode EQUAL 0 ) endif ( _osgconfig ) endforeach ( _osgconfig ) if ( NOT _exitcode EQUAL 0 ) message ( FATAL_ERROR "Could not determine OpenSG-Version automatically! Please set BUILD_FOR_OPENSG_VERSION..." ) endif ( NOT _exitcode EQUAL 0 ) string ( STRIP ${OPENSG_VERSION} OPENSG_VERSION) message (STATUS "OpenSG seems to be version ${OPENSG_VERSION}") elseif ( ${BUILD_FOR_OPENSG_VERSION} MATCHES "[12]" ) set (OPENSG_VERSION ${BUILD_FOR_OPENSG_VERSION} ) endif ( ${BUILD_FOR_OPENSG_VERSION} STREQUAL "AUTO" ) string(TOLOWER ${OPENSG_VERSION} OPENSG_VERSION ) # derive OPENSG_VERSION_MAJOR from OPENSG_VERSION: # the version strings "opensg-1.8", "1.8", "1.8.0", "1" all yield OPENSG_VERSION_MAJOR to be "1" string(REGEX REPLACE "(opensg-)?([1-9]).*" "\\2" OPENSG_VERSION_MAJOR ${OPENSG_VERSION}) ### CALL FindOpenSG.cmake ### if ( "${OPENSG_VERSION_MAJOR}" STREQUAL "1" ) message (STATUS "OpenSG version 1.x detected. Using old FindOpenSG script...") # OpenSG 1.x # use old component names: set (OPENSG_COMPONENTS Base System GLUT) # use old script: include (${INVRS_SOURCE_DIR}/cmake/FindOpenSG1.cmake) # build-types available with osg-config: set (OPENSG_OSGCONFIG_BUILDTYPES "opt" "dbg") # osg-config in OpenSG1.x uses --libs to show both "-llib" and "-Ldir" statements set (OPENSG_OSGCONFIG_LLIBS "--libs") # for compatibility: if ( NOT OPENSG_BIN_EXECUTABLE ) set (OPENSG_BIN_EXECUTABLE "${OpenSG_BIN_DIR}/osg-config" ) endif ( NOT OPENSG_BIN_EXECUTABLE ) else ( "${OPENSG_VERSION_MAJOR}" STREQUAL "1" ) # OpenSG 2.x if ( NOT OPENSG_ROOT ) if ( EXISTS "$ENV{OPENSG_ROOT}" ) message(STATUS "Using OPENSG_ROOT from environment.") set (OPENSG_ROOT $ENV{OPENSG_ROOT} ) else ( EXISTS "$ENV{OPENSG_ROOT}" ) if ( NOT OPENSG_BIN_EXECUTABLE ) # if osg2-config does not exist in the path, OPENSG_BIN_EXECUTABLE is set to the empty string! get_filename_component(OPENSG_BIN_EXECUTABLE "osg2-config" PROGRAM) endif ( NOT OPENSG_BIN_EXECUTABLE ) if ( OPENSG_BIN_EXECUTABLE ) message(STATUS "Trying to determine OPENSG_ROOT from location of osg2-config." ) get_filename_component(OPENSG_ROOT ${OPENSG_BIN_EXECUTABLE} PATH) get_filename_component(OPENSG_ROOT "${OPENSG_ROOT}/.." ABSOLUTE) else ( OPENSG_BIN_EXECUTABLE ) message ( STATUS "Couldn't determine OPENSG_ROOT. Maybe find_package(OpenSG) still finds it, but if not please set OPENSG_ROOT." ) endif ( OPENSG_BIN_EXECUTABLE ) endif ( EXISTS "$ENV{OPENSG_ROOT}" ) endif ( NOT OPENSG_ROOT ) if ( NOT OPENSG_BIN_EXECUTABLE ) # the name for osg2-config: set (OPENSG_BIN_EXECUTABLE "${OPENSG_ROOT}/bin/osg2-config" ) endif ( NOT OPENSG_BIN_EXECUTABLE ) # build-types available with osg-config: set (OPENSG_OSGCONFIG_BUILDTYPES "opt" "dbg" "dbgrt") # osg-config in OpenSG2.x uses --llibs to show both "-llib" and "-Ldir" statements set (OPENSG_OSGCONFIG_LLIBS "--llibs") # OPENSG_COMPONENTS is used for finding the OpenSG package, as # well as for calling osg2-config: set (OPENSG_COMPONENTS OSGBase OSGSystem OSGWindowGLUT) # FindOpenSG for OpenSG2: find_package(OpenSG REQUIRED COMPONENTS ${OPENSG_COMPONENTS}) endif ( "${OPENSG_VERSION_MAJOR}" STREQUAL "1" ) # WIN32 does not use osg-config: if ( NOT WIN32 ) ### TEST IF osg-config works ### if ( NOT EXISTS ${OPENSG_BIN_EXECUTABLE} ) message ( SEND_ERROR "OpenSG configuration utility (osg-config) was not found in ${OPENSG_BIN_EXECUTABLE}!" ) endif ( NOT EXISTS ${OPENSG_BIN_EXECUTABLE} ) ### CHECK WHICH BUILD_TYPES ARE SUPPORTED IN OPENSG ### include ( CheckCXXSourceCompiles ) foreach ( _type ${OPENSG_OSGCONFIG_BUILDTYPES} ) execute_process ( COMMAND ${OPENSG_BIN_EXECUTABLE} --${_type} --cflags ${OPENSG_COMPONENTS} OUTPUT_VARIABLE CMAKE_REQUIRED_DEFINITIONS) string(STRIP ${CMAKE_REQUIRED_DEFINITIONS} CMAKE_REQUIRED_DEFINITIONS) execute_process ( COMMAND ${OPENSG_BIN_EXECUTABLE} --${_type} ${OPENSG_OSGCONFIG_LLIBS} ${OPENSG_COMPONENTS} OUTPUT_VARIABLE CMAKE_REQUIRED_LIBRARIES) string (STRIP ${CMAKE_REQUIRED_LIBRARIES} CMAKE_REQUIRED_LIBRARIES) string (TOUPPER ${_type} _TYPE ) CHECK_CXX_SOURCE_COMPILES("#include \nint main() { return 0;}" OPENSG_HAVE_BUILD_TYPE_${_TYPE}) endforeach ( _type ) ### SET WHICH OPENSG BUILD_TYPES TO USE WITH EACH CMAKE_BUILD_TYPE ### if ( OPENSG_HAVE_BUILD_TYPE_OPT ) set ( OPENSG_BUILD_TYPE_RELEASE "--opt" ) if ( OPENSG_HAVE_BUILD_TYPE_DBG ) set ( OPENSG_BUILD_TYPE_DEBUG "--dbg" ) elseif ( OPENSG_HAVE_BUILD_TYPE_DBGRT ) set ( OPENSG_BUILD_TYPE_DEBUG "--dbgrt" ) endif ( OPENSG_HAVE_BUILD_TYPE_DBG ) elseif ( OPENSG_HAVE_BUILD_TYPE_DBGRT ) set ( OPENSG_BUILD_TYPE_RELEASE "--dbgrt" ) if ( OPENSG_HAVE_BUILD_TYPE_DBG ) set ( OPENSG_BUILD_TYPE_DEBUG "--dbg" ) else ( OPENSG_HAVE_BUILD_TYPE_DBG ) set ( OPENSG_BUILD_TYPE_DEBUG "--dbgrt" ) endif ( OPENSG_HAVE_BUILD_TYPE_DBG ) elseif ( OPENSG_HAVE_BUILD_TYPE_DBG ) set ( OPENSG_BUILD_TYPE_RELEASE "--dbg" ) set ( OPENSG_BUILD_TYPE_DEBUG "--dbg" ) else ( OPENSG_HAVE_BUILD_TYPE_OPT ) message (SEND_ERROR "Cannot build C++ programs using the flags supplied by ${OPENSG_BIN_EXECUTABLE} (using the build types: ${OPENSG_OSGCONFIG_BUILDTYPES})!" ) endif ( OPENSG_HAVE_BUILD_TYPE_OPT ) endif ( NOT WIN32 ) if (WIN32) set (OPENSG_CXX_FLAGS_DEBUG "/D WIN32 /D _LIB /D _DEBUG /D _WINDOWS /D _OSG_HAVE_CONFIGURED_H_ /D OSG_BUILD_DLL /D OSG_DEBUG /D OSG_WITH_GLUT /D OSG_WITH_GIF /D OSG_WITH_TIF /D OSG_WITH_JPG") set (OPENSG_CXX_FLAGS_RELEASE "/D WIN32 /D _LIB /D _WINDOWS /D _OSG_HAVE_CONFIGURED_H_ /D OSG_BUILD_DLL /D OSG_WITH_GLUT /D OSG_WITH_GIF /D OSG_WITH_TIF /D OSG_WITH_JPG") include_directories (${OPENSG_DIR}/include) link_directories (${OPENSG_DIR}/lib) # in this case we can't get the information later-on from the flags: list (APPEND INVRS_EXPORT_INCLUDE_DIRS ${OPENSG_DIR}/include) list (APPEND INVRS_EXPORT_LIBRARY_DIRS ${OPENSG_DIR}/lib) string( TOUPPER ${CMAKE_BUILD_TYPE} tmp_bt) set (INVRS_EXPORT_DEFINITIONS "/D WIN32 /D _LIB /D _WINDOWS /D _OSG_HAVE_CONFIGURED_H_ /D OSG_BUILD_DLL /D OSG_WITH_GLUT /D OSG_WITH_GIF /D OSG_WITH_TIF /D OSG_WITH_JPG") if (${tmp_bt} STREQUAL "DEBUG") set (INVRS_EXPORT_DEFINITIONS "${INVRS_EXPORT_DEFINITIONS} /D _DEBUG /D OSG_DEBUG") endif (${tmp_bt} STREQUAL "DEBUG") elseif (APPLE AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_DEBUG} --cflags ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_CXX_FLAGS_DEBUG) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_RELEASE} --cflags ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_CXX_FLAGS_RELEASE) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_DEBUG} ${OPENSG_OSGCONFIG_LLIBS} ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_LINKER_FLAGS_DEBUG) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_RELEASE} ${OPENSG_OSGCONFIG_LLIBS} ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_LINKER_FLAGS_RELEASE) elseif (UNIX) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_DEBUG} --cflags ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_CXX_FLAGS_DEBUG) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_RELEASE} --cflags ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_CXX_FLAGS_RELEASE) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_DEBUG} ${OPENSG_OSGCONFIG_LLIBS} ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_LINKER_FLAGS_DEBUG) exec_program (${OPENSG_BIN_EXECUTABLE} ARGS ${OPENSG_BUILD_TYPE_RELEASE} ${OPENSG_OSGCONFIG_LLIBS} ${OPENSG_COMPONENTS} OUTPUT_VARIABLE OPENSG_LINKER_FLAGS_RELEASE) else (WIN32) message (SEND_ERROR "Could not determine target system") endif (WIN32) if (NOT WIN32) # process CXX_FLAGS: string( TOUPPER ${CMAKE_BUILD_TYPE} tmp_bt) set (tmp ${OPENSG_CXX_FLAGS_${tmp_bt}}) string( REGEX REPLACE "\ -[I][^ ]*" "" tmp " ${tmp}") #remove -I entries string( REPLACE " " ";" tmp "${tmp}") list ( APPEND INVRS_EXPORT_DEFINITIONS ${tmp} ) string( REGEX REPLACE ";[;]+" ";" INVRS_EXPORT_DEFINITIONS "${INVRS_EXPORT_DEFINITIONS}") set (tmp ${OPENSG_CXX_FLAGS_${tmp_bt}}) string( REGEX REPLACE "\ -[^I][^ ]*" "" tmp " ${tmp}") #remove everything but -I string( REPLACE "-I" "" tmp "${tmp}") string( REPLACE " " ";" tmp "${tmp}") list ( APPEND INVRS_EXPORT_INCLUDE_DIRS ${tmp} ) string( REGEX REPLACE ";[;]+" ";" INVRS_EXPORT_INCLUDE_DIRS "${INVRS_EXPORT_INCLUDE_DIRS}") # process LINKER_FLAGS: set (tmp ${OPENSG_LINKER_FLAGS_${tmp_bt}}) string( REGEX REPLACE "\ -[lL][^ ]*" "" tmp " ${tmp}") #remove -l and -L entries string( REGEX REPLACE "\ -[Ff]ramework [^ ]*" "" tmp " ${tmp}") #remove -framework entries string( REPLACE " " ";" tmp "${tmp}") list ( APPEND INVRS_EXPORT_DEFINITIONS "${tmp}" ) string( REGEX REPLACE ";[;]+" ";" INVRS_EXPORT_DEFINITIONS "${INVRS_EXPORT_DEFINITIONS}") set (tmp ${OPENSG_LINKER_FLAGS_${tmp_bt}}) string( REGEX REPLACE "\ -[Ff]ramework [^ ]*" "" tmp " ${tmp}") #remove all framework entries string( REGEX REPLACE "\ -[^l][^ ]*" "" tmp " ${tmp}") #remove everything but -l string( REPLACE "-l" "" tmp "${tmp}") string( REPLACE " " ";" tmp "${tmp}") list ( APPEND INVRS_EXPORT_LIBRARIES ${tmp} ) string( REGEX REPLACE ";[;]+" ";" INVRS_EXPORT_LIBRARIES "${INVRS_EXPORT_LIBRARIES}") set (tmp ${OPENSG_LINKER_FLAGS_${tmp_bt}}) string( REGEX REPLACE "\ -[Ff]ramework [^ ]*" "" tmp " ${tmp}") #remove all framework entries string( REGEX REPLACE "\ -[^L][^ ]*" "" tmp " ${tmp}") #remove everything but -L string( REPLACE "-L" "" tmp "${tmp}") string( REPLACE " " ";" tmp "${tmp}") list ( APPEND INVRS_EXPORT_LIBRARY_DIRS ${tmp} ) string( REGEX REPLACE ";[;]+" ";" INVRS_EXPORT_LIBRARY_DIRS "${INVRS_EXPORT_LIBRARY_DIRS}") set (tmp ${OPENSG_LINKER_FLAGS_${tmp_bt}}) string( REGEX MATCHALL "\ -[Ff]ramework [^ ]*" tmp " ${tmp}") #filter out -framework entries string( REGEX REPLACE "\ -[Ff]ramework " "" tmp "${tmp}") if ( ${tmp} ) list ( APPEND INVRS_EXPORT_FRAMEWORKS ${tmp} ) endif( ${tmp} ) string( REGEX REPLACE ";[;]+" ";" INVRS_EXPORT_FRAMEWORKS "${INVRS_EXPORT_FRAMEWORKS}") # RLANDER: unset removed because not defined in some cmake versions #unset(tmp) #unset(tmp_bt) endif (NOT WIN32) ############################################################################### # Find GMTL include path ############################################################################### # include (${INVRS_SOURCE_DIR}/cmake/findGMTL.cmake) # GMTL is now always used from external directory set (GMTL_INCLUDE_DIR ${INVRS_SOURCE_DIR}/external/gmtl-0.6.1) #will be installed into target dir which is already appended #list (APPEND INVRS_EXPORT_INCLUDE_DIRS ${GMTL_INCLUDE_DIR} ) ############################################################################### # Find GLUT headers and libraries ############################################################################### include (${INVRS_SOURCE_DIR}/cmake/findGLUT.cmake) include_directories (${GLUT_INCLUDE_DIR}) list (APPEND INVRS_EXPORT_INCLUDE_DIRS ${GLUT_INCLUDE_DIR} ) #if (WIN32) # include (${INVRS_SOURCE_DIR}/cmake/findGLUT_Windows.cmake) # include_directories (${GLUT_INCLUDE_DIR}) # link_directories (${GLUT_LIBRARY_DIR}) #elseif (APPLE AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # include (${INVRS_SOURCE_DIR}/cmake/findGLUT_MACOSX.cmake) # include_directories (${GLUT_INCLUDE_DIR}) # link_directories (${GLUT_LIBRARY_DIR}) #endif (WIN32) # Set Compiler flags if (NOT WIN32) set (CMAKE_CXX_FLAGS "-fPIC ${USERDEFINED_CXX_FLAGS}") set (CMAKE_CXX_FLAGS_PROFILE "-O3 -g -DNDEBUG -fPIC ${USERDEFINED_CXX_FLAGS}") set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG -fPIC ${USERDEFINED_CXX_FLAGS}") list (APPEND INVRS_EXPORT_DEFINITIONS "-fPIC") else (NOT WIN32) if (UNIX) #mingw, cygwin etc. message (FATAL_ERROR "Found unsupported operating system: Only Windows and Linux systems are supported!") else (UNIX) #pure win32 if (MSVC70 OR MSVC71) set (CMAKE_CXX_FLAGS "/D _WIN32 /D _WINSOCKAPI_ /Gy /GR /EHsc /W1 /nologo /c /TP /wd4005 /wd4103") set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "") set (CMAKE_CXX_FLAGS_DEBUG "/Od /ZI /D DEBUG /MDd /Gm /RTC1 /RTCc") set (CMAKE_CXX_FLAGS_RELEASE "/Ob2 /Oi /Ot /D NDEBUG /GL /MD") elseif (MSVC90) set (CMAKE_CXX_FLAGS "/D _WIN32 /D _WINSOCKAPI_ /MP /Gy /EHsc /W1 /nologo /c /TP /wd4005 /wd4103") set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "") set (CMAKE_CXX_FLAGS_DEBUG "/Od /ZI /D DEBUG /MDd /RTC1 /RTCc /fp:except") set (CMAKE_CXX_FLAGS_RELEASE "/Ob2 /Oi /Ot /D NDEBUG /GL /MD /fp:fast") else (MSVC70 OR MSVC71) set (CMAKE_CXX_FLAGS "/D _WIN32 /D _WINSOCKAPI_ /MP /Gy /EHsc /W1 /nologo /c /TP /wd4005 /wd4103") set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "") set (CMAKE_CXX_FLAGS_DEBUG "/Od /ZI /D DEBUG /MDd /Gm /RTC1 /RTCc /fp:except") set (CMAKE_CXX_FLAGS_RELEASE "/Ob2 /Oi /Ot /D NDEBUG /GL /MD /fp:fast") endif (MSVC70 OR MSVC71) endif (UNIX) endif (NOT WIN32) set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OPENSG_CXX_FLAGS_RELEASE} ${USERDEFINED_CXX_FLAGS}") set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${OPENSG_CXX_FLAGS_DEBUG} ${USERDEFINED_CXX_FLAGS}") set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${OPENSG_LINKER_FLAGS_RELEASE}") set (CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${OPENSG_LINKER_FLAGS_DEBUG}") set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${OPENSG_LINKER_FLAGS_RELEASE}") set (CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${OPENSG_LINKER_FLAGS_DEBUG}") # set formatting for eclipse output if (CMAKE_COMPILER_IS_GNUCC) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif (CMAKE_COMPILER_IS_GNUCC) if (CMAKE_COMPILER_IS_GNUCXX) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif (CMAKE_COMPILER_IS_GNUCXX) #message (STATUS "OPENSG_CXX_FLAGS_RELEASE = ${OPENSG_CXX_FLAGS_RELEASE}") #message (STATUS "OPENSG_CXX_FLAGS_DEBUG = ${OPENSG_CXX_FLAGS_DEBUG}") #message (STATUS "OPENSG_LINKER_FLAGS_RELEASE = ${OPENSG_LINKER_FLAGS_RELEASE}") #message (STATUS "OPENSG_LINKER_FLAGS_DEBUG = ${OPENSG_LINKER_FLAGS_DEBUG}") # force single line messages for gcc ( no line wrap for better eclipse support) #if (CMAKE_COMPILER_IS_GNUCC) # set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0 -fPIC") # set (CMAKE_C_FLAGS_RELEASE "${OPENSG_CXX_FLAGS_RELEASE} ${CMAKE_C_FLAGS_RELEASE}") # set (CMAKE_C_FLAGS_DEBUG "${OPENSG_CXX_FLAGS_DEBUG} ${CMAKE_C_FLAGS_DEBUG}") # set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${OPENSG_LINKER_FLAGS_RELEASE} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}") # set (CMAKE_EXE_LINKER_FLAGS_DEBUG "${OPENSG_LINKER_FLAGS_DEBUG} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}") #endif (CMAKE_COMPILER_IS_GNUCC) #if (CMAKE_COMPILER_IS_GNUCXX) # set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0 -fPIC") # set (CMAKE_CXX_FLAGS_RELEASE "${OPENSG_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}") # set (CMAKE_CXX_FLAGS_DEBUG "${OPENSG_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}") # set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${OPENSG_LINKER_FLAGS_RELEASE} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}") # set (CMAKE_EXE_LINKER_FLAGS_DEBUG "${OPENSG_LINKER_FLAGS_DEBUG} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}") #endif (CMAKE_COMPILER_IS_GNUCXX) # use environment variables to determine includes and libs #IF(NOT WIN32) #STRING(REGEX REPLACE ":" ";" CXX_INCLUDE_DIRS "$ENV{CPLUS_INCLUDE_PATH}") #STRING(REGEX REPLACE ":" ";" LD_LIBRARY_DIRS "$ENV{LD_LIBRARY_PATH}") #ELSE(NOT WIN32) #ENDIF(NOT WIN32) include_directories (${INVRS_SOURCE_DIR}/src ${INVRS_SOURCE_DIR}/tools/libraries ${GMTL_INCLUDE_DIR} ${IRRXML_INCLUDE_DIR}) # allow header-files to differ between build-time and installed-time # i.e. some header files use #ifdefs, which are then "baked" into a # separate header-file, which is only included when inVRs is installed: # #ifdef INVRS_BUILD_TIME # # include "config.h" # #endif add_definitions( -DINVRS_BUILD_TIME ) set (INVRS_CONFIG_CMAKE_LOADED ON) endif (NOT INVRS_CONFIG_CMAKE_LOADED)