diff --git a/BlueBerry/Build/BundleGenerator/CMakeLists.txt b/BlueBerry/Build/BundleGenerator/CMakeLists.txt index 442d89da45..385257b940 100644 --- a/BlueBerry/Build/BundleGenerator/CMakeLists.txt +++ b/BlueBerry/Build/BundleGenerator/CMakeLists.txt @@ -1,302 +1,302 @@ PROJECT(BlueBerryPluginGenerator) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) MARK_AS_ADVANCED( CMAKE_BACKWARDS_COMPATIBILITY CMAKE_INSTALL_PREFIX CMAKE_BUILD_TYPE) FIND_FILE(PLUGIN_TEMPLATE BundleTemplate ${PROJECT_SOURCE_DIR}/../../CMake DOC "Path to the plugin templates") IF(BUNDLE_DEFAULTS_FILE) IF(EXISTS "${BUNDLE_DEFAULTS_FILE}") INCLUDE(${BUNDLE_DEFAULTS_FILE}) ELSE(EXISTS "${BUNDLE_DEFAULTS_FILE}") MESSAGE(SEND_ERROR "cannot find supplied defaults file: ${BUNDLE_DEFAULTS_FILE}") ENDIF(EXISTS "${BUNDLE_DEFAULTS_FILE}") ELSE(BUNDLE_DEFAULTS_FILE) INCLUDE(${PLUGIN_TEMPLATE}/BundleDefaults.cmake) ENDIF(BUNDLE_DEFAULTS_FILE) SET(PLUGIN_ID "${DEFAULT_PLUGIN_ID}" CACHE STRING "unique plugin id (i.e. your.domain.pluginid) (required)") SET(PLUGIN_NAME "" CACHE STRING "a human-readable description of your plugin (required)") SET(CUSTOM_PROJECT_NAME "" CACHE STRING "Your project name (optional)") OPTION(GUI_SUPPORT "enable this if your plugin contributes to the UI" ON) STRING(REPLACE " " "" CUSTOM_PROJECT_NAME_NOWS "${CUSTOM_PROJECT_NAME}") SET(CUSTOM_PROJECT_NAME "${CUSTOM_PROJECT_NAME_NOWS}" CACHE STRING "Your project name (optional)" FORCE) IF(PLUGIN_ID AND PLUGIN_NAME) SET(PLUGIN_VERSION "${DEFAULT_PLUGIN_VERSION}" CACHE STRING "plugin version (required)") SET(PLUGIN_VENDOR "${DEFAULT_PLUGIN_VENDOR}" CACHE STRING "plugin vendor (optional)") SET(ACTIVATOR_CLASS "" CACHE STRING "class name for your plugin activator (optional)") IF(GUI_SUPPORT) STRING(REGEX REPLACE "[^a-zA-Z_]" "" _view_baseid "${PLUGIN_NAME}") STRING(TOLOWER ${_view_baseid} _lview_baseid) SET(_default_view_class_name "${DEFAULT_VIEW_CLASS_BEGIN}${_view_baseid}View") SET(VIEW_NAME "${PLUGIN_NAME}" CACHE STRING "a human-readable name of your view (required)") SET(VIEW_CLASS "${_default_view_class_name}" CACHE STRING "class name of the view") IF(VIEW_CLASS) STRING(TOUPPER ${VIEW_CLASS} UVIEW_CLASS) ENDIF(VIEW_CLASS) SET(VIEW_BASE_CLASS ${DEFAULT_VIEW_BASE_CLASS} CACHE STRING "base class of your new view class (required)") SET(VIEW_BASE_CLASS_H ${DEFAULT_VIEW_BASE_CLASS_H} CACHE STRING "base class header (required)") SET(VIEW_ID "${DEFAULT_VIEW_BASEID}${_lview_baseid}" CACHE STRING "unique view id (i.e. your.domain.viewid) (required)") #SET(EDITOR_CLASS "" CACHE STRING "") #SET(EDITOR_TYPE "" CACHE STRING "") ENDIF(GUI_SUPPORT) #SET(GENERATE_SERVICE "" CACHE STRING "") #SET(GENERATE_SERVICE_CLASS "" CACHE STRING "") SET(_required_bundles ${DEFAULT_REQUIRED_BUNDLES}) IF(GUI_SUPPORT) SET(_required_bundles ${DEFAULT_REQUIRED_BUNDLES_FOR_GUI}) ENDIF(GUI_SUPPORT) SET(REQUIRED_PLUGINS ${_required_bundles} CACHE STRING "a semicolon-separated list of required plugins (optional)") IF(ACTIVATOR_CLASS) SET(FULLY_QUALIFIED_ACTIVATOR "${BUNDLE_NAMESPACE}::${ACTIVATOR_CLASS}") STRING(TOUPPER ${ACTIVATOR_CLASS} UACTIVATOR_CLASS) IF(GUI_SUPPORT) SET(ACTIVATOR_BASE_CLASS "berry::AbstractUIPlugin") SET(ACTIVATOR_BASE_CLASS_H "berryAbstractUIPlugin.h") ELSE() SET(ACTIVATOR_BASE_CLASS "berry::Plugin") SET(ACTIVATOR_BASE_CLASS_H "berryPlugin.h") ENDIF() ELSE(ACTIVATOR_CLASS) SET(FULLY_QUALIFIED_ACTIVATOR "") ENDIF(ACTIVATOR_CLASS) SET(PROJECT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CUSTOM_PROJECT_NAME}") IF(CUSTOM_PROJECT_NAME) SET(PLUGIN_DIR "${PROJECT_DIR}/Bundles/${PLUGIN_ID}") ELSE(CUSTOM_PROJECT_NAME) SET(PLUGIN_DIR "${PROJECT_DIR}/${PLUGIN_ID}") ENDIF(CUSTOM_PROJECT_NAME) IF(NOT EXISTS "${PLUGIN_TEMPLATE}/META-INF/MANIFEST_TEMPLATE.MF") MESSAGE(FATAL_ERROR "Could not find ${PLUGIN_TEMPLATE}/META-INF/MANIFEST_TEMPLATE.MF!") ENDIF(NOT EXISTS "${PLUGIN_TEMPLATE}/META-INF/MANIFEST_TEMPLATE.MF") # ====================== PROJECT FILES =============================== IF(CUSTOM_PROJECT_NAME AND EXISTS "${PLUGIN_TEMPLATE}/project/CMakeListsTemplate.txt") SET(CUSTOM_PROJECT_EXECUTABLE ${CUSTOM_PROJECT_NAME} CACHE STRING "the name of your project's executable") IF(GUI_SUPPORT) SET(FIND_PACKAGE_QT4 "FIND_PACKAGE(Qt4 REQUIRED)") ENDIF(GUI_SUPPORT) SET(BLUEBERRY_BINARY_DIR "@BLUEBERRY_BINARY_DIR@") SET(BLUEBERRY_PLUGINS_OUTPUT_DIR "@BLUEBERRY_PLUGINS_OUTPUT_DIR@") SET(PLUGIN_CACHE_DIR "@PLUGIN_CACHE_DIR@") SET(PLUGIN_BINARY_DIRS "@PLUGIN_BINARY_DIRS@") SET(MITK_PLUGIN_BINARY_DIRS "@MITK_PLUGIN_BINARY_DIRS@") - SET(BATCH_FILE_PATH "@MITK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@MITK_VTK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@MITK_ITK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@QT_LIBRARY_DIR@\\..\\bin;@BLUEBERRY_PLUGINS_OUTPUT_DIR@\\org.blueberry.osgi\\bin\\@APP_BUILD_TYPE@") - SET(BATCH_FILE_VS_PATH "@MITK_LIBRARY_DIRS@\\%CONFIG_TYPE%;@MITK_VTK_LIBRARY_DIRS@\\%CONFIG_TYPE%;@MITK_ITK_LIBRARY_DIRS@\\%CONFIG_TYPE%;@QT_LIBRARY_DIR@\\..\\bin;@BLUEBERRY_PLUGINS_OUTPUT_DIR@\\org.blueberry.osgi\\bin\\%CONFIG_TYPE%") + SET(BATCH_FILE_PATH "@MITK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@MITK_VTK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@MITK_ITK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@GDCM_BIN_DIR@;@QT_LIBRARY_DIR@\\..\\bin;@BLUEBERRY_PLUGINS_OUTPUT_DIR@\\org.blueberry.osgi\\bin\\@APP_BUILD_TYPE@") + SET(BATCH_FILE_VS_PATH "@MITK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@MITK_VTK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@MITK_ITK_LIBRARY_DIRS@\\@APP_BUILD_TYPE@;@GDCM_BIN_DIR@;@QT_LIBRARY_DIR@\\..\\bin;@BLUEBERRY_PLUGINS_OUTPUT_DIR@\\org.blueberry.osgi\\bin\\@APP_BUILD_TYPE@") SET(BATCH_FILE_EXEC_CMD "@APP_BUILD_TYPE@\\${CUSTOM_PROJECT_EXECUTABLE}.exe") SET(BATCH_FILE_VS_EXEC_CMD "\@PROJECT_BINARY_DIR\@/${CUSTOM_PROJECT_NAME}.sln") CONFIGURE_FILE("${PLUGIN_TEMPLATE}/project/CMakeListsTemplate.txt" "${PROJECT_DIR}/CMakeLists.txt" @ONLY) CONFIGURE_FILE("${PLUGIN_TEMPLATE}/project/Bundles/CMakeListsTemplate.txt" "${PROJECT_DIR}/Bundles/CMakeLists.txt" @ONLY) CONFIGURE_FILE("${PLUGIN_TEMPLATE}/project/AppTemplate.cpp" "${PROJECT_DIR}/${CUSTOM_PROJECT_EXECUTABLE}.cpp" @ONLY) CONFIGURE_FILE("${PLUGIN_TEMPLATE}/project/AppTemplate.ini" "${PROJECT_DIR}/${CUSTOM_PROJECT_EXECUTABLE}.ini" COPYONLY) CONFIGURE_FILE("${PLUGIN_TEMPLATE}/project/startAppTemplate.bat" "${PROJECT_DIR}/start${CUSTOM_PROJECT_EXECUTABLE}.bat.in" @ONLY) CONFIGURE_FILE("${PLUGIN_TEMPLATE}/project/startVS2008Template.bat" "${PROJECT_DIR}/startVS2008.bat.in" @ONLY) ENDIF() # ====================== END PROJECT FILES =========================== STRING(REPLACE . _ NormalizedPluginID ${PLUGIN_ID}) STRING(TOUPPER ${NormalizedPluginID} UNormalizedPluginID) # ----- START cut plugin_ID from last '.' till end ------------ SET(LAST_PART_PLUGIN_ID ${PLUGIN_ID}) STRING(REGEX MATCH "\\.[^\\.]*$" LAST_PART_PLUGIN_ID ${LAST_PART_PLUGIN_ID}) STRING(LENGTH ${LAST_PART_PLUGIN_ID} LengthStr) MATH(EXPR LengthStr "${LengthStr}-1") STRING(SUBSTRING ${LAST_PART_PLUGIN_ID} 1 ${LengthStr} LAST_PART_PLUGIN_ID) MATH(EXPR LengthStr "${LengthStr}-1") STRING(SUBSTRING ${LAST_PART_PLUGIN_ID} 0 1 LAST_PART_PLUGIN_ID_FIRST_LETTER) STRING(TOUPPER ${LAST_PART_PLUGIN_ID_FIRST_LETTER} LAST_PART_PLUGIN_ID_FIRST_LETTER) STRING(SUBSTRING ${LAST_PART_PLUGIN_ID} 1 ${LengthStr} LAST_PART_PLUGIN_ID_REST) SET(LAST_PART_PLUGIN_ID ${LAST_PART_PLUGIN_ID_FIRST_LETTER}${LAST_PART_PLUGIN_ID_REST}) STRING(TOUPPER ${LAST_PART_PLUGIN_ID} ULAST_PART_PLUGIN_ID) # ------ END -------------------------------------------------- # --------------------- META-INF/MANIFEST_TEMPLATE.MF --------------------- SET(REQUIRED_PLUGINS_MF "${REQUIRED_PLUGINS}") STRING(REPLACE ";" "," REQUIRED_PLUGINS_MF "${REQUIRED_PLUGINS_MF}" ) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/META-INF/MANIFEST_TEMPLATE.MF ${PLUGIN_DIR}/META-INF/MANIFEST.MF @ONLY) # ----------------- documentation/doxygen/modulesTemplate.dox ------------ IF(DOXYGEN_INGROUP) SET(DOXYGEN_INGROUP_CMD "\\ingroup ${DOXYGEN_INGROUP}") ENDIF(DOXYGEN_INGROUP) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/documentation/doxygen/modulesTemplate.dox ${PLUGIN_DIR}/documentation/doxygen/modules.dox @ONLY) # ----------------- documentation/Manual/Manual.dox ------------ CONFIGURE_FILE(${PLUGIN_TEMPLATE}/documentation/Manual/Manual.dox ${PLUGIN_DIR}/documentation/Manual/Manual.dox @ONLY) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/documentation/Manual/icon.png ${PLUGIN_DIR}/documentation/Manual/icon.png @ONLY) # ----------------- resources directory --------------------------------- IF(GUI_SUPPORT) FILE(MAKE_DIRECTORY ${PLUGIN_DIR}/resources) IF(EXISTS ${PLUGIN_TEMPLATE}/resources/qtresources.qrc) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/resources/qtresources.qrc ${PLUGIN_DIR}/resources/${VIEW_CLASS}.qrc @ONLY) ENDIF(EXISTS ${PLUGIN_TEMPLATE}/resources/qtresources.qrc) IF(EXISTS ${PLUGIN_TEMPLATE}/resources/icon.xpm) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/resources/icon.xpm ${PLUGIN_DIR}/resources/icon.xpm @ONLY) ENDIF(EXISTS ${PLUGIN_TEMPLATE}/resources/icon.xpm) ENDIF() # -------------------- BundleDllTemplate.h ------------------------------- IF(EXISTS ${PLUGIN_TEMPLATE}/src/BundleDllTemplate.h) IF(BUNDLE_NAMESPACE) STRING(TOUPPER ${BUNDLE_NAMESPACE} UBUNDLE_NAMESPACE) ENDIF(BUNDLE_NAMESPACE) IF(UBUNDLE_NAMESPACE) SET(DLL_DEFINE "${UBUNDLE_NAMESPACE}_${ULAST_PART_PLUGIN_ID}_EXPORT") ELSE(UBUNDLE_NAMESPACE) SET(DLL_DEFINE "${ULAST_PART_PLUGIN_ID}_EXPORT") ENDIF(UBUNDLE_NAMESPACE) SET(Dll_HEADER ${BUNDLE_NAMESPACE}${LAST_PART_PLUGIN_ID}Dll.h) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/src/BundleDllTemplate.h ${PLUGIN_DIR}/src/${Dll_HEADER} @ONLY) ENDIF(EXISTS ${PLUGIN_TEMPLATE}/src/BundleDllTemplate.h) # --------------------- src/internal/ViewTemplateControls.ui ---------------------------- IF (GUI_SUPPORT) IF(EXISTS ${PLUGIN_TEMPLATE}/src/internal/ControlsTemplate.ui) SET(VIEW_CONTROLS "${VIEW_CLASS}Controls") SET(VIEW_CONTROLS_UI "${VIEW_CONTROLS}.ui") SET(VIEW_CONTROLS_FILE "ui_${VIEW_CONTROLS}.h") SET(VIEW_CONTROLS_CLASS "${VIEW_CONTROLS}") CONFIGURE_FILE(${PLUGIN_TEMPLATE}/src/internal/ControlsTemplate.ui ${PLUGIN_DIR}/src/internal/${VIEW_CONTROLS_UI} @ONLY) ENDIF(EXISTS ${PLUGIN_TEMPLATE}/src/internal/ControlsTemplate.ui) ENDIF() # --------------------- src/internal/ViewTemplate[.h,.cpp] ---------------------------- IF(VIEW_CLASS) SET(VIEW_CLASS_H "${BUNDLE_NAMESPACE}${VIEW_CLASS}.h") SET(VIEW_CLASS_CPP "${BUNDLE_NAMESPACE}${VIEW_CLASS}.cpp") IF(BUNDLE_NAMESPACE) SET(BEGIN_NAMESPACE "namespace ${BUNDLE_NAMESPACE} {") SET(END_NAMESPACE "} //namespace ${BUNDLE_NAMESPACE}") ENDIF(BUNDLE_NAMESPACE) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/src/internal/ViewTemplate.h ${PLUGIN_DIR}/src/internal/${VIEW_CLASS_H} @ONLY) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/src/internal/ViewTemplate.cpp ${PLUGIN_DIR}/src/internal/${VIEW_CLASS_CPP} @ONLY) ENDIF(VIEW_CLASS) # ---------------------- pluginTemplate.xml --------------------------------- IF(VIEW_CLASS) SET(XP_VIEW " " ) ENDIF(VIEW_CLASS) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/pluginTemplate.xml ${PLUGIN_DIR}/plugin.xml @ONLY) # ----------------------- ActivatorTemplate[.h,.cpp] ------------------------ IF(ACTIVATOR_CLASS) SET(ACTIVATOR_CLASS_H "${BUNDLE_NAMESPACE}${ACTIVATOR_CLASS}.h") SET(ACTIVATOR_CLASS_CPP "${BUNDLE_NAMESPACE}${ACTIVATOR_CLASS}.cpp") IF(BUNDLE_NAMESPACE) SET(BEGIN_NAMESPACE "namespace ${BUNDLE_NAMESPACE} {") SET(END_NAMESPACE "} //namespace ${BUNDLE_NAMESPACE}") ENDIF(BUNDLE_NAMESPACE) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/src/internal/ActivatorTemplate.h ${PLUGIN_DIR}/src/internal/${ACTIVATOR_CLASS_H} @ONLY) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/src/internal/ActivatorTemplate.cpp ${PLUGIN_DIR}/src/internal/${ACTIVATOR_CLASS_CPP} @ONLY) ENDIF() # ----------------------- manifestTemplate.cpp ---------------------------- IF(VIEW_CLASS) SET(SET_MANIFEST_SRC "SET(CPP_FILES manifest.cpp)") SET(MANIFEST_VIEW_ENTRY "#include \"src/internal/${VIEW_CLASS_H}\" POCO_BEGIN_NAMED_MANIFEST(berryIViewPart, berry::IViewPart) POCO_EXPORT_CLASS(${BUNDLE_NAMESPACE}::${VIEW_CLASS}) POCO_END_MANIFEST") ENDIF(VIEW_CLASS) IF(ACTIVATOR_CLASS) SET(SET_MANIFEST_SRC "SET(CPP_FILES manifest.cpp)") SET(MANIFEST_ACTIVATOR_ENTRY "#include \"src/internal/${ACTIVATOR_CLASS_H}\" POCO_BEGIN_MANIFEST(berry::IBundleActivator) POCO_EXPORT_CLASS(${BUNDLE_NAMESPACE}::${ACTIVATOR_CLASS}) POCO_END_MANIFEST") ENDIF() IF(VIEW_CLASS OR ACTIVATOR_CLASS) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/manifestTemplate.cpp ${PLUGIN_DIR}/manifest.cpp @ONLY) ENDIF() # ---------------------- CMakeListsTemplate.txt ----------------------------- SET(CREATE_PLUGIN_MACRO "${DEFAULT_CREATE_PLUGIN_MACRO}") IF(GUI_SUPPORT) SET(CREATE_PLUGIN_MACRO "${DEFAULT_CREATE_GUI_PLUGIN_MACRO}") ENDIF(GUI_SUPPORT) CONFIGURE_FILE(${PLUGIN_TEMPLATE}/CMakeListsTemplate.txt ${PLUGIN_DIR}/CMakeLists.txt @ONLY) # ---------------------- filesTemplate.cmake ------------------------------ SET(PLUGIN_SOURCES "") SET(PLUGIN_INTERNAL_SOURCES "") IF(VIEW_CLASS) SET(PLUGIN_INTERNAL_SOURCES "${PLUGIN_INTERNAL_SOURCES}${VIEW_CLASS_CPP}\n") ENDIF(VIEW_CLASS) IF(ACTIVATOR_CLASS) SET(PLUGIN_INTERNAL_SOURCES "${PLUGIN_INTERNAL_SOURCES}${ACTIVATOR_CLASS_CPP}\n") ENDIF(ACTIVATOR_CLASS) IF(GUI_SUPPORT AND EXISTS ${PLUGIN_TEMPLATE}/src/internal/ControlsTemplate.ui) SET(PLUGIN_RESOURCE_FILES "resources/icon.xpm") SET(PLUGIN_RES_FILES "resources/${VIEW_CLASS}.qrc") SET(PLUGIN_UI_FILES "src/internal/${VIEW_CONTROLS_UI}") SET(PLUGIN_MOC_H_FILES "src/internal/${VIEW_CLASS}.h") ENDIF() CONFIGURE_FILE(${PLUGIN_TEMPLATE}/filesTemplate.cmake ${PLUGIN_DIR}/files.cmake @ONLY) ENDIF(PLUGIN_ID AND PLUGIN_NAME) diff --git a/CMake/QBundleTemplate/project/CMakeListsTemplate.txt b/CMake/QBundleTemplate/project/CMakeListsTemplate.txt index 067577a5e1..300bee35d3 100755 --- a/CMake/QBundleTemplate/project/CMakeListsTemplate.txt +++ b/CMake/QBundleTemplate/project/CMakeListsTemplate.txt @@ -1,63 +1,65 @@ PROJECT(@CUSTOM_PROJECT_NAME@) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET(BUILD_SHARED_LIBS 1) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin" CACHE INTERNAL "Single output directory for building all libraries.") SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin" CACHE INTERNAL "Single output directory for building all executables.") # This variable will contain a list of directories # which contain your binary plug-ins SET(@CUSTOM_PROJECT_NAME@_PLUGIN_OUTPUT_DIRS "" CACHE INTERNAL "@CUSTOM_PROJECT_NAME@ base plugin directories." FORCE) @FIND_PACKAGE_QT4@ INCLUDE(${QT_USE_FILE}) SET(MITK_USE_BLUEBERRY 1) # Set the variable below to 0 if you do not want to # use the extended MITK functionality SET(MITK_USE_EXT 1) FIND_PACKAGE(MITK REQUIRED) ADD_SUBDIRECTORY(Bundles) # Now build a custom executable to start the # BlueBerry Workbench with our plug-ins INCLUDE_DIRECTORIES( ${BLUEBERRY_PLUGIN_SOURCE_DIRS} ${org.blueberry.osgi_BIN_DIR} ${Poco_INCLUDE_DIRS} ) LINK_DIRECTORIES("${org.blueberry.osgi_OUT_DIR}/bin" ${Poco_LIBRARY_DIR}) ADD_EXECUTABLE(@CUSTOM_PROJECT_EXECUTABLE@ @CUSTOM_PROJECT_EXECUTABLE@.cpp) TARGET_LINK_LIBRARIES(@CUSTOM_PROJECT_EXECUTABLE@ optimized PocoFoundation debug PocoFoundationd optimized PocoUtil debug PocoUtild optimized org_blueberry_osgi debug org_blueberry_osgi${BLUEBERRY_DEBUG_POSTFIX}) IF(@CUSTOM_PROJECT_NAME@_ENABLED_PLUGINS) ADD_DEPENDENCIES(@CUSTOM_PROJECT_EXECUTABLE@ ${@CUSTOM_PROJECT_NAME@_ENABLED_PLUGINS}) ENDIF() # Configure the application's .ini file SET(PLUGIN_CACHE_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/plugin_cache") SET(PLUGIN_OUTPUT_DIRS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Bundles") CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/@CUSTOM_PROJECT_EXECUTABLE@.ini" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/@CUSTOM_PROJECT_EXECUTABLE@.ini" @ONLY) # If we are under Windows, create two batch files which correctly # set up the environment for the application and for VS 2008 IF(WIN32) - SET(APP_BUILD_TYPE debug) - CONFIGURE_FILE(start@CUSTOM_PROJECT_EXECUTABLE@.bat.in - ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/start@CUSTOM_PROJECT_EXECUTABLE@_${APP_BUILD_TYPE}.bat @ONLY) - SET(APP_BUILD_TYPE release) - CONFIGURE_FILE(start@CUSTOM_PROJECT_EXECUTABLE@.bat.in - ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/start@CUSTOM_PROJECT_EXECUTABLE@_${APP_BUILD_TYPE}.bat @ONLY) - - # Configure VS batch file - CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/startVS2008.bat.in" - "${PROJECT_BINARY_DIR}/startVS2008.bat" @ONLY) + INCLUDE(mitkFunctionCreateWindowsBatchScript) + + FOREACH(APP_BUILD_TYPE debug release) + mitkFunctionCreateWindowsBatchScript(start@CUSTOM_PROJECT_EXECUTABLE@.bat.in + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/start@CUSTOM_PROJECT_EXECUTABLE@_${APP_BUILD_TYPE}.bat + ${APP_BUILD_TYPE}) + + # Configure VS batch file + mitkFunctionCreateWindowsBatchScript("${CMAKE_CURRENT_SOURCE_DIR}/startVS2008.bat.in" + "${PROJECT_BINARY_DIR}/startVS2008_${APP_BUILD_TYPE}.bat" + ${APP_BUILD_TYPE}) + ENDFOREACH() ENDIF(WIN32) diff --git a/CMake/QBundleTemplate/project/startVS2008Template.bat b/CMake/QBundleTemplate/project/startVS2008Template.bat index d809940c86..08667947d3 100755 --- a/CMake/QBundleTemplate/project/startVS2008Template.bat +++ b/CMake/QBundleTemplate/project/startVS2008Template.bat @@ -1,10 +1,6 @@ -@set CONFIG_TYPE=debug -REM @set CONFIG_TYPE=release - -@call "%VS90COMNTOOLS%vsvars32.bat" @set CL=/D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE @set LINK=/LARGEADDRESSAWARE PATH=@BATCH_FILE_VS_PATH@;%PATH% "@BATCH_FILE_VS_EXEC_CMD@"