|
|
|
@ -11,25 +11,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
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)
|
|
|
|
|
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)
|
|
|
|
|
FOREACH(LINKLIB ${ARGN})
|
|
|
|
|
TARGET_LINK_LIBRARIES(${TRGTNAME} "${LINKLIB}" )
|
|
|
|
|
ENDFOREACH(LINKLIB)
|
|
|
|
|
ENDMACRO(LINK_EXTERNAL TRGTNAME)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -40,8 +40,8 @@ ENDMACRO(LINK_EXTERNAL TRGTNAME)
|
|
|
|
|
#######################################################################################################
|
|
|
|
|
|
|
|
|
|
MACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
|
|
|
|
|
LINK_EXTERNAL(${CORELIB_NAME} ${OPENGL_LIBRARIES})
|
|
|
|
|
LINK_WITH_VARIABLES(${CORELIB_NAME} OPENTHREADS_LIBRARY)
|
|
|
|
|
LINK_EXTERNAL(${CORELIB_NAME} ${OPENGL_LIBRARIES})
|
|
|
|
|
LINK_WITH_VARIABLES(${CORELIB_NAME} OPENTHREADS_LIBRARY)
|
|
|
|
|
ENDMACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -70,27 +70,27 @@ MACRO(SETUP_LINK_LIBRARIES)
|
|
|
|
|
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})
|
|
|
|
|
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)
|
|
|
|
|
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}")
|
|
|
|
|
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})
|
|
|
|
|
TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${LINKLIB})
|
|
|
|
|
ENDFOREACH(LINKLIB)
|
|
|
|
|
IF(TARGET_LIBRARIES_VARS)
|
|
|
|
|
LINK_WITH_VARIABLES(${TARGET_TARGETNAME} ${TARGET_LIBRARIES_VARS})
|
|
|
|
|
ENDIF(TARGET_LIBRARIES_VARS)
|
|
|
|
|
IF(TARGET_LIBRARIES_VARS)
|
|
|
|
|
LINK_WITH_VARIABLES(${TARGET_TARGETNAME} ${TARGET_LIBRARIES_VARS})
|
|
|
|
|
ENDIF(TARGET_LIBRARIES_VARS)
|
|
|
|
|
ENDMACRO(SETUP_LINK_LIBRARIES)
|
|
|
|
|
|
|
|
|
|
############################################################################################
|
|
|
|
@ -101,35 +101,35 @@ 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
|
|
|
|
|
|
|
|
|
|
ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} ${TARGET_H})
|
|
|
|
|
|
|
|
|
|
#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()
|
|
|
|
|
#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
|
|
|
|
|
|
|
|
|
|
ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} ${TARGET_H})
|
|
|
|
|
|
|
|
|
|
#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}/osgPlugins
|
|
|
|
|
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}/osgPlugins LIBRARY DESTINATION lib${LIB_POSTFIX}/osgPlugins )
|
|
|
|
|
ENDIF(WIN32)
|
|
|
|
|
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}/osgPlugins LIBRARY DESTINATION lib${LIB_POSTFIX}/osgPlugins )
|
|
|
|
|
ENDIF(WIN32)
|
|
|
|
|
ENDMACRO(SETUP_PLUGIN)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -138,24 +138,24 @@ ENDMACRO(SETUP_PLUGIN)
|
|
|
|
|
###########################################################
|
|
|
|
|
|
|
|
|
|
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})
|
|
|
|
|
ADD_EXECUTABLE(${TARGET_TARGETNAME} MACOSX_BUNDLE ${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()
|
|
|
|
|
#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})
|
|
|
|
|
ADD_EXECUTABLE(${TARGET_TARGETNAME} MACOSX_BUNDLE ${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)
|
|
|
|
|
|
|
|
|
@ -164,15 +164,15 @@ 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)
|
|
|
|
|
|
|
|
|
|
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 )
|
|
|
|
|
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin )
|
|
|
|
|
|
|
|
|
|
ENDMACRO(SETUP_APPLICATION)
|
|
|
|
|
|
|
|
|
@ -187,15 +187,15 @@ 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)
|
|
|
|
|
|
|
|
|
|
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 )
|
|
|
|
|
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin )
|
|
|
|
|
|
|
|
|
|
ENDMACRO(SETUP_EXAMPLE)
|
|
|
|
|
|
|
|
|
|