1# INSTALL and SOURCE_GROUP commands for OSG/OT/Producer Modules 2 3# Required Vars: 4# ${LIB_NAME} 5# ${TARGET_H} 6 7SET(INSTALL_INCDIR include) 8SET(INSTALL_BINDIR bin) 9IF(WIN32) 10 SET(INSTALL_LIBDIR bin) 11 SET(INSTALL_ARCHIVEDIR lib) 12ELSE() 13 SET(INSTALL_LIBDIR lib${LIB_POSTFIX}) 14 SET(INSTALL_ARCHIVEDIR lib${LIB_POSTFIX}) 15ENDIF() 16 17SET(HEADERS_GROUP "Header Files") 18 19SOURCE_GROUP( 20 ${HEADERS_GROUP} 21 FILES ${TARGET_H} 22) 23 24IF(MSVC AND OSG_MSVC_VERSIONED_DLL) 25 HANDLE_MSVC_DLL() 26ENDIF() 27 28INSTALL( 29 TARGETS ${LIB_NAME} 30 RUNTIME DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph 31 LIBRARY DESTINATION ${INSTALL_LIBDIR} COMPONENT libopenscenegraph 32 ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR} COMPONENT libopenscenegraph-dev 33) 34 35IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) 36 GET_TARGET_PROPERTY(PREFIX ${LIB_NAME} PREFIX) 37 IF("${PREFIX}" STREQUAL PREFIX-NOTFOUND) # Fix for PREFIX-NOTFOUND left in file names 38 SET(PREFIX "") 39 ENDIF() 40 INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS RelWithDebInfo) 41 INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS Debug) 42ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) 43 44IF(NOT OSG_COMPILE_FRAMEWORKS) 45 INSTALL ( 46 FILES ${TARGET_H} 47 DESTINATION ${INSTALL_INCDIR}/${LIB_NAME} 48 COMPONENT libopenscenegraph-dev 49 ) 50ELSE() 51 SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) 52 SET(CMAKE_INSTALL_RPATH "${OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR}") 53 54 SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES 55 FRAMEWORK TRUE 56 FRAMEWORK_VERSION ${OPENSCENEGRAPH_SOVERSION} 57 PUBLIC_HEADER "${TARGET_H}" 58 INSTALL_NAME_DIR "${OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR}" 59 ) 60 # MESSAGE("${OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR}") 61ENDIF() 62 63