|
From: <pat...@us...> - 2012-08-12 18:30:30
|
Revision: 708
http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=708&view=rev
Author: patrickh
Date: 2012-08-12 18:30:22 +0000 (Sun, 12 Aug 2012)
Log Message:
-----------
Merged the following changes from the trunk:
r704: Change hard tabs to four space indentation.
r705: From the submission:
* Adds helper files to the CMake build to make it easier to
find in other CMake projects
* Adds versioned library files back to the build
* Places the flagpoll file in the lib directory rather than
the share directory
r706: Fix flagpoll file creation when using Clang.
r707: Fix flagpoll file installation on Windows.
Revision Links:
--------------
http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=704&view=rev
http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=705&view=rev
http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=706&view=rev
http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=707&view=rev
Modified Paths:
--------------
branches/1.2/CMakeLists.txt
branches/1.2/cppdom/CMakeLists.txt
branches/1.2/test/CMakeLists.txt
Added Paths:
-----------
branches/1.2/Usecppdom.cmake.in
branches/1.2/cmake/Findcppdom.cmake
branches/1.2/cppdomBuildTreeSettings.cmake.in
branches/1.2/cppdomConfig.cmake.in
branches/1.2/cppdomConfigVersion.cmake.in
Removed Paths:
-------------
branches/1.2/cmake/FindCPPDOM.cmake
Modified: branches/1.2/CMakeLists.txt
===================================================================
--- branches/1.2/CMakeLists.txt 2012-08-12 18:27:03 UTC (rev 707)
+++ branches/1.2/CMakeLists.txt 2012-08-12 18:30:22 UTC (rev 708)
@@ -12,7 +12,7 @@
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_VERSION
- "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+ "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(VERSION_UNDERSCORES "${CPACK_PACKAGE_VERSION_MAJOR}_${CPACK_PACKAGE_VERSION_MINOR}_${CPACK_PACKAGE_VERSION_PATCH}")
###
@@ -21,60 +21,66 @@
# TODO this is not ideal/complete
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- set(arch "x86_64")
- set(ARCH_DIR lib64)
+ set(arch "x86_64")
+ set(ARCH_DIR lib64)
else()
- set(arch "x86")
- set(ARCH_DIR lib)
+ set(arch "x86")
+ set(ARCH_DIR lib)
endif()
# Define directories
set(BIN_DIR bin)
-set(FLAGPOLL_INFO_DIR share/flagpoll)
+
if(WIN32)
- set(LIB_DIR bin)
- set(INCLUDE_DIR include)
+ set(LIB_DIR bin)
+ set(INCLUDE_DIR include)
else()
- set(LIB_DIR ${ARCH_DIR})
- set(INCLUDE_DIR include/cppdom-${CPACK_PACKAGE_VERSION})
+ set(LIB_DIR ${ARCH_DIR})
+ set(INCLUDE_DIR include/cppdom-${CPACK_PACKAGE_VERSION})
endif()
+set(FLAGPOLL_INFO_DIR ${ARCH_DIR}/flagpoll)
+
# Create flagpoll file
set(provides "cppdom")
set(version "${CPACK_PACKAGE_VERSION}")
set(prefix "\${fp_file_cwd}/../..")
set(exec_prefix "\${prefix}")
set(includedir "\${fp_file_cwd}/../../${INCLUDE_DIR}")
-set(libdir "\${fp_file_cwd}/../../${LIB_DIR}")
+set(libdir "\${fp_file_cwd}/../../${ARCH_DIR}")
-if(CMAKE_COMPILER_IS_GNUCXX)
- set(cppdom_cxxflags "-Wno-deprecated")
- set(include_path_flag "-I")
- set(cppdom_libs "-lcppdom-${VERSION_UNDERSCORES}")
- set(lib_path_flag "-L")
+if(CMAKE_COMPILER_IS_GNUCXX OR ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) )
+ set(cppdom_cxxflags "-Wno-deprecated")
+ set(include_path_flag "-I")
+ set(cppdom_libs "-lcppdom-${VERSION_UNDERSCORES}")
+ set(lib_path_flag "-L")
elseif(MSVC)
- set(include_path_flag "/I")
- set(lib_path_flag "/L")
+ set(include_path_flag "/I")
+ set(lib_path_flag "/L")
else()
- message(FATAL_ERROR "Compiler not recognized - can't generate values for Flagpoll file")
+ message(FATAL_ERROR "Compiler not recognized - can't generate values for Flagpoll file")
endif()
configure_file(cppdom.fpc.in "${CMAKE_CURRENT_BINARY_DIR}/cppdom.fpc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cppdom.fpc"
- DESTINATION ${FLAGPOLL_INFO_DIR}
- COMPONENT Development)
+ DESTINATION ${FLAGPOLL_INFO_DIR}
+ COMPONENT Development)
install(FILES cppdom-config
- DESTINATION ${BIN_DIR}
- COMPONENT Development)
+ DESTINATION ${BIN_DIR}
+ COMPONENT Development)
###
# Perform build configuration of dependencies
###
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+
include(CTest)
-find_package(Boost)
+option( BUILD_SPIRIT_PARSER "Set to ON to build the SpiritParser based on the Boost Spirit library." OFF )
+if(BUILD_SPIRIT_PARSER)
+ find_package(Boost)
+endif(BUILD_SPIRIT_PARSER)
###
# Build the project
@@ -91,12 +97,12 @@
# Choose desired package generators
if(APPLE)
- set(CPACK_GENERATOR DragNDrop)
- set(CPACK_SOURCE_GENERATOR ZIP)
+ set(CPACK_GENERATOR DragNDrop)
+ set(CPACK_SOURCE_GENERATOR ZIP)
elseif(WIN32)
- set(CPACK_SOURCE_GENERATOR ZIP)
+ set(CPACK_SOURCE_GENERATOR ZIP)
else()
- set(CPACK_SOURCE_GENERATOR TARGZ)
+ set(CPACK_SOURCE_GENERATOR TARGZ)
endif()
# Include the packaging system now that we have it all set up
@@ -105,3 +111,43 @@
###
# End Packaging
###
+
+# Install the CMake find script for cppdom
+install( FILES "cmake/Findcppdom.cmake"
+ DESTINATION "share/${CMAKE_PROJECT_NAME}/extra"
+ COMPONENT Development )
+
+#
+# Create and install all of the auto find tools
+# =============================================
+
+# Add all targets to the build-tree export set
+export(TARGETS cppdom
+ FILE "${PROJECT_BINARY_DIR}/${ARCH_DIR}/cppdomLibraryDepends.cmake")
+
+# Export the package for use from the build-tree
+# (this registers the build-tree with a global CMake-registry)
+export(PACKAGE cppdom)
+
+# Create a cppdomBuildTreeSettings.cmake file for the use from the build tree
+configure_file(cppdomBuildTreeSettings.cmake.in
+ "${PROJECT_BINARY_DIR}/${ARCH_DIR}/cppdomBuildTreeSettings.cmake" @ONLY)
+
+configure_file(cppdomConfigVersion.cmake.in
+ "${PROJECT_BINARY_DIR}/${ARCH_DIR}/cppdomConfigVersion.cmake" @ONLY)
+configure_file(Usecppdom.cmake.in
+ "${PROJECT_BINARY_DIR}/${ARCH_DIR}/Usecppdom.cmake" @ONLY)
+
+# Install the export set for use with the install-tree
+install(EXPORT cppdom-targets DESTINATION ${ARCH_DIR})
+
+include( CMakePackageConfigHelpers )
+configure_package_config_file(
+ cppdomConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${ARCH_DIR}/cppdomConfig.cmake
+ INSTALL_DESTINATION ${ARCH_DIR}
+ PATH_VARS INCLUDE_DIR )
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${ARCH_DIR}/cppdomConfig.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/${ARCH_DIR}/cppdomConfigVersion.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/${ARCH_DIR}/Usecppdom.cmake
+ DESTINATION ${ARCH_DIR} )
Copied: branches/1.2/Usecppdom.cmake.in (from rev 707, trunk/Usecppdom.cmake.in)
===================================================================
--- branches/1.2/Usecppdom.cmake.in (rev 0)
+++ branches/1.2/Usecppdom.cmake.in 2012-08-12 18:30:22 UTC (rev 708)
@@ -0,0 +1,50 @@
+#
+# This module is provided as cppdom_USE_FILE by cppdomConfig.cmake. It can
+# be INCLUDEd in a project to load the needed compiler and linker
+# settings to use cppdom.
+#
+
+IF(NOT cppdom_USE_FILE_INCLUDED)
+ SET(cppdom_USE_FILE_INCLUDED 1)
+
+ # Update CMAKE_MODULE_PATH so includes work.
+ #SET (CMAKE_MODULE_PATH
+ # ${CMAKE_MODULE_PATH}
+ # ${cppdom_CMAKE_DIR})
+
+ # Add compiler flags needed to use cppdom.
+ #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${cppdom_REQUIRED_C_FLAGS}")
+ #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${cppdom_REQUIRED_CXX_FLAGS}")
+ #SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${cppdom_REQUIRED_EXE_LINKER_FLAGS}")
+ #SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${cppdom_REQUIRED_SHARED_LINKER_FLAGS}")
+ #SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${cppdom_REQUIRED_MODULE_LINKER_FLAGS}")
+
+ # Add include directories needed to use cppdom.
+ INCLUDE_DIRECTORIES(${cppdom_INCLUDE_DIRS})
+
+ENDIF(NOT cppdom_USE_FILE_INCLUDED)
+#
+# This module is provided as cppdom_USE_FILE by cppdomConfig.cmake. It can
+# be INCLUDEd in a project to load the needed compiler and linker
+# settings to use cppdom.
+#
+
+IF(NOT cppdom_USE_FILE_INCLUDED)
+ SET(cppdom_USE_FILE_INCLUDED 1)
+
+ # Update CMAKE_MODULE_PATH so includes work.
+ #SET (CMAKE_MODULE_PATH
+ # ${CMAKE_MODULE_PATH}
+ # ${cppdom_CMAKE_DIR})
+
+ # Add compiler flags needed to use cppdom.
+ #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${cppdom_REQUIRED_C_FLAGS}")
+ #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${cppdom_REQUIRED_CXX_FLAGS}")
+ #SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${cppdom_REQUIRED_EXE_LINKER_FLAGS}")
+ #SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${cppdom_REQUIRED_SHARED_LINKER_FLAGS}")
+ #SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${cppdom_REQUIRED_MODULE_LINKER_FLAGS}")
+
+ # Add include directories needed to use cppdom.
+ INCLUDE_DIRECTORIES(${cppdom_INCLUDE_DIRS})
+
+ENDIF(NOT cppdom_USE_FILE_INCLUDED)
Deleted: branches/1.2/cmake/FindCPPDOM.cmake
===================================================================
--- branches/1.2/cmake/FindCPPDOM.cmake 2012-08-12 18:27:03 UTC (rev 707)
+++ branches/1.2/cmake/FindCPPDOM.cmake 2012-08-12 18:30:22 UTC (rev 708)
@@ -1,176 +0,0 @@
-# - try to find CPPDOM library
-# Optionally uses Flagpoll and FindFlagpoll.cmake
-#
-# CPPDOM_LIBRARY_DIR, library search path
-# CPPDOM_INCLUDE_DIR, include search path
-# CPPDOM_LIBRARY, the library to link against
-# CPPDOM_CXX_FLAGS
-# CPPDOM_FOUND, If false, do not try to use this library.
-#
-# Useful configuration variables you might want to add to your cache:
-# CPPDOM_ROOT_DIR - A directory prefix to search
-# (a path that contains include/ as a subdirectory)
-# CPPDOM_ADDITIONAL_VERSIONS - Additional versions (outside of 0.7.8 to 1.0.0)
-# to use when constructing search names and paths
-#
-# This script will use Flagpoll, if found, to provide hints to the location
-# of this library, but does not use the compiler flags returned by Flagpoll
-# directly.
-#
-# VR Juggler requires this package, so this Find script takes that into
-# account when determining where to search for the desired files.
-# The VJ_BASE_DIR environment variable is searched (preferentially)
-# when searching for this package, so most sane VR Juggler build environments
-# should "just work." Note that you need to manually re-run CMake if you
-# change this environment variable, because it cannot auto-detect this change
-# and trigger an automatic re-run.
-#
-# Original Author:
-# 2009-2010 Ryan Pavlik <rp...@ia...> <ab...@ry...>
-# http://academic.cleardefinition.com
-# Iowa State University HCI Graduate Program/VRAC
-#
-# Copyright Iowa State University 2009-2010.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-set(_HUMAN "cppdom")
-set(_HEADER cppdom/cppdom.h)
-set(_FP_PKG_NAME cppdom)
-
-set(CPPDOM_VERSIONS
- ${CPPDOM_ADDITIONAL_VERSIONS}
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.7.10
- 0.7.9
- 0.7.8)
-set(CPPDOM_DIRS)
-set(CPPDOM_RELEASE_LIB_NAMES)
-set(CPPDOM_DEBUG_LIB_NAMES)
-foreach(_version ${CPPDOM_VERSIONS})
- string(REGEX REPLACE "[-\\.]" "_" _versionclean ${_version})
- list(APPEND CPPDOM_DIRS cppdom-${_version})
- list(APPEND CPPDOM_HEADER_DIRS include/cppdom-${_version})
- list(APPEND CPPDOM_RELEASE_LIB_NAMES cppdom-${_versionclean})
- list(APPEND CPPDOM_DEBUG_LIB_NAMES cppdom_d-${_versionclean})
-endforeach()
-
-include(SelectLibraryConfigurations)
-include(CreateImportedTarget)
-include(CleanLibraryList)
-include(CleanDirectoryList)
-
-if(CPPDOM_INCLUDE_DIRS AND CPPDOM_LIBRARIES)
- # in cache already
- set(CPPDOM_FIND_QUIETLY TRUE)
-endif()
-
-# Try flagpoll.
-find_package(Flagpoll QUIET)
-
-if(FLAGPOLL)
- flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS)
- flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS)
- flagpoll_get_library_names(${_FP_PKG_NAME} NO_DEPS)
-endif()
-
-set(CPPDOM_ROOT_DIR
- "${CPPDOM_ROOT_DIR}"
- CACHE
- PATH
- "Root directory to search for CPPDOM")
-if(DEFINED VRJUGGLER22_ROOT_DIR)
- mark_as_advanced(CPPDOM_ROOT_DIR)
-endif()
-if(NOT CPPDOM_ROOT_DIR)
- if(VRJUGGLER22_ROOT_DIR)
- set(CPPDOM_ROOT_DIR "${VRJUGGLER22_ROOT_DIR}")
- elseif(VRJUGGLER30_ROOT_DIR)
- set(CPPDOM_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}")
- endif()
-endif()
-
-set(_ROOT_DIR "${CPPDOM_ROOT_DIR}")
-
-find_path(CPPDOM_INCLUDE_DIR
- ${_HEADER}
- HINTS
- ${_ROOT_DIR}
- ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS}
- PATHS
- PATH_SUFFIXES
- ${CPPDOM_DIRS}
- ${CPPDOM_HEADER_DIRS}
- include
- DOC
- "Path to ${_HUMAN} includes root")
-
-find_library(CPPDOM_LIBRARY_RELEASE
- NAMES
- ${CPPDOM_RELEASE_LIB_NAMES}
- ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_NAMES}
- HINTS
- ${_ROOT_DIR}
- ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS}
- PATH_SUFFIXES
- ${_VRJ_LIBSUFFIXES}
- DOC
- "${_HUMAN} library full path")
-
-find_library(CPPDOM_LIBRARY_DEBUG
- NAMES
- ${CPPDOM_DEBUG_LIB_NAMES}
- HINTS
- ${_ROOT_DIR}
- ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS}
- PATH_SUFFIXES
- ${_VRJ_LIBDSUFFIXES}
- DOC
- "${_HUMAN} debug library full path")
-
-# Fallback to same library name but in the debug folder
-if(NOT CPPDOM_LIBRARY_DEBUG)
- find_library(CPPDOM_LIBRARY_DEBUG
- NAMES
- ${CPPDOM_LIB_NAMES}
- HINTS
- ${CPPDOM_INCLUDE_DIR}/../
- ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS}
- PATH_SUFFIXES
- ${_VRJ_LIBDSUFFIXES_ONLY}
- NO_DEFAULT_PATH
- DOC
- "${_HUMAN} debug library full path")
-endif()
-
-if(CPPDOM_LIBRARY_RELEASE OR CPPDOM_LIBRARY_DEBUG)
- select_library_configurations(CPPDOM)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if
-# all listed variables are TRUE
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(CPPDOM
- DEFAULT_MSG
- CPPDOM_LIBRARY
- CPPDOM_INCLUDE_DIR)
-
-if(CPPDOM_FOUND)
- set(CPPDOM_INCLUDE_DIRS ${CPPDOM_INCLUDE_DIR})
- if(MSVC)
- set(CPPDOM_CXX_FLAGS "/wd4290")
- endif()
-
- mark_as_advanced(CPPDOM_ROOT_DIR)
-endif()
-
-mark_as_advanced(CPPDOM_LIBRARY_RELEASE
- CPPDOM_LIBRARY_DEBUG
- CPPDOM_INCLUDE_DIR)
Copied: branches/1.2/cmake/Findcppdom.cmake (from rev 707, trunk/cmake/Findcppdom.cmake)
===================================================================
--- branches/1.2/cmake/Findcppdom.cmake (rev 0)
+++ branches/1.2/cmake/Findcppdom.cmake 2012-08-12 18:30:22 UTC (rev 708)
@@ -0,0 +1,45 @@
+# - Find a cppdom installation or build tree.
+# The following variables are set if cppdom is found. If cppdom is not
+# found, cppdom_FOUND is set to false.
+# cppdom_FOUND - Set to true when cppdom is found.
+# cppdom_USE_FILE - CMake file to use cppdom.
+# cppdom_MAJOR_VERSION - The cppdom major version number.
+# cppdom_MINOR_VERSION - The cppdom minor version number
+# (odd non-release).
+# cppdom_BUILD_VERSION - The cppdom patch level
+# (meaningless for odd minor).
+# cppdom_INCLUDE_DIRS - Include directories for cppdom
+# cppdom_LIBRARY_DIRS - Link directories for cppdom libraries
+
+# The following cache entries must be set by the user to locate cppdom:
+# cppdom_DIR - The directory containing cppdomConfig.cmake.
+# This is either the root of the build tree,
+# or the lib directory. This is the
+# only cache entry.
+
+
+# Assume not found.
+SET(cppdom_FOUND 0)
+
+# Construct consitent error messages for use below.
+SET(cppdom_DIR_DESCRIPTION "directory containing cppdomConfig.cmake. This is either the root of the build tree, or PREFIX/lib for an installation.")
+SET(cppdom_DIR_MESSAGE "cppdom not found. Set the cppdom_DIR cmake cache entry to the ${cppdom_DIR_DESCRIPTION}")
+
+# Use the Config mode of the find_package() command to find cppdomConfig.
+# If this succeeds (possibly because cppdom_DIR is already set), the
+# command will have already loaded cppdomConfig.cmake and set cppdom_FOUND.
+IF(NOT cppdom_FOUND)
+ FIND_PACKAGE(cppdom QUIET NO_MODULE)
+ENDIF(NOT cppdom_FOUND)
+
+#-----------------------------------------------------------------------------
+IF(NOT cppdom_FOUND)
+ # cppdom not found, explain to the user how to specify its location.
+ IF(cppdom_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR ${cppdom_DIR_MESSAGE})
+ ELSE(cppdom_FIND_REQUIRED)
+ IF(NOT cppdom_FIND_QUIETLY)
+ MESSAGE(STATUS ${cppdom_DIR_MESSAGE})
+ ENDIF(NOT cppdom_FIND_QUIETLY)
+ ENDIF(cppdom_FIND_REQUIRED)
+ENDIF(NOT cppdom_FOUND)
Modified: branches/1.2/cppdom/CMakeLists.txt
===================================================================
--- branches/1.2/cppdom/CMakeLists.txt 2012-08-12 18:27:03 UTC (rev 707)
+++ branches/1.2/cppdom/CMakeLists.txt 2012-08-12 18:30:22 UTC (rev 708)
@@ -8,25 +8,25 @@
configure_file(version.h.in "${CMAKE_CURRENT_SOURCE_DIR}/version.h" @ONLY)
set(API
- config.h
- cppdom.h
- predicates.h
- shared_ptr.h
- xmlparser.h
- xmltokenizer.h
- version.h)
+ config.h
+ cppdom.h
+ predicates.h
+ shared_ptr.h
+ xmlparser.h
+ xmltokenizer.h
+ version.h)
set(EXT_API
- ext/OptionRepository.h)
+ ext/OptionRepository.h)
set(SOURCES
- cppdom.cpp
- xmlparser.cpp
- xmltokenizer.cpp
- ext/OptionRepository.cpp)
+ cppdom.cpp
+ xmlparser.cpp
+ xmltokenizer.cpp
+ ext/OptionRepository.cpp)
-if(BOOST_FOUND)
- include_directories(${Boost_INCLUDE_DIRS})
- list(APPEND SOURCES SpiritParser.cpp)
- list(APPEND API SpiritParser.h)
+if(BOOST_FOUND AND BUILD_SPIRIT_PARSER)
+ include_directories(${Boost_INCLUDE_DIRS})
+ list(APPEND SOURCES SpiritParser.cpp)
+ list(APPEND API SpiritParser.h)
endif()
add_definitions(-DCPPDOM_EXPORTS)
@@ -38,14 +38,18 @@
add_library(cppdom SHARED ${API} ${EXT_API} ${SOURCES})
-set_target_properties(cppdom PROPERTIES
- PUBLIC_HEADER "${API}"
- COMPILE_DEFINITIONS_DEBUG "CPPDOM_DEBUG")
+set_target_properties(cppdom PROPERTIES PUBLIC_HEADER "${API}"
+ COMPILE_DEFINITIONS_DEBUG "CPPDOM_DEBUG")
+set_target_properties( cppdom PROPERTIES VERSION ${CPACK_PACKAGE_VERSION} )
+set_target_properties( cppdom PROPERTIES SOVERSION ${CPACK_PACKAGE_VERSION} )
+set_target_properties( cppdom PROPERTIES PROJECT_LABEL "Lib cppdom" )
+
install(TARGETS cppdom
- RUNTIME DESTINATION ${BIN_DIR} COMPONENT Runtime
- LIBRARY DESTINATION ${LIB_DIR} COMPONENT Runtime
- ARCHIVE DESTINATION ${ARCH_DIR} COMPONENT Development
- PUBLIC_HEADER DESTINATION ${INCLUDE_DIR}/cppdom COMPONENT Development)
+ EXPORT cppdom-targets
+ RUNTIME DESTINATION ${BIN_DIR} COMPONENT Runtime
+ LIBRARY DESTINATION ${LIB_DIR} COMPONENT Runtime
+ ARCHIVE DESTINATION ${ARCH_DIR} COMPONENT Development
+ PUBLIC_HEADER DESTINATION ${INCLUDE_DIR}/cppdom COMPONENT Development)
install(FILES ${EXT_API}
- DESTINATION ${INCLUDE_DIR}/cppdom/ext
- COMPONENT Development)
+ DESTINATION ${INCLUDE_DIR}/cppdom/ext
+ COMPONENT Development)
Copied: branches/1.2/cppdomBuildTreeSettings.cmake.in (from rev 707, trunk/cppdomBuildTreeSettings.cmake.in)
===================================================================
--- branches/1.2/cppdomBuildTreeSettings.cmake.in (rev 0)
+++ branches/1.2/cppdomBuildTreeSettings.cmake.in 2012-08-12 18:30:22 UTC (rev 708)
@@ -0,0 +1,6 @@
+set(cppdom_INCLUDE_DIRS
+ "@PROJECT_SOURCE_DIR@"
+ "@PROJECT_BINARY_DIR@")
+set(cppdom_INCLUDE_DIRS
+ "@PROJECT_SOURCE_DIR@"
+ "@PROJECT_BINARY_DIR@")
Copied: branches/1.2/cppdomConfig.cmake.in (from rev 707, trunk/cppdomConfig.cmake.in)
===================================================================
--- branches/1.2/cppdomConfig.cmake.in (rev 0)
+++ branches/1.2/cppdomConfig.cmake.in 2012-08-12 18:30:22 UTC (rev 708)
@@ -0,0 +1,54 @@
+# - Config file for the cppdom package
+# It defines the following variables
+# cppdom_INCLUDE_DIRS - include directories for cppdom
+# cppdom_LIBRARIES - libraries to link against
+
+@PACKAGE_INIT@
+
+# These are IMPORTED targets created by cppdomLibraryDepends.cmake
+set(cppdom_LIBRARIES "cppdom" )
+
+# Compute paths
+# get_filename_component(cppdom_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+if(EXISTS "${PACKAGE_PREFIX_DIR}/CMakeCache.txt")
+ # In build tree
+ include("${PACKAGE_PREFIX_DIR}/lib/cppdomBuildTreeSettings.cmake")
+ # Our library dependencies (contains definitions for IMPORTED targets)
+ include("${PACKAGE_PREFIX_DIR}/lib/cppdomLibraryDepends.cmake")
+else()
+ set_and_check(cppdom_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/@INCLUDE_DIR@")
+ # The cppdom targets file.
+ if(EXISTS "${PACKAGE_PREFIX_DIR}/lib/cppdom-targets.cmake")
+ include("${PACKAGE_PREFIX_DIR}/lib/cppdom-targets.cmake")
+ endif()
+endif()
+
+# The location of the Usecppdom.cmake file.
+set(cppdom_USE_FILE "${PACKAGE_PREFIX_DIR}/lib/Usecppdom.cmake")
+# - Config file for the cppdom package
+# It defines the following variables
+# cppdom_INCLUDE_DIRS - include directories for cppdom
+# cppdom_LIBRARIES - libraries to link against
+
+@PACKAGE_INIT@
+
+# These are IMPORTED targets created by cppdomLibraryDepends.cmake
+set(cppdom_LIBRARIES "cppdom" )
+
+# Compute paths
+# get_filename_component(cppdom_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+if(EXISTS "${PACKAGE_PREFIX_DIR}/CMakeCache.txt")
+ # In build tree
+ include("${PACKAGE_PREFIX_DIR}/lib/cppdomBuildTreeSettings.cmake")
+ # Our library dependencies (contains definitions for IMPORTED targets)
+ include("${PACKAGE_PREFIX_DIR}/lib/cppdomLibraryDepends.cmake")
+else()
+ set_and_check(cppdom_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/@INCLUDE_DIR@")
+ # The cppdom targets file.
+ if(EXISTS "${PACKAGE_PREFIX_DIR}/lib/cppdom-targets.cmake")
+ include("${PACKAGE_PREFIX_DIR}/lib/cppdom-targets.cmake")
+ endif()
+endif()
+
+# The location of the Usecppdom.cmake file.
+set(cppdom_USE_FILE "${PACKAGE_PREFIX_DIR}/lib/Usecppdom.cmake")
Copied: branches/1.2/cppdomConfigVersion.cmake.in (from rev 707, trunk/cppdomConfigVersion.cmake.in)
===================================================================
--- branches/1.2/cppdomConfigVersion.cmake.in (rev 0)
+++ branches/1.2/cppdomConfigVersion.cmake.in 2012-08-12 18:30:22 UTC (rev 708)
@@ -0,0 +1,22 @@
+set(PACKAGE_VERSION "@CPACK_PACKAGE_VERSION@")
+
+# Check whether the requested PACKAGE_FIND_VERSION is compatible
+if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
+set(PACKAGE_VERSION "@CPACK_PACKAGE_VERSION@")
+
+# Check whether the requested PACKAGE_FIND_VERSION is compatible
+if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
Modified: branches/1.2/test/CMakeLists.txt
===================================================================
--- branches/1.2/test/CMakeLists.txt 2012-08-12 18:27:03 UTC (rev 707)
+++ branches/1.2/test/CMakeLists.txt 2012-08-12 18:30:22 UTC (rev 708)
@@ -1,36 +1,36 @@
find_package(cppunit)
if(CPPUNIT_FOUND)
- add_subdirectory(suite)
+ add_subdirectory(suite)
endif()
if(BUILD_TESTING)
- include_directories(.)
+ include_directories(.)
- # maketree
- add_executable(maketree maketree.cpp)
- target_link_libraries(maketree cppdom)
- add_test(NAME maketree
- COMMAND maketree)
+ # maketree
+ add_executable(maketree maketree.cpp)
+ target_link_libraries(maketree cppdom)
+ add_test(NAME maketree
+ COMMAND maketree)
- # nodetest
- include(CopyResourcesToBuildTree)
- add_executable(nodetest nodetest.cpp game.xml)
- set_target_properties(nodetest PROPERTIES RESOURCE "game.xml")
- target_link_libraries(nodetest cppdom)
- copy_resources_to_build_tree(nodetest)
- add_test(NAME nodetest
- COMMAND nodetest)
- set_tests_properties(nodetest PROPERTIES
- FAIL_REGULAR_EXPRESSION "[eE]rror"
- PASS_REGULAR_EXPRESSION "in name: bokbokbok")
+ # nodetest
+ include(CopyResourcesToBuildTree)
+ add_executable(nodetest nodetest.cpp game.xml)
+ set_target_properties(nodetest PROPERTIES RESOURCE "game.xml")
+ target_link_libraries(nodetest cppdom)
+ copy_resources_to_build_tree(nodetest)
+ add_test(NAME nodetest
+ COMMAND nodetest)
+ set_tests_properties(nodetest PROPERTIES
+ FAIL_REGULAR_EXPRESSION "[eE]rror"
+ PASS_REGULAR_EXPRESSION "in name: bokbokbok")
- # parsetest
- add_executable(parsetest parsetest.cpp)
- target_link_libraries(parsetest cppdom)
- foreach(testfile game.xml hamlet.xml nodetest.xml test.xml)
- add_test(NAME parsetest-${testfile}
- COMMAND parsetest "${CMAKE_CURRENT_SOURCE_DIR}/${testfile}")
- set_tests_properties(parsetest-${testfile} PROPERTIES
- FAIL_REGULAR_EXPRESSION "[eE]rror")
- endforeach()
+ # parsetest
+ add_executable(parsetest parsetest.cpp)
+ target_link_libraries(parsetest cppdom)
+ foreach(testfile game.xml hamlet.xml nodetest.xml test.xml)
+ add_test(NAME parsetest-${testfile}
+ COMMAND parsetest "${CMAKE_CURRENT_SOURCE_DIR}/${testfile}")
+ set_tests_properties(parsetest-${testfile} PROPERTIES
+ FAIL_REGULAR_EXPRESSION "[eE]rror")
+ endforeach()
endif()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|