summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-06-13 08:52:55 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-06-13 08:52:55 (GMT)
commit053e9bc973fbe88fc41a34064ffadc0deabac58d (patch)
tree6aeee286577159ffcb612d41972a9d18ab685c6d /CMakeLists.txt
parent6e13c7b6e0888323223afd5d2e36e86243df57af (diff)
downloaduscxml-053e9bc973fbe88fc41a34064ffadc0deabac58d.zip
uscxml-053e9bc973fbe88fc41a34064ffadc0deabac58d.tar.gz
uscxml-053e9bc973fbe88fc41a34064ffadc0deabac58d.tar.bz2
Fixed dozens of memory leaks
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt50
1 files changed, 40 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ea51da..40743b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,16 +239,16 @@ CheckHasModule(XercesC)
if (HAS_MODULE_XercesC)
find_package(XercesC)
else()
- message(STATUS "Could NOT find XercesC (your CMake distribution does not include the FindXercesC module)")
-
# make a quick attempt to find xerces
INCLUDE(FindPackageHandleStandardArgs)
find_path(XercesC_INCLUDE_DIR NAMES "xercesc/util/PlatformUtils.hpp")
find_library(XercesC_LIBRARY NAMES "xerces-c" "xerces-c_3")
- mark_as_advanced(XercesC_LIBRARY)
+ mark_as_advanced(XercesC_LIBRARIES)
mark_as_advanced(XercesC_INCLUDE_DIR)
- if (XercesC_INCLUDE_DIR AND XercesC_LIBRARY)
+ if (XercesC_INCLUDE_DIR AND XercesC_LIBRARIES)
set(XercesC_FOUND ON)
+ else()
+ message(STATUS "Could NOT find XercesC (your CMake distribution does not include the FindXercesC module)")
endif()
endif()
@@ -324,8 +324,8 @@ find_package(SWIG)
# JavaScriptCore
-OPTION(IGNORE_JSC "Do not search for JavaScriptCore" OFF)
-if (NOT IGNORE_JSC)
+OPTION(WITH_DM_ECMA_JSC "Do search for JavaScriptCore" ON)
+if (WITH_DM_ECMA_JSC)
find_package(JSC)
if (JSC_FOUND)
set(ECMA_FOUND ON)
@@ -333,23 +333,27 @@ if (NOT IGNORE_JSC)
include_directories(${JSC_INCLUDE_DIR})
endif()
list (APPEND USCXML_OPT_LIBS ${JSC_LIBRARY})
+ else()
+ set(WITH_DM_ECMA_JSC OFF)
endif()
endif()
# V8
-OPTION(IGNORE_V8 "Do not search for the V8 ECMAScript implementation" OFF)
-if (NOT IGNORE_V8)
+OPTION(WITH_DM_ECMA_V8 "Do search for the V8 ECMAScript implementation" ON)
+if (WITH_DM_ECMA_V8)
find_package(V8)
if (V8_FOUND)
set(ECMA_FOUND ON)
include_directories(${V8_INCLUDE_DIR})
list (APPEND USCXML_OPT_LIBS ${V8_LIBRARY})
+ else()
+ set(WITH_DM_ECMA_V8 OFF)
endif()
endif()
# Lua
-OPTION(IGNORE_LUA "Do not search for the Lua libraries" OFF)
-if (NOT IGNORE_LUA)
+OPTION(WITH_DM_LUA "Do search for the Lua libraries" ON)
+if (WITH_DM_LUA)
if (WIN32)
# LuaForWindows https://code.google.com/archive/p/luaforwindows/downloads
set(ENV{LUA_DIR} "C:/Program Files (x86)/Lua/5.1/")
@@ -359,6 +363,8 @@ if (NOT IGNORE_LUA)
include_directories (${LUA_INCLUDE_DIR})
include_directories(${PROJECT_SOURCE_DIR}/contrib/src/LuaBridge)
list (APPEND USCXML_OPT_LIBS ${LUA_LIBRARIES})
+ else()
+ set(WITH_DM_LUA OFF)
endif()
endif()
@@ -423,6 +429,30 @@ endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/uscxml/config.h)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test/ctest/CTestCustom.ctest.in ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.ctest)
+############################################################
+# Sort files into goups in IDEs
+############################################################
+
+
+set(ALL_SOURCE_FILES ${USCXML_FILES} ${USCXML_TRANSFORM_FILES})
+list(SORT USCXML_FILES)
+list(SORT USCXML_TRANSFORM_FILES)
+# we cannot define source groups in sub directories!
+foreach( FILE ${ALL_SOURCE_FILES} )
+
+ get_filename_component(PATH ${FILE} PATH)
+ file(RELATIVE_PATH REL_PATH ${PROJECT_SOURCE_DIR} "${PATH}")
+ string(REGEX REPLACE "src/uscxml" "" REL_PATH "${REL_PATH}")
+ string(REGEX REPLACE "contrib/src" "contrib" REL_PATH "${REL_PATH}")
+
+ string(REGEX REPLACE "^/" "" REL_PATH "${REL_PATH}") # leading slash
+ string(REGEX REPLACE "/" "\\\\" SRC_GROUP "${REL_PATH}") # escape /
+
+ source_group("${SRC_GROUP}" FILES ${FILE})
+
+endforeach()
+
+
# all variables that cmake knows about
# get_cmake_property(_variableNames VARIABLES)
# foreach (_variableName ${_variableNames})