Hi Robert,
Here are the files. Let me correct myself. When I got the latest
version from SVN, I did not have to make the correction. I thought I
had, sorry about that.
I had to make the correction to the files in the VPB version I had
previously gotten from SVN. I went ahead and attached them. I still
have the VPB I was trying to build. The dates on the files are 26 April
2009, so that is probably the date I got them from SVN.
Michael
On Sun, 2009-05-03 at 09:18 +0100, Robert Osfield wrote:
> Hi Michael,
>
> So in theory we have the same CMake version, but different results....
>
> Anyway could send me the modifications you made so I can review them.
>
> Thanks,
> Robert.
>
> On Sat, May 2, 2009 at 10:17 PM, Michael W. Hall <[email protected]> wrote:
> > Robert,
> >
> > I got the latest VPB from SVN and it built after I made the changes to
> > the files I mentioned below.
> >
> > I am using CMake 2.6-patch 2 on FC10 x86_64. I only have OSG 2.80
> > installed. I think all the issues I was having prior to this message
> > was that I had installed FC9 and then upgraded through FC10 betas. I
> > finally last Thursday wiped my system and installed FC10 fresh and OSG
> > built. The only issue I had was the Policy issue.
> >
> > Michael
> >
> > On Sat, 2009-05-02 at 08:58 +0100, Robert Osfield wrote:
> >> Hi Michael,
> >>
> >> What version of Cmake are you using?
> >>
> >> I'm using CMake 2.6.2 and don't see any warning.
> >>
> >> W.r.t you follow up email, it looks like VPB isn't finding the correct
> >> OSG version. Do you have multiple versions of the OSG installed?
> >> Which version of the VPB are you using?
> >>
> >> Robert.
> >>
> >> On Fri, May 1, 2009 at 8:39 PM, Michael W. Hall <[email protected]> wrote:
> >> > I get the following warning during the generate of ccmake for VPB:
> >> >
> >> > CMake Warning (dev) at src/vpb/CMakeLists.txt:38 (ADD_LIBRARY):
> >> > Policy CMP0003 should be set before this line. Add code such as
> >> >
> >> > if(COMMAND cmake_policy)
> >> > cmake_policy(SET CMP0003 NEW)
> >> > endif(COMMAND cmake_policy)
> >> >
> >> > as early as possible but after the most recent call to
> >> > cmake_minimum_required or cmake_policy(VERSION). This warning
> >> > appears
> >> > because target "vpb" links to some libraries for which the linker
> >> > must
> >> > search:
> >> >
> >> > -lpthread
> >> >
> >> > and other libraries with known full path:
> >> >
> >> > /usr/local/lib64/libosg.so
> >> >
> >> > CMake is adding directories in the second list to the linker search
> >> > path in
> >> > case they are needed to find libraries from the first list (for
> >> > backwards
> >> > compatibility with CMake 2.4). Set policy CMP0003 to OLD or NEW to
> >> > enable.....
> >> >
> >> > Could someone tell me how to fix this? My OSG is build and working. I
> >> > am running 2.8.0
> >> >
> >> > Thanks,
> >> > Michael
> >> >
> >> >
> >> > _______________________________________________
> >> > osg-users mailing list
> >> > [email protected]
> >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >> >
> >> _______________________________________________
> >> osg-users mailing list
> >> [email protected]
> >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> > _______________________________________________
> > osg-users mailing list
> > [email protected]
> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
#######################################################################################################
# macro for linking libraries that come from Findxxxx commands, so there is a variable that contains the
# full path of the library name. in order to differentiate release and debug, this macro get the
# NAME of the variables, so the macro gets as arguments the target name and the following list of parameters
# is intended as a list of variable names each one containing the path of the libraries to link to
# The existance of a varibale name with _DEBUG appended is tested and, in case it' s value is used
# for linking to when in debug mode
# the content of this library for linking when in debugging
#######################################################################################################
MACRO(LINK_WITH_VARIABLES TRGTNAME)
FOREACH(varname ${ARGN})
IF(${varname}_DEBUG)
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}}" debug "${${varname}_DEBUG}")
ELSE(${varname}_DEBUG)
TARGET_LINK_LIBRARIES(${TRGTNAME} "${${varname}}" )
ENDIF(${varname}_DEBUG)
ENDFOREACH(varname)
ENDMACRO(LINK_WITH_VARIABLES TRGTNAME)
MACRO(LINK_INTERNAL TRGTNAME)
FOREACH(LINKLIB ${ARGN})
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${LINKLIB}" debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
ENDFOREACH(LINKLIB)
ENDMACRO(LINK_INTERNAL TRGTNAME)
MACRO(LINK_EXTERNAL TRGTNAME)
FOREACH(LINKLIB ${ARGN})
TARGET_LINK_LIBRARIES(${TRGTNAME} "${LINKLIB}" )
ENDFOREACH(LINKLIB)
ENDMACRO(LINK_EXTERNAL TRGTNAME)
#######################################################################################################
# macro for common setup of core libraries: it links OPENGL_LIBRARIES in undifferentiated mode
#######################################################################################################
MACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
LINK_EXTERNAL(${CORELIB_NAME} ${OPENGL_LIBRARIES})
LINK_WITH_VARIABLES(${CORELIB_NAME} OPENTHREADS_LIBRARY)
IF(VIRTUALPLANETBUILDER_SONAMES)
SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION ${VIRTUALPLANETBUILDER_VERSION} SOVERSION ${VIRTUALPLANETBUILDER_SOVERSION})
ENDIF(VIRTUALPLANETBUILDER_SONAMES)
ENDMACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
#######################################################################################################
# macro for common setup of plugins, examples and applications it expect some variables to be set:
# either within the local CMakeLists or higher in hierarchy
# TARGET_NAME is the name of the folder and of the actually .exe or .so or .dll
# TARGET_TARGETNAME is the name of the target , this get buit out of a prefix, if present and TARGET_TARGETNAME
# TARGET_SRC are the sources of the target
# TARGET_H are the eventual headers of the target
# TARGET_LIBRARIES are the libraries to link to that are internal to the project and have d suffix for debug
# TARGET_EXTERNAL_LIBRARIES are external libraries and are not differentiated with d suffix
# TARGET_LABEL is the label IDE should show up for targets
##########################################################################################################
MACRO(SETUP_LINK_LIBRARIES)
######################################################################
#
# This set up the libraries to link to, it assumes there are two variable: one common for a group of examples or plagins
# kept in the variable TARGET_COMMON_LIBRARIES and an example or plugin specific kept in TARGET_ADDED_LIBRARIES
# they are combined in a single list checked for unicity
# the suffix ${CMAKE_DEBUG_POSTFIX} is used for differentiating optimized and debug
#
# a second variable TARGET_EXTERNAL_LIBRARIES hold the list of libraries not differentiated between debug and optimized
##################################################################################
SET(TARGET_LIBRARIES ${TARGET_COMMON_LIBRARIES})
FOREACH(LINKLIB ${TARGET_ADDED_LIBRARIES})
SET(TO_INSERT TRUE)
FOREACH (value ${TARGET_COMMON_LIBRARIES})
IF (${value} STREQUAL ${LINKLIB})
SET(TO_INSERT FALSE)
ENDIF (${value} STREQUAL ${LINKLIB})
ENDFOREACH (value ${TARGET_COMMON_LIBRARIES})
IF(TO_INSERT)
LIST(APPEND TARGET_LIBRARIES ${LINKLIB})
ENDIF(TO_INSERT)
ENDFOREACH(LINKLIB)
FOREACH(LINKLIB ${TARGET_LIBRARIES})
TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} optimized ${LINKLIB} debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
ENDFOREACH(LINKLIB)
FOREACH(LINKLIB ${TARGET_EXTERNAL_LIBRARIES})
TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${LINKLIB})
ENDFOREACH(LINKLIB)
IF(TARGET_LIBRARIES_VARS)
LINK_WITH_VARIABLES(${TARGET_TARGETNAME} ${TARGET_LIBRARIES_VARS})
ENDIF(TARGET_LIBRARIES_VARS)
ENDMACRO(SETUP_LINK_LIBRARIES)
############################################################################################
# this is the common set of command for all the plugins
#
MACRO(SETUP_PLUGIN PLUGIN_NAME)
SET(TARGET_NAME ${PLUGIN_NAME} )
#MESSAGE("in -->SETUP_PLUGIN<-- ${TARGET_NAME}-->${TARGET_SRC} <--> ${TARGET_H}<--")
## we have set up the target label and targetname by taking into account global prfix (osgdb_)
IF(NOT TARGET_TARGETNAME)
SET(TARGET_TARGETNAME "${TARGET_DEFAULT_PREFIX}${TARGET_NAME}")
ENDIF(NOT TARGET_TARGETNAME)
IF(NOT TARGET_LABEL)
SET(TARGET_LABEL "${TARGET_DEFAULT_LABEL_PREFIX} ${TARGET_NAME}")
ENDIF(NOT TARGET_LABEL)
# here we use the command to generate the library
IF (DYNAMIC_VIRTUALPLANETBUILDER)
ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} ${TARGET_H})
ELSE (DYNAMIC_VIRTUALPLANETBUILDER)
ADD_LIBRARY(${TARGET_TARGETNAME} STATIC ${TARGET_SRC} ${TARGET_H})
ENDIF(DYNAMIC_VIRTUALPLANETBUILDER)
#not sure if needed, but for plugins only msvc need the d suffix
IF(NOT MSVC)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX "")
ENDIF(NOT MSVC)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}")
SETUP_LINK_LIBRARIES()
#the installation path are differentiated for win32 that install in bib versus other architecture that install in lib${LIB_POSTFIX}/${VPB_PLUGINS}
IF(WIN32)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION bin )
ELSE(WIN32)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib${LIB_POSTFIX}/${VPB_PLUGINS} LIBRARY DESTINATION lib${LIB_POSTFIX}/${VPB_PLUGINS} )
ENDIF(WIN32)
ENDMACRO(SETUP_PLUGIN)
#################################################################################################################
# this is the macro for example and application setup
###########################################################
MACRO(SETUP_EXE IS_COMMANDLINE_APP)
#MESSAGE("in -->SETUP_EXE<-- ${TARGET_NAME}-->${TARGET_SRC} <--> ${TARGET_H}<--")
IF(NOT TARGET_TARGETNAME)
SET(TARGET_TARGETNAME "${TARGET_DEFAULT_PREFIX}${TARGET_NAME}")
ENDIF(NOT TARGET_TARGETNAME)
IF(NOT TARGET_LABEL)
SET(TARGET_LABEL "${TARGET_DEFAULT_LABEL_PREFIX} ${TARGET_NAME}")
ENDIF(NOT TARGET_LABEL)
IF(${IS_COMMANDLINE_APP})
ADD_EXECUTABLE(${TARGET_TARGETNAME} ${TARGET_SRC} ${TARGET_H})
ELSE(${IS_COMMANDLINE_APP})
IF(APPLE)
# SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VIRTUALPLANETBUILDER_MAJOR_VERSION}.${VIRTUALPLANETBUILDER_MINOR_VERSION}.${VIRTUALPLANETBUILDER_PATCH_VERSION}")
# Short Version is the "marketing version". It is the version
# the user sees in an information panel.
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VIRTUALPLANETBUILDER_MAJOR_VERSION}.${VIRTUALPLANETBUILDER_MINOR_VERSION}.${VIRTUALPLANETBUILDER_PATCH_VERSION}")
# Bundle version is the version the OS looks at.
SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VIRTUALPLANETBUILDER_MAJOR_VERSION}.${VIRTUALPLANETBUILDER_MINOR_VERSION}.${VIRTUALPLANETBUILDER_PATCH_VERSION}")
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "org.openscenegraph.${TARGET_TARGETNAME}" )
SET(MACOSX_BUNDLE_BUNDLE_NAME "${TARGET_NAME}" )
# SET(MACOSX_BUNDLE_ICON_FILE "myicon.icns")
# SET(MACOSX_BUNDLE_COPYRIGHT "")
# SET(MACOSX_BUNDLE_INFO_STRING "Info string, localized?")
ENDIF(APPLE)
IF(WIN32)
IF (REQUIRE_WINMAIN_FLAG)
SET(PLATFORM_SPECIFIC_CONTROL WIN32)
ENDIF(REQUIRE_WINMAIN_FLAG)
ENDIF(WIN32)
IF(APPLE)
IF(VPB_BUILD_APPLICATION_BUNDLES)
SET(PLATFORM_SPECIFIC_CONTROL MACOSX_BUNDLE)
ENDIF(VPB_BUILD_APPLICATION_BUNDLES)
ENDIF(APPLE)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
ADD_EXECUTABLE(${TARGET_TARGETNAME} ${PLATFORM_SPECIFIC_CONTROL} ${TARGET_SRC} ${TARGET_H})
ENDIF(${IS_COMMANDLINE_APP})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES OUTPUT_NAME ${TARGET_NAME})
SETUP_LINK_LIBRARIES()
ENDMACRO(SETUP_EXE)
# Takes optional second argument (is_commandline_app?) in ARGV1
MACRO(SETUP_APPLICATION APPLICATION_NAME)
SET(TARGET_NAME ${APPLICATION_NAME} )
IF(${ARGC} GREATER 1)
SET(IS_COMMANDLINE_APP ${ARGV1})
ELSE(${ARGC} GREATER 1)
SET(IS_COMMANDLINE_APP 0)
ENDIF(${ARGC} GREATER 1)
SETUP_EXE(${IS_COMMANDLINE_APP})
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin )
ENDMACRO(SETUP_APPLICATION)
MACRO(SETUP_COMMANDLINE_APPLICATION APPLICATION_NAME)
SETUP_APPLICATION(${APPLICATION_NAME} 1)
ENDMACRO(SETUP_COMMANDLINE_APPLICATION)
# Takes optional second argument (is_commandline_app?) in ARGV1
MACRO(SETUP_EXAMPLE EXAMPLE_NAME)
SET(TARGET_NAME ${EXAMPLE_NAME} )
IF(${ARGC} GREATER 1)
SET(IS_COMMANDLINE_APP ${ARGV1})
ELSE(${ARGC} GREATER 1)
SET(IS_COMMANDLINE_APP 0)
ENDIF(${ARGC} GREATER 1)
SETUP_EXE(${IS_COMMANDLINE_APP})
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin )
ENDMACRO(SETUP_EXAMPLE)
MACRO(SETUP_COMMANDLINE_EXAMPLE EXAMPLE_NAME)
SETUP_EXAMPLE(${EXAMPLE_NAME} 1)
ENDMACRO(SETUP_COMMANDLINE_EXAMPLE)
IF (DYNAMIC_VIRTUALPLANETBUILDER)
ADD_DEFINITIONS(-DVPB_LIBRARY)
ELSE (DYNAMIC_VIRTUALPLANETBUILDER)
ADD_DEFINITIONS(-DVPB_LIBRARY_STATIC)
ENDIF(DYNAMIC_VIRTUALPLANETBUILDER)
SET(LIB_NAME vpb)
SET(HEADER_PATH ${VIRTUALPLANETBUILDER_SOURCE_DIR}/include/${LIB_NAME})
SET(LIB_PUBLIC_HEADERS
${HEADER_PATH}/BuildLog
${HEADER_PATH}/BuildOperation
${HEADER_PATH}/BuildOptions
${HEADER_PATH}/Commandline
${HEADER_PATH}/DatabaseBuilder
${HEADER_PATH}/DataSet
${HEADER_PATH}/Date
${HEADER_PATH}/Destination
${HEADER_PATH}/Export
${HEADER_PATH}/FileCache
${HEADER_PATH}/FileDetails
${HEADER_PATH}/FileUtils
${HEADER_PATH}/GeospatialDataset
${HEADER_PATH}/MachinePool
${HEADER_PATH}/ObjectPlacer
${HEADER_PATH}/PropertyFile
${HEADER_PATH}/Serializer
${HEADER_PATH}/ShapeFilePlacer
${HEADER_PATH}/Source
${HEADER_PATH}/SourceData
${HEADER_PATH}/SpatialProperties
${HEADER_PATH}/System
${HEADER_PATH}/Task
${HEADER_PATH}/TaskManager
${HEADER_PATH}/ThreadPool
${HEADER_PATH}/Version
)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
ADD_LIBRARY(${LIB_NAME}
${VIRTUALPLANETBUILDER_USER_DEFINED_DYNAMIC_OR_STATIC}
${LIB_PUBLIC_HEADERS}
BuildLog.cpp
BuildOperation.cpp
BuildOptions.cpp
BuildOptionsIO.cpp
Commandline.cpp
DatabaseBuilder.cpp
DatabaseBuilderIO.cpp
DataSet.cpp
Date.cpp
Destination.cpp
ExtrudeVisitor.cpp
FileCache.cpp
FileDetails.cpp
FileUtils.cpp
GeospatialDataset.cpp
HeightFieldMapper.cpp
MachinePool.cpp
ObjectPlacer.cpp
PropertyFile.cpp
ShapeFilePlacer.cpp
Source.cpp
SourceData.cpp
SpatialProperties.cpp
System.cpp
Task.cpp
TaskManager.cpp
ThreadPool.cpp
Version.cpp
)
INCLUDE_DIRECTORIES( ${GDAL_INCLUDE_DIR} ${OSG_INCLUDE_DIR} )
IF (WIN32)
LINK_EXTERNAL(${LIB_NAME} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIBRARY} ${GDAL_LIBRARY} Ws2_32.lib)
ELSE(WIN32)
LINK_EXTERNAL(${LIB_NAME} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIBRARY} ${GDAL_LIBRARY})
ENDIF(WIN32)
LINK_WITH_VARIABLES(${LIB_NAME} OSG_LIBRARY OSGUTIL_LIBRARY OSGSIM_LIBRARY OSGTERRAIN_LIBRARY OSGDB_LIBRARY OSGFX_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
LINK_CORELIB_DEFAULT(${LIB_NAME} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIBRARY} )
INCLUDE(ModuleInstall OPTIONAL)
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org