consider these initial cpack support scripts. It is hidden behind a BUILD_PACKAGES option so won't affect the normal user. The submission 1) set the COMPONENT attribute on all cmake install commands. COMPONENT names are according to http://www.openscenegraph.org/projects/osg/wiki/Community/Packaging 2) provide cmake script and a template for creating CPack configuration files. It will generate target for creating packages with everything that gets "installed" (make package on unx, project PACKAGE in MSVC) plus targets for generating one package per COMPONENT (i.e. libopenscenegraph-core etc.). I have temporariliy uploaded some examples to http://www.openscenegraph.org/projects/osg/wiki/Community/People/MattiasHelsing If this submission makes it into svn we can develop it to generate rpms, installers for windows and mac (I know at least J-S don't like these but there may be others who do ;) and even DEBs (not sure if we can make them "ubuntu-ready" but they eventually may - at least we could put a deb on the website)"
41 lines
1005 B
CMake
41 lines
1005 B
CMake
# INSTALL and SOURCE_GROUP commands for OSG/OT/Producer Modules
|
|
|
|
# Required Vars:
|
|
# ${LIB_NAME}
|
|
# ${LIB_PUBLIC_HEADERS}
|
|
|
|
SET(INSTALL_INCDIR include)
|
|
SET(INSTALL_BINDIR bin)
|
|
IF(WIN32)
|
|
SET(INSTALL_LIBDIR bin)
|
|
SET(INSTALL_ARCHIVEDIR lib)
|
|
ELSE(WIN32)
|
|
SET(INSTALL_LIBDIR lib${LIB_POSTFIX})
|
|
SET(INSTALL_ARCHIVEDIR lib${LIB_POSTFIX})
|
|
ENDIF(WIN32)
|
|
|
|
SET(HEADERS_GROUP "Header Files")
|
|
|
|
SOURCE_GROUP(
|
|
${HEADERS_GROUP}
|
|
FILES ${LIB_PUBLIC_HEADERS}
|
|
)
|
|
|
|
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
|
|
HANDLE_MSVC_DLL()
|
|
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
|
|
|
|
INSTALL(
|
|
TARGETS ${LIB_NAME}
|
|
RUNTIME DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph-core
|
|
LIBRARY DESTINATION ${INSTALL_LIBDIR} COMPONENT libopenscenegraph-core
|
|
ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR} COMPONENT libopenscenegraph-core-dev
|
|
)
|
|
|
|
# FIXME: Do not run for OS X framework
|
|
INSTALL(
|
|
FILES ${LIB_PUBLIC_HEADERS}
|
|
DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
|
|
COMPONENT libopenscenegraph-core-dev
|
|
)
|