Difference between revisions of "Sascha"
From Guiliani
Line 233: | Line 233: | ||
- auto-stretch for text | - auto-stretch for text | ||
- invalidate layout after resizing | - invalidate layout after resizing | ||
+ | |||
+ | ------------------ | ||
+ | |||
+ | |||
+ | # | ||
+ | # This is the CMakeLists.txt file for the GSE | ||
+ | # | ||
+ | |||
+ | |||
+ | # ========== Minimum cmake version required ========== | ||
+ | CMAKE_MINIMUM_REQUIRED(VERSION 3.0) | ||
+ | |||
+ | SET(CMAKE_CXX_STANDARD 11) | ||
+ | |||
+ | SET(PATH_COMMON "${CMAKE_CURRENT_SOURCE_DIR}/../CMake" CACHE PATH "CMake common files directory path") | ||
+ | |||
+ | # ========== Setup configurations ========== | ||
+ | INCLUDE("${PATH_COMMON}/Common_settings.cmake") | ||
+ | |||
+ | # Configuration for SDK Installer | ||
+ | IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CPackConfiguration.cmake") | ||
+ | # Only add SDK settings if cmake installer files exists | ||
+ | SET(SDK_PACKAGE_GENERATOR CACHE BOOL "Generate Guiliani SDK Install Packages") | ||
+ | ELSE(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CPackConfiguration.cmake") | ||
+ | MESSAGE(STATUS "GSE SDK Project.") | ||
+ | SET(GSE_SDK_PROJECT 1) # Variable for activating SKD build | ||
+ | ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CPackConfiguration.cmake") | ||
+ | |||
+ | #Activate OGL per default | ||
+ | SET(FORCE_ADD_OGL_PLATFORM 1) | ||
+ | |||
+ | #Activate RTTI | ||
+ | SET(FORCE_USE_RTTI 1) | ||
+ | |||
+ | # ========== Set project name and version number ========== | ||
+ | PROJECT(GSE | ||
+ | VERSION "2.2.0") | ||
+ | |||
+ | |||
+ | # ========== Include correct platform file ========== | ||
+ | INCLUDE("${PATH_COMMON}/Platform.cmake") | ||
+ | |||
+ | # ========== Output some information ========== | ||
+ | INCLUDE("${PATH_COMMON}/Build_information.cmake") | ||
+ | |||
+ | # StreamRuntime root path to find the custom extension | ||
+ | SET(GSE_ROOT_PATH_STREAMRUNTIME "${PROJECT_SOURCE_DIR}/../StreamRuntime" CACHE PATH "StreamRuntime root path") | ||
+ | SET(GSE_STREAMRUNTIME_APPNAME "StreamRuntime" CACHE STRING "StreamRuntime appliation name") | ||
+ | SET(GSE_ROOT_PATH_RESOURCECOMPILER "${PROJECT_SOURCE_DIR}/GUIResourceCompiler" CACHE PATH "ResourceCompiler root path") | ||
+ | |||
+ | # if SDK_PACKAGE_GENERATOR is set PATH_GSE needs to be empty | ||
+ | IF(SDK_PACKAGE_GENERATOR) | ||
+ | SET(PATH_GSE "" CACHE PATH | ||
+ | "This path has to point to the GSE root directory. This path is set empty, so the variable GSE_PATH is used." | ||
+ | FORCE | ||
+ | ) | ||
+ | SET(SDK_PACKAGE_GENERATOR_ADDITIONAL_PACKAGE "" CACHE PATH "Path to additonal CPackPackages.cmake") | ||
+ | ENDIF(SDK_PACKAGE_GENERATOR) | ||
+ | |||
+ | # if we have an SDK path needs to point to GSE-folder | ||
+ | IF(GSE_SDK_PROJECT) | ||
+ | SET(PATH_GSE "${PROJECT_SOURCE_DIR}" CACHE PATH "This path has to point to the GSE root directory.") | ||
+ | ENDIF(GSE_SDK_PROJECT) | ||
+ | |||
+ | LIST(APPEND PREPROCESSOR_DEFINES "PATH_GSE=\"${PATH_GSE}\"") | ||
+ | |||
+ | # ========== Set application specific includes ========== | ||
+ | INCLUDE_DIRECTORIES( | ||
+ | "${PROJECT_SOURCE_DIR}/Include" | ||
+ | "${PROJECT_SOURCE_DIR}/Include/Behaviour" | ||
+ | "${PROJECT_SOURCE_DIR}/Include/Command" | ||
+ | "${PROJECT_SOURCE_DIR}/Include/Control" | ||
+ | "${PROJECT_SOURCE_DIR}/Include/Dialog" | ||
+ | "${PROJECT_SOURCE_DIR}/Include/GUIConfig" | ||
+ | "${PROJECT_SOURCE_DIR}/Include/Undo" | ||
+ | "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/CustomExtension" | ||
+ | "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/GUIConfigCustom" | ||
+ | ) | ||
+ | |||
+ | IF(NOT GSE_SDK_PROJECT) #Default case to build GSE | ||
+ | # ========== Set include directories ========== | ||
+ | INCLUDE("${PATH_COMMON}/Include_directories.cmake") | ||
+ | |||
+ | INCLUDE_DIRECTORIES( | ||
+ | "${GSE_ROOT_PATH_RESOURCECOMPILER}/Include" | ||
+ | ) | ||
+ | |||
+ | # ========== GSElib Source files ========== | ||
+ | # SOURCE_GROUP creates the "folder-structure" in VS | ||
+ | FILE(GLOB GSELIB_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/*.cpp") | ||
+ | LIST(APPEND GSELIB_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/md5.cpp") | ||
+ | FILE(GLOB GSELIB_BHVR_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Behaviour/*.cpp") | ||
+ | FILE(GLOB GSELIB_CMD_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Command/*.cpp") | ||
+ | FILE(GLOB GSELIB_CTRL_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Control/*.cpp") | ||
+ | FILE(GLOB GSELIB_DIALOG_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Dialog/*.cpp") | ||
+ | FILE(GLOB GSELIB_UNDO_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Undo/*.cpp") | ||
+ | FILE(GLOB GSELIB_CUSTOM_TEMPLATES "${PROJECT_SOURCE_DIR}/Resources/CustomTemplates/*.tpl") | ||
+ | SOURCE_GROUP("Source Files" FILES ${GSELIB_SOURCE_CPP}) | ||
+ | SOURCE_GROUP("Source Files\\Behaviour" FILES ${GSELIB_BHVR_SOURCE_CPP}) | ||
+ | SOURCE_GROUP("Source Files\\Command" FILES ${GSELIB_CMD_SOURCE_CPP}) | ||
+ | SOURCE_GROUP("Source Files\\Control" FILES ${GSELIB_CTRL_SOURCE_CPP}) | ||
+ | SOURCE_GROUP("Source Files\\Dialog" FILES ${GSELIB_DIALOG_SOURCE_CPP}) | ||
+ | SOURCE_GROUP("Source Files\\Undo" FILES ${GSELIB_UNDO_SOURCE_CPP}) | ||
+ | SOURCE_GROUP("Custom Templates" FILES ${GSELIB_CUSTOM_TEMPLATES}) | ||
+ | |||
+ | FILE(GLOB GSELIB_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/*.h") | ||
+ | FILE(GLOB GSELIB_BHVR_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Behaviour/*.h") | ||
+ | FILE(GLOB GSELIB_CMD_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Command/*.h") | ||
+ | FILE(GLOB GSELIB_CTRL_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Control/*.h") | ||
+ | FILE(GLOB GSELIB_DIALOG_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Dialog/*.h") | ||
+ | FILE(GLOB GSELIB_UNDO_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Undo/*.h") | ||
+ | FILE(GLOB GSELIB_GUICONFIG_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/GUIConfig/*.h") | ||
+ | SOURCE_GROUP("Header Files" FILES ${GSELIB_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\Behaviour" FILES ${GSELIB_BHVR_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\Command" FILES ${GSELIB_CMD_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\Control" FILES ${GSELIB_CTRL_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\Dialog" FILES ${GSELIB_DIALOG_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\Undo" FILES ${GSELIB_UNDO_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\GUIConfig" FILES ${GSELIB_GUICONFIG_SOURCE_H}) | ||
+ | |||
+ | FILE(GLOB GSELIB_LANGUAGE_FILES "${PROJECT_SOURCE_DIR}/Resources/LanguageFiles/*.lng") | ||
+ | SOURCE_GROUP("Language Files" FILES ${GSELIB_LANGUAGE_FILES}) | ||
+ | |||
+ | # ========== Create complete list of files for GSElib ========== | ||
+ | SET(GSELIB_SOURCES_LIST | ||
+ | ${GSELIB_SOURCE_CPP} | ||
+ | ${GSELIB_BHVR_SOURCE_CPP} | ||
+ | ${GSELIB_CMD_SOURCE_CPP} | ||
+ | ${GSELIB_CTRL_SOURCE_CPP} | ||
+ | ${GSELIB_DIALOG_SOURCE_CPP} | ||
+ | ${GSELIB_UNDO_SOURCE_CPP} | ||
+ | ${GSELIB_CUSTOM_TEMPLATES} | ||
+ | ${GSELIB_SOURCE_H} | ||
+ | ${GSELIB_BHVR_SOURCE_H} | ||
+ | ${GSELIB_CMD_SOURCE_H} | ||
+ | ${GSELIB_CTRL_SOURCE_H} | ||
+ | ${GSELIB_DIALOG_SOURCE_H} | ||
+ | ${GSELIB_UNDO_SOURCE_H} | ||
+ | ${GSELIB_GUICONFIG_SOURCE_H} | ||
+ | ${GSELIB_LANGUAGE_FILES} | ||
+ | ${PLATFORM_FILES_GSELIB} | ||
+ | ) | ||
+ | SET(GSE_GUICONFIG_CPP "${PATH_GUILIANI}/Share/GUIConfig.cpp") # GUIConfig.cpp from Guiliani path | ||
+ | |||
+ | ELSE(NOT GSE_SDK_PROJECT) #SDK uses the directories inside the GSE structure | ||
+ | INCLUDE_DIRECTORIES( | ||
+ | "${PROJECT_SOURCE_DIR}/../eGaC/Include/eC" | ||
+ | "${PROJECT_SOURCE_DIR}/../eGaC/Include/eDBG" | ||
+ | "${PROJECT_SOURCE_DIR}/../eGaC/Include/eGML" | ||
+ | "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Core" | ||
+ | "${PROJECT_SOURCE_DIR}/../Guiliani/Include/GUIConfig" | ||
+ | "${PROJECT_SOURCE_DIR}/../Guiliani/Include/ImageDecoder" | ||
+ | "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Platform/eGML" | ||
+ | "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Platform/general" | ||
+ | "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Platform/GL" | ||
+ | ) | ||
+ | INCLUDE("${PATH_COMMON}/Include_directories.cmake") | ||
+ | SET(GSE_GUICONFIG_CPP "${PROJECT_SOURCE_DIR}/../Guiliani/Share/GUIConfig.cpp") # GUIConfig.cpp from inside GSE | ||
+ | ENDIF(NOT GSE_SDK_PROJECT) | ||
+ | |||
+ | # ========== GSE Source files ========== | ||
+ | # SOURCE_GROUP creates the "folder-structure" in VS | ||
+ | SOURCE_GROUP("GUIConfig" FILES ${GSE_GUICONFIG_CPP}) | ||
+ | |||
+ | FILE(GLOB GSE_CUSTOM_SOURCE_CPP "${GSE_ROOT_PATH_STREAMRUNTIME}/Source/CustomExtension/*.cpp") | ||
+ | SOURCE_GROUP("Source Files\\Custom Extension" FILES ${GSE_CUSTOM_SOURCE_CPP}) | ||
+ | |||
+ | FILE(GLOB GSE_CUSTOM_SOURCE_H "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/CustomExtension/*.h") | ||
+ | FILE(GLOB GSE_CUSTOM_GUICONFIG_SOURCE_H "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/GUIConfigCustom/*.h") | ||
+ | SOURCE_GROUP("Header Files\\Custom Extension" FILES ${GSE_CUSTOM_SOURCE_H}) | ||
+ | SOURCE_GROUP("Header Files\\Custom Resource IDs" FILES ${GSE_CUSTOM_GUICONFIG_SOURCE_H}) | ||
+ | |||
+ | FILE(GLOB GSE_PLATFORM_GENERAL_CPP "${PROJECT_SOURCE_DIR}/Source/Platform/general/*.cpp") | ||
+ | SOURCE_GROUP("Source Files\\Platform\\General" FILES ${GSE_PLATFORM_GENERAL_CPP}) | ||
+ | |||
+ | # ========== Create complete list of files for GSE binary ========== | ||
+ | SET(GSE_SOURCES_LIST | ||
+ | ${GSE_GUICONFIG_CPP} | ||
+ | ${GSE_CUSTOM_SOURCE_CPP} | ||
+ | ${GSE_CUSTOM_SOURCE_H} | ||
+ | ${GSE_CUSTOM_GUICONFIG_SOURCE_H} | ||
+ | ${GSE_PLATFORM_GENERAL_CPP} | ||
+ | ${RESOURCE_FILE} | ||
+ | ) | ||
+ | |||
+ | SET(GSE_PROJECT 1) #this variable is used in StreamRuntime and ResourceCompiler to avoid adding Guiliani and eGaC project twice. | ||
+ | |||
+ | ADD_EXECUTABLE(${PROJECT_NAME} ${ADD_EXECUTABLE_PARAMETERS} ${GSE_SOURCES_LIST}) | ||
+ | |||
+ | # ========== Add StreamRuntime ========== | ||
+ | ADD_SUBDIRECTORY("${GSE_ROOT_PATH_STREAMRUNTIME}" StreamRuntime) | ||
+ | |||
+ | IF(NOT GSE_SDK_PROJECT) #if no SDK we add to solution: GSElib, Guiliani, GUIResourceCompiler and link against these projects. | ||
+ | # ========== Add eGaC ========== | ||
+ | IF(EXISTS "${PATH_EGAC}/CMakeLists.txt") | ||
+ | ADD_SUBDIRECTORY("${PATH_EGAC}" ./eGaC) | ||
+ | ELSE(EXISTS "${PATH_EGAC}/CMakeLists.txt") | ||
+ | MESSAGE(FATAL_ERROR "Path not set or wrong to eGaC directory.") | ||
+ | ENDIF(EXISTS "${PATH_EGAC}/CMakeLists.txt") | ||
+ | |||
+ | # ========== Add Guiliani ========== | ||
+ | IF(EXISTS "${PATH_GUILIANI}/CMakeLists.txt") | ||
+ | ADD_SUBDIRECTORY("${PATH_GUILIANI}" ./Guiliani) | ||
+ | ELSE(EXISTS "${PATH_GUILIANI}/CMakeLists.txt") | ||
+ | MESSAGE(FATAL_ERROR "Path not set or wrong to Guiliani directory.") | ||
+ | ENDIF(EXISTS "${PATH_GUILIANI}/CMakeLists.txt") | ||
+ | |||
+ | # ========== Add GUIResourceCompiler ========== | ||
+ | IF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CMakeLists.txt") | ||
+ | ADD_SUBDIRECTORY("${GSE_ROOT_PATH_RESOURCECOMPILER}" ./GUIResourceCompiler) | ||
+ | ELSE(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CMakeLists.txt") | ||
+ | MESSAGE(FATAL_ERROR "Path not set or wrong to GUIResourceCompiler directory.") | ||
+ | ENDIF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CMakeLists.txt") | ||
+ | |||
+ | # ========== Build GSE library ========== | ||
+ | ADD_LIBRARY(GSElib STATIC ${GSELIB_SOURCES_LIST}) | ||
+ | ENDIF(NOT GSE_SDK_PROJECT) | ||
+ | |||
+ | # ========== Link the executable to the needed libraries ========== | ||
+ | TARGET_LINK_LIBRARIES(${PROJECT_NAME} | ||
+ | GSElib | ||
+ | GUIResourceCompilerLib | ||
+ | Guiliani | ||
+ | eGaC | ||
+ | ${PLATFORM_LIBS} | ||
+ | ) | ||
+ | |||
+ | # ========== StreamRuntime must be build prior to GSE ========== | ||
+ | ADD_DEPENDENCIES(${PROJECT_NAME} ${GSE_STREAMRUNTIME_APPNAME}) | ||
+ | |||
+ | # ========== Set output directories ========== | ||
+ | SET(RESOURCE_DIR "${PROJECT_SOURCE_DIR}/Resources") | ||
+ | |||
+ | IF(MSVC_IDE) | ||
+ | SET(BINARY_DIR "${PROJECT_SOURCE_DIR}") | ||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${BINARY_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${BINARY_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUGEVALUATION ${BINARY_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASEEVALUATION ${BINARY_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_NAME "GSE") | ||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) | ||
+ | |||
+ | SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${RESOURCE_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${RESOURCE_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUGEVALUATION ${RESOURCE_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASEEVALUATION ${RESOURCE_DIR}) | ||
+ | ENDIF(MSVC_IDE) | ||
+ | |||
+ | SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${RESOURCE_DIR}) | ||
+ | SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_NAME "${GSE_STREAMRUNTIME_APPNAME}") | ||
+ | |||
+ | # ========== Set preprocessor defines ========== | ||
+ | SET(PREPROCESSOR_DEFINES "${PREPROCESSOR_DEFINES};GSE_STREAMRUNTIME_BINARY_NAME=\"${GSE_STREAMRUNTIME_APPNAME}\";GSE_STREAMRUNTIME_ROOT_DIR=\"${GSE_ROOT_PATH_STREAMRUNTIME}\"") | ||
+ | |||
+ | SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS "${PREPROCESSOR_DEFINES}") | ||
+ | |||
+ | IF(NOT GSE_SDK_PROJECT) # Target GSElib doesn't exists in SDK build | ||
+ | SET_TARGET_PROPERTIES(GSElib PROPERTIES COMPILE_DEFINITIONS "${PREPROCESSOR_DEFINES};GSE_GSELIB") | ||
+ | SET_TARGET_PROPERTIES(GSElib PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "GSE_EVALUATION") | ||
+ | SET_TARGET_PROPERTIES(GSElib PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "GSE_EVALUATION") | ||
+ | SET_TARGET_PROPERTIES(Guiliani PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "GUILIANI_EVALUATION") | ||
+ | SET_TARGET_PROPERTIES(Guiliani PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "GUILIANI_EVALUATION") | ||
+ | IF(WIN32) | ||
+ | SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "eGML_EVALLIB") | ||
+ | SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "eGML_EVALLIB") | ||
+ | ELSE(WIN32) | ||
+ | SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "eGML_EVALLIB2") | ||
+ | SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "eGML_EVALLIB2") | ||
+ | ENDIF(WIN32) | ||
+ | ENDIF(NOT GSE_SDK_PROJECT) | ||
+ | |||
+ | IF(SDK_PACKAGE_GENERATOR) | ||
+ | IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../CPackPackages.cmake") | ||
+ | INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../CPackPackages.cmake) | ||
+ | ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../CPackPackages.cmake") | ||
+ | |||
+ | # add common to package | ||
+ | IF(EXISTS "${PATH_COMMON}/CPackPackages.cmake") | ||
+ | INCLUDE (${PATH_COMMON}/CPackPackages.cmake) | ||
+ | ENDIF(EXISTS "${PATH_COMMON}/CPackPackages.cmake") | ||
+ | |||
+ | # add GUIResourceCompiler to package | ||
+ | IF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CPackPackages.cmake") | ||
+ | INCLUDE (${GSE_ROOT_PATH_RESOURCECOMPILER}/CPackPackages.cmake) | ||
+ | ENDIF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CPackPackages.cmake") | ||
+ | |||
+ | # add Libs to package | ||
+ | IF(EXISTS "${PATH_LIBS}/CPackPackages.cmake") | ||
+ | INCLUDE (${PATH_LIBS}/CPackPackages.cmake) | ||
+ | ENDIF(EXISTS "${PATH_LIBS}/CPackPackages.cmake") | ||
+ | |||
+ | # add own package-file | ||
+ | INCLUDE(CPackPackages.cmake) | ||
+ | INCLUDE(CPackConfiguration.cmake) | ||
+ | IF(EXISTS "CPackAdditionalPackages.cmake") | ||
+ | INCLUDE(CPackAdditionalPackages.cmake) | ||
+ | ENDIF(EXISTS "CPackAdditionalPackages.cmake") | ||
+ | ENDIF(SDK_PACKAGE_GENERATOR) | ||
+ | |||
</nowiki> | </nowiki> |
Revision as of 18:27, 12 July 2018
#include "ExampleControl.h" #include "GfxWrap.h" #include "GUIStreamReader.h" #include "GUIStreamWriter.h" #include "GUIStreamingException.h" #include "GUIControlResource.h" #include "GUIMemLeakWatcher.h" // <-- has to be the last include #define EXAMPLE_CONTROL_CLASS_VERSION 1 // The minimal class version allowed. #define EXAMPLE_CONTROL_CLASS_MIN_VERSION 1 ExampleControl::ExampleControl( CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, eC_UInt uiInnerColor, eC_UInt uiBorderColor, eC_Value vBorderWidth, const ObjectHandle_t &eID) : CGUICompositeObject(pParent, vX, vY, vWidth, vHeight, eID), m_uiInnerColor(uiInnerColor), m_uiBorderColor(uiBorderColor), m_vBorderWidth(vBorderWidth) { SetXMLTag("ExampleControl"); } ExampleControl::ExampleControl() : m_uiInnerColor(0), m_uiBorderColor(0), m_vBorderWidth(eC_FromInt(0)) { SetXMLTag("ExampleControl"); } void ExampleControl::SetCenterColor(eC_UInt uiInnerColor) { if (uiInnerColor != m_uiInnerColor) { m_uiInnerColor = uiInnerColor; InvalidateArea(); } } void ExampleControl::SetBorderColor(eC_UInt uiBorderColor) { if (uiBorderColor != m_uiBorderColor) { m_uiBorderColor = uiBorderColor; InvalidateArea(); } } void ExampleControl::SetBorderWidth(eC_Value vBorderWidth) { if (vBorderWidth != m_vBorderWidth) { m_vBorderWidth = vBorderWidth; InvalidateArea(); } } void ExampleControl::Flip(const eC_Bool& rbVertical) { if (rbVertical) { // flip vertical means swap left and right side CGUIObject* pkCurrentObject; for (int i = 0; i < GetNumberOfChildren(); ++i) { pkCurrentObject = GetChild(i); if (pkCurrentObject->IsCompositeObject()) pkCurrentObject->IsAnimating(); //Flip(rbVertical); else { pkCurrentObject->SetRelXPos(GetWidth() - (pkCurrentObject->GetWidth() + pkCurrentObject->GetRelXPos())); pkCurrentObject->InvalidateArea(); } } } else { // flip horizontal means swap top and bottom side CGUIObject* pkCurrentObject; for (int i = 0; i < GetNumberOfChildren(); ++i) { pkCurrentObject = GetChild(i); if (pkCurrentObject->IsCompositeObject()) pkCurrentObject->IsAnimating(); //Flip(rbVertical); else { pkCurrentObject->SetRelYPos(GetHeight() - (pkCurrentObject->GetHeight() + pkCurrentObject->GetRelYPos())); pkCurrentObject->InvalidateArea(); } } } } void ExampleControl::Rotate(const eC_Int& riDegrees) { switch (riDegrees) { case 0: default: // do nothing break; case 90: { // rotate 90 degrees clockwise // width and height will be swapped // x and y of every object will be re-calculated and swapped CGUIRect r = GetRelRect(); SetWidth(r.GetHeight()); SetHeight(r.GetWidth()); CGUIObject* pkCurrentObject; for (int i = 0; i < GetNumberOfChildren(); ++i) { pkCurrentObject = GetChild(i); r = pkCurrentObject->GetRelRect(); pkCurrentObject->SetRelXPos(GetWidth() - (r.GetWidth() + r.GetY1())); pkCurrentObject->SetRelYPos(r.GetX1()); pkCurrentObject->SetWidth(r.GetHeight()); pkCurrentObject->SetHeight(r.GetWidth()); } InvalidateArea(); InvalidateChildren(); } break; case 180: Flip(false); Flip(true); break; case 270: { // rotate 270 degrees clockwise // width and height will be swapped // x and y of every object will be swapped CGUIRect r = GetRelRect(); SetWidth(r.GetHeight()); SetHeight(r.GetWidth()); CGUIObject* pkCurrentObject; for (int i = 0; i < GetNumberOfChildren(); ++i) { pkCurrentObject = GetChild(i); r = pkCurrentObject->GetRelRect(); pkCurrentObject->SetRelXPos(r.GetY1()); pkCurrentObject->SetRelYPos(r.GetX1()); pkCurrentObject->SetWidth(r.GetHeight()); pkCurrentObject->SetHeight(r.GetWidth()); } InvalidateArea(); InvalidateChildren(); } break; } } eC_Bool ExampleControl::DoDraw() { CGUIRect kAbsRect(GetAbsRect()); if (m_vBorderWidth != eC_FromInt(0)) { GETGFX.SetForegroundColor(m_uiBorderColor); GETGFX.FilledRect(kAbsRect); kAbsRect.Expand(-m_vBorderWidth); } GETGFX.SetForegroundColor(m_uiInnerColor); GETGFX.FilledRect(kAbsRect); return true; } #if defined(GUILIANI_STREAM_GUI) void ExampleControl::ReadFromStream() { ReadStreamingHeader(EXAMPLE_CONTROL_CLASS_VERSION, EXAMPLE_CONTROL_CLASS_MIN_VERSION); CGUICompositeObject::ReadFromStream(); m_uiInnerColor = GETINPUTSTREAM.READ_HEX("InnerColor"); m_uiBorderColor = GETINPUTSTREAM.READ_HEX("BorderColor"); m_vBorderWidth = eC_FromFloat(GETINPUTSTREAM.READ_FLOAT("BorderWidth")); } #endif #if defined(GUILIANI_WRITE_GUI) void ExampleControl::WriteToStream(const eC_Bool bWriteClassID) { WriteStreamingHeader(bWriteClassID, XMLTAG_CONTROLCLASSID, CTL_EXAMPLE, EXAMPLE_CONTROL_CLASS_VERSION); CGUICompositeObject::WriteToStream(); GETOUTPUTSTREAM.WriteHex(m_uiInnerColor, "InnerColor"); GETOUTPUTSTREAM.WriteHex(m_uiBorderColor, "BorderColor"); GETOUTPUTSTREAM.WriteFloat(eC_ToFloat(m_vBorderWidth), "BorderWidth"); WriteStreamingFooter(bWriteClassID); } #endif ---------------- CGfxWrapeGML* pkWrap = dynamic_cast<CGfxWrapeGML*>(&GETGFX); if (NULL != pkWrap) { eGML_Screen* pkScreen = pkWrap->GetScreen(); unsigned short* memory = (unsigned short*)pkScreen->Lock(); eC_UInt uiWidth = pkScreen->GetWidth(); eC_UInt uiHeight = pkScreen->GetHeight(); memset(memory, 0xf1, uiWidth * uiHeight); for (eC_UInt y = 0; y < uiHeight; ++y) { for (eC_UInt x = 0; x < uiWidth; ++x) { unsigned short val = memory[y * uiWidth + x]; memory[y * uiWidth + x] = (val + (x * y)) & 0xffff; } } pkScreen->Unlock(); // pkScreen->DrawLine(eGML_Vector2(0, 0), eGML_Vector2(10, 10), 0xff004400, 0, 1, 1); } ---------------- - auto-stretch for text - invalidate layout after resizing ------------------ # # This is the CMakeLists.txt file for the GSE # # ========== Minimum cmake version required ========== CMAKE_MINIMUM_REQUIRED(VERSION 3.0) SET(CMAKE_CXX_STANDARD 11) SET(PATH_COMMON "${CMAKE_CURRENT_SOURCE_DIR}/../CMake" CACHE PATH "CMake common files directory path") # ========== Setup configurations ========== INCLUDE("${PATH_COMMON}/Common_settings.cmake") # Configuration for SDK Installer IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CPackConfiguration.cmake") # Only add SDK settings if cmake installer files exists SET(SDK_PACKAGE_GENERATOR CACHE BOOL "Generate Guiliani SDK Install Packages") ELSE(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CPackConfiguration.cmake") MESSAGE(STATUS "GSE SDK Project.") SET(GSE_SDK_PROJECT 1) # Variable for activating SKD build ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CPackConfiguration.cmake") #Activate OGL per default SET(FORCE_ADD_OGL_PLATFORM 1) #Activate RTTI SET(FORCE_USE_RTTI 1) # ========== Set project name and version number ========== PROJECT(GSE VERSION "2.2.0") # ========== Include correct platform file ========== INCLUDE("${PATH_COMMON}/Platform.cmake") # ========== Output some information ========== INCLUDE("${PATH_COMMON}/Build_information.cmake") # StreamRuntime root path to find the custom extension SET(GSE_ROOT_PATH_STREAMRUNTIME "${PROJECT_SOURCE_DIR}/../StreamRuntime" CACHE PATH "StreamRuntime root path") SET(GSE_STREAMRUNTIME_APPNAME "StreamRuntime" CACHE STRING "StreamRuntime appliation name") SET(GSE_ROOT_PATH_RESOURCECOMPILER "${PROJECT_SOURCE_DIR}/GUIResourceCompiler" CACHE PATH "ResourceCompiler root path") # if SDK_PACKAGE_GENERATOR is set PATH_GSE needs to be empty IF(SDK_PACKAGE_GENERATOR) SET(PATH_GSE "" CACHE PATH "This path has to point to the GSE root directory. This path is set empty, so the variable GSE_PATH is used." FORCE ) SET(SDK_PACKAGE_GENERATOR_ADDITIONAL_PACKAGE "" CACHE PATH "Path to additonal CPackPackages.cmake") ENDIF(SDK_PACKAGE_GENERATOR) # if we have an SDK path needs to point to GSE-folder IF(GSE_SDK_PROJECT) SET(PATH_GSE "${PROJECT_SOURCE_DIR}" CACHE PATH "This path has to point to the GSE root directory.") ENDIF(GSE_SDK_PROJECT) LIST(APPEND PREPROCESSOR_DEFINES "PATH_GSE=\"${PATH_GSE}\"") # ========== Set application specific includes ========== INCLUDE_DIRECTORIES( "${PROJECT_SOURCE_DIR}/Include" "${PROJECT_SOURCE_DIR}/Include/Behaviour" "${PROJECT_SOURCE_DIR}/Include/Command" "${PROJECT_SOURCE_DIR}/Include/Control" "${PROJECT_SOURCE_DIR}/Include/Dialog" "${PROJECT_SOURCE_DIR}/Include/GUIConfig" "${PROJECT_SOURCE_DIR}/Include/Undo" "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/CustomExtension" "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/GUIConfigCustom" ) IF(NOT GSE_SDK_PROJECT) #Default case to build GSE # ========== Set include directories ========== INCLUDE("${PATH_COMMON}/Include_directories.cmake") INCLUDE_DIRECTORIES( "${GSE_ROOT_PATH_RESOURCECOMPILER}/Include" ) # ========== GSElib Source files ========== # SOURCE_GROUP creates the "folder-structure" in VS FILE(GLOB GSELIB_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/*.cpp") LIST(APPEND GSELIB_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/md5.cpp") FILE(GLOB GSELIB_BHVR_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Behaviour/*.cpp") FILE(GLOB GSELIB_CMD_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Command/*.cpp") FILE(GLOB GSELIB_CTRL_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Control/*.cpp") FILE(GLOB GSELIB_DIALOG_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Dialog/*.cpp") FILE(GLOB GSELIB_UNDO_SOURCE_CPP "${PROJECT_SOURCE_DIR}/Source/Undo/*.cpp") FILE(GLOB GSELIB_CUSTOM_TEMPLATES "${PROJECT_SOURCE_DIR}/Resources/CustomTemplates/*.tpl") SOURCE_GROUP("Source Files" FILES ${GSELIB_SOURCE_CPP}) SOURCE_GROUP("Source Files\\Behaviour" FILES ${GSELIB_BHVR_SOURCE_CPP}) SOURCE_GROUP("Source Files\\Command" FILES ${GSELIB_CMD_SOURCE_CPP}) SOURCE_GROUP("Source Files\\Control" FILES ${GSELIB_CTRL_SOURCE_CPP}) SOURCE_GROUP("Source Files\\Dialog" FILES ${GSELIB_DIALOG_SOURCE_CPP}) SOURCE_GROUP("Source Files\\Undo" FILES ${GSELIB_UNDO_SOURCE_CPP}) SOURCE_GROUP("Custom Templates" FILES ${GSELIB_CUSTOM_TEMPLATES}) FILE(GLOB GSELIB_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/*.h") FILE(GLOB GSELIB_BHVR_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Behaviour/*.h") FILE(GLOB GSELIB_CMD_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Command/*.h") FILE(GLOB GSELIB_CTRL_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Control/*.h") FILE(GLOB GSELIB_DIALOG_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Dialog/*.h") FILE(GLOB GSELIB_UNDO_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/Undo/*.h") FILE(GLOB GSELIB_GUICONFIG_SOURCE_H "${PROJECT_SOURCE_DIR}/Include/GUIConfig/*.h") SOURCE_GROUP("Header Files" FILES ${GSELIB_SOURCE_H}) SOURCE_GROUP("Header Files\\Behaviour" FILES ${GSELIB_BHVR_SOURCE_H}) SOURCE_GROUP("Header Files\\Command" FILES ${GSELIB_CMD_SOURCE_H}) SOURCE_GROUP("Header Files\\Control" FILES ${GSELIB_CTRL_SOURCE_H}) SOURCE_GROUP("Header Files\\Dialog" FILES ${GSELIB_DIALOG_SOURCE_H}) SOURCE_GROUP("Header Files\\Undo" FILES ${GSELIB_UNDO_SOURCE_H}) SOURCE_GROUP("Header Files\\GUIConfig" FILES ${GSELIB_GUICONFIG_SOURCE_H}) FILE(GLOB GSELIB_LANGUAGE_FILES "${PROJECT_SOURCE_DIR}/Resources/LanguageFiles/*.lng") SOURCE_GROUP("Language Files" FILES ${GSELIB_LANGUAGE_FILES}) # ========== Create complete list of files for GSElib ========== SET(GSELIB_SOURCES_LIST ${GSELIB_SOURCE_CPP} ${GSELIB_BHVR_SOURCE_CPP} ${GSELIB_CMD_SOURCE_CPP} ${GSELIB_CTRL_SOURCE_CPP} ${GSELIB_DIALOG_SOURCE_CPP} ${GSELIB_UNDO_SOURCE_CPP} ${GSELIB_CUSTOM_TEMPLATES} ${GSELIB_SOURCE_H} ${GSELIB_BHVR_SOURCE_H} ${GSELIB_CMD_SOURCE_H} ${GSELIB_CTRL_SOURCE_H} ${GSELIB_DIALOG_SOURCE_H} ${GSELIB_UNDO_SOURCE_H} ${GSELIB_GUICONFIG_SOURCE_H} ${GSELIB_LANGUAGE_FILES} ${PLATFORM_FILES_GSELIB} ) SET(GSE_GUICONFIG_CPP "${PATH_GUILIANI}/Share/GUIConfig.cpp") # GUIConfig.cpp from Guiliani path ELSE(NOT GSE_SDK_PROJECT) #SDK uses the directories inside the GSE structure INCLUDE_DIRECTORIES( "${PROJECT_SOURCE_DIR}/../eGaC/Include/eC" "${PROJECT_SOURCE_DIR}/../eGaC/Include/eDBG" "${PROJECT_SOURCE_DIR}/../eGaC/Include/eGML" "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Core" "${PROJECT_SOURCE_DIR}/../Guiliani/Include/GUIConfig" "${PROJECT_SOURCE_DIR}/../Guiliani/Include/ImageDecoder" "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Platform/eGML" "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Platform/general" "${PROJECT_SOURCE_DIR}/../Guiliani/Include/Platform/GL" ) INCLUDE("${PATH_COMMON}/Include_directories.cmake") SET(GSE_GUICONFIG_CPP "${PROJECT_SOURCE_DIR}/../Guiliani/Share/GUIConfig.cpp") # GUIConfig.cpp from inside GSE ENDIF(NOT GSE_SDK_PROJECT) # ========== GSE Source files ========== # SOURCE_GROUP creates the "folder-structure" in VS SOURCE_GROUP("GUIConfig" FILES ${GSE_GUICONFIG_CPP}) FILE(GLOB GSE_CUSTOM_SOURCE_CPP "${GSE_ROOT_PATH_STREAMRUNTIME}/Source/CustomExtension/*.cpp") SOURCE_GROUP("Source Files\\Custom Extension" FILES ${GSE_CUSTOM_SOURCE_CPP}) FILE(GLOB GSE_CUSTOM_SOURCE_H "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/CustomExtension/*.h") FILE(GLOB GSE_CUSTOM_GUICONFIG_SOURCE_H "${GSE_ROOT_PATH_STREAMRUNTIME}/Include/GUIConfigCustom/*.h") SOURCE_GROUP("Header Files\\Custom Extension" FILES ${GSE_CUSTOM_SOURCE_H}) SOURCE_GROUP("Header Files\\Custom Resource IDs" FILES ${GSE_CUSTOM_GUICONFIG_SOURCE_H}) FILE(GLOB GSE_PLATFORM_GENERAL_CPP "${PROJECT_SOURCE_DIR}/Source/Platform/general/*.cpp") SOURCE_GROUP("Source Files\\Platform\\General" FILES ${GSE_PLATFORM_GENERAL_CPP}) # ========== Create complete list of files for GSE binary ========== SET(GSE_SOURCES_LIST ${GSE_GUICONFIG_CPP} ${GSE_CUSTOM_SOURCE_CPP} ${GSE_CUSTOM_SOURCE_H} ${GSE_CUSTOM_GUICONFIG_SOURCE_H} ${GSE_PLATFORM_GENERAL_CPP} ${RESOURCE_FILE} ) SET(GSE_PROJECT 1) #this variable is used in StreamRuntime and ResourceCompiler to avoid adding Guiliani and eGaC project twice. ADD_EXECUTABLE(${PROJECT_NAME} ${ADD_EXECUTABLE_PARAMETERS} ${GSE_SOURCES_LIST}) # ========== Add StreamRuntime ========== ADD_SUBDIRECTORY("${GSE_ROOT_PATH_STREAMRUNTIME}" StreamRuntime) IF(NOT GSE_SDK_PROJECT) #if no SDK we add to solution: GSElib, Guiliani, GUIResourceCompiler and link against these projects. # ========== Add eGaC ========== IF(EXISTS "${PATH_EGAC}/CMakeLists.txt") ADD_SUBDIRECTORY("${PATH_EGAC}" ./eGaC) ELSE(EXISTS "${PATH_EGAC}/CMakeLists.txt") MESSAGE(FATAL_ERROR "Path not set or wrong to eGaC directory.") ENDIF(EXISTS "${PATH_EGAC}/CMakeLists.txt") # ========== Add Guiliani ========== IF(EXISTS "${PATH_GUILIANI}/CMakeLists.txt") ADD_SUBDIRECTORY("${PATH_GUILIANI}" ./Guiliani) ELSE(EXISTS "${PATH_GUILIANI}/CMakeLists.txt") MESSAGE(FATAL_ERROR "Path not set or wrong to Guiliani directory.") ENDIF(EXISTS "${PATH_GUILIANI}/CMakeLists.txt") # ========== Add GUIResourceCompiler ========== IF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CMakeLists.txt") ADD_SUBDIRECTORY("${GSE_ROOT_PATH_RESOURCECOMPILER}" ./GUIResourceCompiler) ELSE(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CMakeLists.txt") MESSAGE(FATAL_ERROR "Path not set or wrong to GUIResourceCompiler directory.") ENDIF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CMakeLists.txt") # ========== Build GSE library ========== ADD_LIBRARY(GSElib STATIC ${GSELIB_SOURCES_LIST}) ENDIF(NOT GSE_SDK_PROJECT) # ========== Link the executable to the needed libraries ========== TARGET_LINK_LIBRARIES(${PROJECT_NAME} GSElib GUIResourceCompilerLib Guiliani eGaC ${PLATFORM_LIBS} ) # ========== StreamRuntime must be build prior to GSE ========== ADD_DEPENDENCIES(${PROJECT_NAME} ${GSE_STREAMRUNTIME_APPNAME}) # ========== Set output directories ========== SET(RESOURCE_DIR "${PROJECT_SOURCE_DIR}/Resources") IF(MSVC_IDE) SET(BINARY_DIR "${PROJECT_SOURCE_DIR}") SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${BINARY_DIR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${BINARY_DIR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUGEVALUATION ${BINARY_DIR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASEEVALUATION ${BINARY_DIR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_NAME "GSE") SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${RESOURCE_DIR}) SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${RESOURCE_DIR}) SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUGEVALUATION ${RESOURCE_DIR}) SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASEEVALUATION ${RESOURCE_DIR}) ENDIF(MSVC_IDE) SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${RESOURCE_DIR}) SET_TARGET_PROPERTIES(${GSE_STREAMRUNTIME_APPNAME} PROPERTIES RUNTIME_OUTPUT_NAME "${GSE_STREAMRUNTIME_APPNAME}") # ========== Set preprocessor defines ========== SET(PREPROCESSOR_DEFINES "${PREPROCESSOR_DEFINES};GSE_STREAMRUNTIME_BINARY_NAME=\"${GSE_STREAMRUNTIME_APPNAME}\";GSE_STREAMRUNTIME_ROOT_DIR=\"${GSE_ROOT_PATH_STREAMRUNTIME}\"") SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS "${PREPROCESSOR_DEFINES}") IF(NOT GSE_SDK_PROJECT) # Target GSElib doesn't exists in SDK build SET_TARGET_PROPERTIES(GSElib PROPERTIES COMPILE_DEFINITIONS "${PREPROCESSOR_DEFINES};GSE_GSELIB") SET_TARGET_PROPERTIES(GSElib PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "GSE_EVALUATION") SET_TARGET_PROPERTIES(GSElib PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "GSE_EVALUATION") SET_TARGET_PROPERTIES(Guiliani PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "GUILIANI_EVALUATION") SET_TARGET_PROPERTIES(Guiliani PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "GUILIANI_EVALUATION") IF(WIN32) SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "eGML_EVALLIB") SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "eGML_EVALLIB") ELSE(WIN32) SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_DEBUGEVALUATION "eGML_EVALLIB2") SET_TARGET_PROPERTIES(eGaC PROPERTIES COMPILE_DEFINITIONS_RELEASEEVALUATION "eGML_EVALLIB2") ENDIF(WIN32) ENDIF(NOT GSE_SDK_PROJECT) IF(SDK_PACKAGE_GENERATOR) IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../CPackPackages.cmake") INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../CPackPackages.cmake) ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../CPackPackages.cmake") # add common to package IF(EXISTS "${PATH_COMMON}/CPackPackages.cmake") INCLUDE (${PATH_COMMON}/CPackPackages.cmake) ENDIF(EXISTS "${PATH_COMMON}/CPackPackages.cmake") # add GUIResourceCompiler to package IF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CPackPackages.cmake") INCLUDE (${GSE_ROOT_PATH_RESOURCECOMPILER}/CPackPackages.cmake) ENDIF(EXISTS "${GSE_ROOT_PATH_RESOURCECOMPILER}/CPackPackages.cmake") # add Libs to package IF(EXISTS "${PATH_LIBS}/CPackPackages.cmake") INCLUDE (${PATH_LIBS}/CPackPackages.cmake) ENDIF(EXISTS "${PATH_LIBS}/CPackPackages.cmake") # add own package-file INCLUDE(CPackPackages.cmake) INCLUDE(CPackConfiguration.cmake) IF(EXISTS "CPackAdditionalPackages.cmake") INCLUDE(CPackAdditionalPackages.cmake) ENDIF(EXISTS "CPackAdditionalPackages.cmake") ENDIF(SDK_PACKAGE_GENERATOR)