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