Setup: VLD

Added VLD for windows

reviewer=ebsi
This commit is contained in:
Manuel Dobusch
2014-04-02 15:38:03 +02:00
parent 27e68e0e1e
commit 195e7bb574
6 changed files with 61 additions and 20 deletions
+42 -19
View File
@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 2.8.9)
include(cmake/add_files.cmake)
include(cmake/create_source_groups.cmake)
# Variables --------------------------------------------------------------------
set(PROJECT_NAME masterproject)
@@ -12,6 +11,10 @@ set(APP_PROJECT_NAME "${PROJECT_NAME}_app")
set(LIB_PROJECT_NAME "${PROJECT_NAME}_lib")
set(TEST_PROJECT_NAME "${PROJECT_NAME}_test")
if (WIN32)
set(PLATFORM_INCLUDES "#include \"includesWindows.h\"")
LINK_DIRECTORIES($ENV{VLD_DIR}/lib/Win32) # this adds the library path for VLD, must be done before the project target is created
endif()
# Settings ---------------------------------------------------------------------
@@ -38,15 +41,17 @@ add_library(${LIB_PROJECT_NAME} ${LIB_FILES})
create_source_groups(${LIB_FILES})
set_target_properties( ${LIB_PROJECT_NAME}
PROPERTIES DEBUG_OUTPUT_NAME ${PROJECT_NAME}_d
RELEASE_OUTPUT_NAME ${PROJECT_NAME})
set_target_properties(
${LIB_PROJECT_NAME}
PROPERTIES DEBUG_OUTPUT_NAME ${PROJECT_NAME}_d
RELEASE_OUTPUT_NAME ${PROJECT_NAME}
)
# App --------------------------------------------------------------------------
add_subdirectory(src/app)
include_directories(src/lib src/app)
include_directories(src/lib src/app build/src/app)
# Find includes in corresponding build directories
@@ -59,7 +64,6 @@ set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
find_package(Qt5Widgets)
add_executable(${APP_PROJECT_NAME} ${APP_FILES})
create_source_groups(${APP_FILES})
@@ -69,10 +73,14 @@ target_link_libraries(${APP_PROJECT_NAME} ${LIB_PROJECT_NAME})
# Use the Widgets module from Qt 5.
qt5_use_modules(${APP_PROJECT_NAME} Widgets)
# configure platform specific include file
configure_file(
"${PROJECT_SOURCE_DIR}/src/app/includes.h.in"
"${PROJECT_SOURCE_DIR}/build/src/app/includes.h"
)
set(CMAKE_AUTOMOC OFF)
# CxxTest ----------------------------------------------------------------------
add_subdirectory(src/test)
@@ -99,25 +107,40 @@ target_link_libraries(${TEST_PROJECT_NAME} ${LIB_PROJECT_NAME})
if (WIN32)
add_custom_command(TARGET ${TEST_PROJECT_NAME}
PRE_BUILD
COMMAND ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${PROJECT_SOURCE_DIR}/src/test/*.h
COMMENT "Generating unittest code with cxxtestgen")
add_custom_command(
TARGET ${TEST_PROJECT_NAME}
PRE_BUILD
COMMAND ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${PROJECT_SOURCE_DIR}/src/test/*.h
COMMENT "Generating unittest code with cxxtestgen"
)
add_custom_command(TARGET ${TEST_PROJECT_NAME}
POST_BUILD
COMMAND $(OutDir)$(TargetName)$(TargetExt)
COMMENT "Running unittest code")
add_custom_command(
TARGET ${TEST_PROJECT_NAME}
POST_BUILD
COMMAND $(OutDir)$(TargetName)$(TargetExt)
COMMENT "Running unittest code"
)
elseif (UNIX)
add_custom_command(OUTPUT ${TESTGEN_FILE}
PRE_BUILD
COMMAND ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${PROJECT_SOURCE_DIR}/src/test/*.h
COMMENT "Generating unittest code with cxxtestgen")
add_custom_command(
OUTPUT ${TESTGEN_FILE}
PRE_BUILD
COMMAND ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${PROJECT_SOURCE_DIR}/src/test/*.h
COMMENT "Generating unittest code with cxxtestgen"
)
add_custom_target(gen DEPENDS ${TESTGEN_FILE})
add_dependencies(${TEST_PROJECT_NAME} gen)
endif ()
# Visual Leak Detector ---------------------------------------------------------
if (WIN32)
include_directories($ENV{VLD_DIR}/include)
endif()
+3
View File
@@ -12,6 +12,9 @@
* QT_DIR - ...\Qt\Qt5.2.1\5.2.1\<IDE>\
* CXX_TEST_DIR - .../cxxtest-4.3/
For Win32:
* VLD_DIR - .../Visual Leak Detector
##### Settings
Run setup script:
+2 -1
View File
@@ -3,6 +3,7 @@ add_files(
qt/QtElementFactory.cpp
qt/QtElementFactory.h
includesWindows.h
main.cpp
)
+7
View File
@@ -0,0 +1,7 @@
#ifndef INCLUDES_H
#define INCLUDES_H
// platform specific includes
@PLATFORM_INCLUDES@
#endif // INCLUDES_H
+6
View File
@@ -0,0 +1,6 @@
#ifndef INCLUDES_WINDOWS_H
#define INCLUDES_WINDOWS_H
#include "vld.h"
#endif // INCLUDES_WINDOWS_H
+1
View File
@@ -4,6 +4,7 @@
#include <QTextEdit>
#include "Application.h"
#include "includes.h"
#include "qt/QtElementFactory.h"
int main(int argv, char **args)