[Orxonox-commit 913] r5636 - code/branches/libraries/cmake
rgrieder at orxonox.net
rgrieder at orxonox.net
Wed Aug 12 14:21:56 CEST 2009
Author: rgrieder
Date: 2009-08-12 14:21:56 +0200 (Wed, 12 Aug 2009)
New Revision: 5636
Modified:
code/branches/libraries/cmake/TargetUtilities.cmake
Log:
Fixed plugins for msvc (sry fabian, forgot to tell you about this issue).
Modified: code/branches/libraries/cmake/TargetUtilities.cmake
===================================================================
--- code/branches/libraries/cmake/TargetUtilities.cmake 2009-08-11 23:50:49 UTC (rev 5635)
+++ code/branches/libraries/cmake/TargetUtilities.cmake 2009-08-12 12:21:56 UTC (rev 5636)
@@ -149,14 +149,13 @@
# PLUGIN A
IF(_arg_PLUGIN)
- SET(_arg_PLUGIN MODULE)
- SET(_arg_SHARED)
+ SET(_arg_SHARED MODULE)
SET(_arg_STATIC)
ENDIF()
# Add the library/executable
IF("${_target_type}" STREQUAL "LIBRARY")
- ADD_LIBRARY(${_target_name} ${_arg_STATIC} ${_arg_SHARED} ${_arg_PLUGIN}
+ ADD_LIBRARY(${_target_name} ${_arg_STATIC} ${_arg_SHARED}
${_arg_EXCLUDE_FROM_ALL} ${_${_target_name}_files})
ELSE()
ADD_EXECUTABLE(${_target_name} ${_arg_WIN32} ${_arg_EXCLUDE_FROM_ALL}
@@ -166,7 +165,6 @@
# PLUGIN B
IF (_arg_PLUGIN)
SET_TARGET_PROPERTIES(${_target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_PLUGIN_OUTPUT_DIRECTORY})
- SET_TARGET_PROPERTIES(${_target_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PLUGIN_OUTPUT_DIRECTORY})
ADD_PLUGIN(${_target_name})
ENDIF()
@@ -206,7 +204,6 @@
INSTALL(TARGETS ${_target_name}
RUNTIME DESTINATION ${ORXONOX_RUNTIME_INSTALL_PATH}
LIBRARY DESTINATION ${_library_destination}
- #ARCHIVE DESTINATION ${ORXONOX_ARCHIVE_INSTALL_PATH}
)
ENDIF()
@@ -216,19 +213,33 @@
# Creates a helper file with name <name_of_the_library>.plugin
# This helps finding dynamically loadable plugins at runtime
-FUNCTION(ADD_PLUGIN _name)
+FUNCTION(ADD_PLUGIN _target)
# We use the properties to get the name because the librarys name may differ from
- # the targets name (for example orxonox <-> liborxonox)
+ # the target name (for example orxonox <-> liborxonox)
- GET_TARGET_PROPERTY(_target_loc ${_name} LOCATION)
+ GET_TARGET_PROPERTY(_target_loc ${_target} LOCATION)
GET_FILENAME_COMPONENT(_target_name ${_target_loc} NAME_WE)
- SET(_plugin_filename "${CMAKE_PLUGIN_OUTPUT_DIRECTORY}/${_target_name}.plugin")
+ IF(CMAKE_CONFIGURATION_TYPES)
+ FOREACH(_config ${CMAKE_CONFIGURATION_TYPES})
+ SET(_plugin_filename ${CMAKE_PLUGIN_OUTPUT_DIRECTORY}/${_config}/${_target_name}.plugin)
- FILE(WRITE ${_plugin_filename})
+ FILE(WRITE ${_plugin_filename})
- INSTALL(
- FILES ${_plugin_filename}
- DESTINATION ${ORXONOX_PLUGIN_INSTALL_PATH}
- )
+ INSTALL(
+ FILES ${_plugin_filename}
+ DESTINATION ${ORXONOX_PLUGIN_INSTALL_PATH}
+ CONFIGURATIONS ${_config}
+ )
+ ENDFOREACH()
+ ELSE()
+ SET(_plugin_filename ${CMAKE_PLUGIN_OUTPUT_DIRECTORY}/${_target_name}.plugin)
+
+ FILE(WRITE ${_plugin_filename})
+
+ INSTALL(
+ FILES ${_plugin_filename}
+ DESTINATION ${ORXONOX_PLUGIN_INSTALL_PATH}
+ )
+ ENDIF()
ENDFUNCTION(ADD_PLUGIN)
More information about the Orxonox-commit
mailing list