17146 lines
528 KiB
Diff
17146 lines
528 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..551b8f8
|
||
--- /dev/null
|
||
+++ b/CMakeLists.txt
|
||
@@ -0,0 +1,402 @@
|
||
+##########################################################################
|
||
+# CMake Build Rules for Boost #
|
||
+##########################################################################
|
||
+# Copyright (C) 2007, 2008 Douglas Gregor <doug.gregor@gmail.com> #
|
||
+# Copyright (C) 2007, 2009 Troy Straszheim <troy@resophonic.com> #
|
||
+# #
|
||
+# 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 #
|
||
+##########################################################################
|
||
+# Basic Usage: #
|
||
+# #
|
||
+# On Unix variants: #
|
||
+# ccmake BOOST_DIRECTORY #
|
||
+# #
|
||
+# (c)onfigure options to your liking, then (g)enerate #
|
||
+# makefiles. Use "make" to build, "make test" to test, "make #
|
||
+# install" to install, and "make package" to build binary #
|
||
+# packages. #
|
||
+# #
|
||
+# On Windows: #
|
||
+# run the CMake GUI, load the Boost directory, and generate #
|
||
+# project files or makefiles for your environment. #
|
||
+# #
|
||
+# For more information about CMake, see http://www.cmake.org #
|
||
+##########################################################################
|
||
+cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
|
||
+project(Boost)
|
||
+
|
||
+##########################################################################
|
||
+# Boost CMake modules #
|
||
+##########################################################################
|
||
+list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake)
|
||
+include(BoostUtils)
|
||
+
|
||
+message(STATUS "")
|
||
+colormsg(_HIBLUE_ "Boost.CMake starting")
|
||
+
|
||
+##########################################################################
|
||
+# Version information #
|
||
+##########################################################################
|
||
+
|
||
+# We parse the version information from the boost/version.hpp header.
|
||
+file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp BOOST_VERSIONSTR
|
||
+ REGEX "#define[ ]+BOOST_VERSION[ ]+[0-9]+")
|
||
+string(REGEX MATCH "[0-9]+" BOOST_VERSIONSTR ${BOOST_VERSIONSTR})
|
||
+if (BOOST_VERSIONSTR)
|
||
+ math(EXPR BOOST_VERSION_MAJOR "${BOOST_VERSIONSTR} / 100000")
|
||
+ math(EXPR BOOST_VERSION_MINOR "${BOOST_VERSIONSTR} / 100 % 1000")
|
||
+ math(EXPR BOOST_VERSION_SUBMINOR "${BOOST_VERSIONSTR} % 100")
|
||
+ set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}")
|
||
+else()
|
||
+ message(FATAL_ERROR
|
||
+ "Unable to parse Boost version from ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp")
|
||
+endif()
|
||
+
|
||
+#
|
||
+# This for automatic testing of multiple versioned installs
|
||
+#
|
||
+if(BOOST_VERSION_OVERRIDE)
|
||
+ set(BOOST_VERSION ${BOOST_VERSION_OVERRIDE})
|
||
+ set(BOOST_VERSION_NUMERIC ${BOOST_VERSION_NUMERIC_OVERRIDE})
|
||
+ set(BOOST_VERSION_UNDERSCORES ${BOOST_VERSION_UNDERSCORES_OVERRIDE})
|
||
+ configure_file(tools/build/CMake/install_me/version.hpp.override.in ${CMAKE_BINARY_DIR}/version.hpp)
|
||
+endif()
|
||
+
|
||
+set(BOOST_CMAKE_VERSION "${BOOST_VERSION}.cmake0")
|
||
+
|
||
+#
|
||
+# For intermittent deployment of docs
|
||
+#
|
||
+set(BOOST_CMAKE_HOST sodium.resophonic.com)
|
||
+set(BOOST_CMAKE_DOCROOT /var/www/htdocs/boost-cmake/)
|
||
+set(BOOST_CMAKE_VERSIONED_DOCROOT ${BOOST_CMAKE_DOCROOT}/${BOOST_CMAKE_VERSION})
|
||
+set(BOOST_CMAKE_URL ${BOOST_CMAKE_HOST}:${BOOST_CMAKE_VERSIONED_DOCROOT})
|
||
+
|
||
+#
|
||
+# BOOST_MAINTAINER: undocced variable that sets up maintainer mode
|
||
+#
|
||
+if(BOOST_MAINTAINER)
|
||
+ #
|
||
+ # Put the boost.cmake version someplace sphinx can get it
|
||
+ # for use in generated documentation
|
||
+ #
|
||
+ set(CMAKE_DOCS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/docs/)
|
||
+ set(UPSTREAM_TAG "Boost_1_41_0")
|
||
+
|
||
+ set(gitdiff "git diff --stat=100,90 ${UPSTREAM_TAG}")
|
||
+ add_custom_target(make-diff
|
||
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||
+ COMMAND echo "% ${gitdiff}" > ${CMAKE_DOCS_DIR}/source/git_diff.txt
|
||
+ COMMAND git diff --stat=100,90 ${UPSTREAM_TAG} >> ${CMAKE_DOCS_DIR}/source/git_diff.txt
|
||
+ COMMAND make -C ${CMAKE_DOCS_DIR} html
|
||
+ )
|
||
+
|
||
+ add_custom_target(do-release
|
||
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||
+ COMMAND git archive --format=tar --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} | gzip --best > boost-${BOOST_CMAKE_VERSION}.tar.gz
|
||
+ COMMAND git archive --format=zip -9 --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} > boost-${BOOST_CMAKE_VERSION}.zip
|
||
+ # COMMAND git log --quiet ${BOOST_CMAKE_VERSION} > /dev/null
|
||
+ COMMAND ssh ${BOOST_CMAKE_HOST} mkdir -p ${BOOST_CMAKE_VERSIONED_DOCROOT}
|
||
+ COMMAND scp boost-${BOOST_CMAKE_VERSION}.tar.gz boost-${BOOST_CMAKE_VERSION}.zip ${BOOST_CMAKE_URL}
|
||
+ COMMAND make -C ${CMAKE_DOCS_DIR} deploy
|
||
+ )
|
||
+
|
||
+ colormsg(HIRED "*** MAINTAINER TARGETS ADDED ***")
|
||
+
|
||
+endif()
|
||
+
|
||
+#
|
||
+# Make sure that we reconfigure when boost/version.hpp changes.
|
||
+#
|
||
+configure_file(boost/version.hpp
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/version.stamp)
|
||
+##########################################################################
|
||
+
|
||
+# Put the libaries and binaries that get built into directories at the
|
||
+# top of the build tree rather than in hard-to-find leaf
|
||
+# directories. This simplifies manual testing and the use of the build
|
||
+# tree rather than installed Boost libraries.
|
||
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||
+
|
||
+
|
||
+message(STATUS "")
|
||
+boost_report_pretty("Boost.CMake version" BOOST_CMAKE_VERSION)
|
||
+
|
||
+include(BoostConfig)
|
||
+include(BoostCore)
|
||
+include(BoostDocs)
|
||
+include(BoostTesting)
|
||
+##########################################################################
|
||
+
|
||
+##########################################################################
|
||
+# Build Features and Variants #
|
||
+##########################################################################
|
||
+
|
||
+
|
||
+# User-level options deciding which variants we will build.
|
||
+option(ENABLE_STATIC "Whether to build static libraries" ON)
|
||
+option(ENABLE_SHARED "Whether to build shared libraries" ON)
|
||
+option(ENABLE_DEBUG "Whether to build debugging libraries" ON)
|
||
+option(ENABLE_RELEASE "Whether to build release libraries" ON)
|
||
+option(ENABLE_SINGLE_THREADED "Whether to build single-threaded libraries" OFF)
|
||
+option(ENABLE_MULTI_THREADED "Whether to build multi-threaded libraries" ON)
|
||
+
|
||
+if(BUILD_VERSIONED)
|
||
+ message(FATAL_ERROR "Option 'BUILD_VERSIONED' has changed, the new name is WINMANGLE_LIBNAMES")
|
||
+endif(BUILD_VERSIONED)
|
||
+
|
||
+#if(BUILD_TESTING)
|
||
+# message(FATAL_ERROR "Option 'BUILD_TESTING' is gone, new name is BUILD_TESTS, see the docs")
|
||
+#endif()
|
||
+
|
||
+option(WINMANGLE_LIBNAMES
|
||
+ "mangle toolset and boost version tags to into library names"
|
||
+ ${WIN32})
|
||
+
|
||
+option(BUILD_SOVERSIONED "Create libraries with SONAMES" ${UNIX})
|
||
+
|
||
+if(UNIX)
|
||
+ option(INSTALL_VERSIONED "Install to versioned directories" ON)
|
||
+endif()
|
||
+
|
||
+
|
||
+# the default set of library variants that we will be building
|
||
+boost_add_default_variant(RELEASE DEBUG)
|
||
+boost_add_default_variant(SHARED STATIC)
|
||
+boost_add_default_variant(MULTI_THREADED SINGLE_THREADED)
|
||
+
|
||
+if (MSVC)
|
||
+ # For now, we only actually support static/dynamic run-time variants for
|
||
+ # Visual C++. Provide both options for Visual C++ users, but just fix
|
||
+ # the values of the variables for all other platforms.
|
||
+ option(ENABLE_STATIC_RUNTIME
|
||
+ "Whether to build libraries linking against the static runtime"
|
||
+ ON)
|
||
+
|
||
+ option(ENABLE_DYNAMIC_RUNTIME
|
||
+ "Whether to build libraries linking against the dynamic runtime"
|
||
+ ON)
|
||
+
|
||
+ boost_add_default_variant(DYNAMIC_RUNTIME STATIC_RUNTIME)
|
||
+endif()
|
||
+
|
||
+# Extra features used by some libraries
|
||
+set(ENABLE_PYTHON_NODEBUG ON)
|
||
+boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG)
|
||
+##########################################################################
|
||
+
|
||
+##########################################################################
|
||
+# Installation #
|
||
+##########################################################################
|
||
+if (WIN32)
|
||
+ set(sep "_")
|
||
+else()
|
||
+ set(sep ".")
|
||
+endif()
|
||
+
|
||
+if (BOOST_VERSION_OVERRIDE)
|
||
+ set(verdir "boost-${BOOST_VERSION_OVERRIDE}")
|
||
+elseif(INSTALL_VERSIONED)
|
||
+ set(verdir "boost-${BOOST_VERSION_MAJOR}${sep}${BOOST_VERSION_MINOR}${sep}${BOOST_VERSION_SUBMINOR}")
|
||
+else()
|
||
+ set(verstring "")
|
||
+endif()
|
||
+
|
||
+set(BOOST_INCLUDE_INSTALL_DIR
|
||
+ "include/${verdir}"
|
||
+ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for header files"
|
||
+ )
|
||
+
|
||
+set(BOOST_LIB_INSTALL_DIR
|
||
+ "lib${LIB_SUFFIX}/${verdir}"
|
||
+ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for libraries"
|
||
+ )
|
||
+
|
||
+boost_report_pretty("Install prefix" CMAKE_INSTALL_PREFIX)
|
||
+boost_report_pretty("Install include dir" BOOST_INCLUDE_INSTALL_DIR)
|
||
+boost_report_pretty("Install lib dir" BOOST_LIB_INSTALL_DIR)
|
||
+
|
||
+include(BoostExternals)
|
||
+
|
||
+if (BOOST_VERSION_OVERRIDE)
|
||
+ install(FILES ${CMAKE_BINARY_DIR}/version.hpp
|
||
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost
|
||
+ RENAME version.hpp)
|
||
+ install(DIRECTORY boost
|
||
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}
|
||
+ PATTERN "CVS" EXCLUDE
|
||
+ PATTERN ".svn" EXCLUDE
|
||
+ PATTERN "boost/version.hpp" EXCLUDE)
|
||
+else()
|
||
+ install(DIRECTORY boost
|
||
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}
|
||
+ PATTERN "CVS" EXCLUDE
|
||
+ PATTERN ".svn" EXCLUDE)
|
||
+endif()
|
||
+
|
||
+#
|
||
+# for testing
|
||
+#
|
||
+if (BOOST_VERSION_OVERRIDE)
|
||
+ install(FILES ${CMAKE_BINARY_DIR}/version.hpp
|
||
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost
|
||
+ RENAME version.hpp)
|
||
+endif()
|
||
+
|
||
+
|
||
+##########################################################################
|
||
+# Binary packages #
|
||
+##########################################################################
|
||
+#
|
||
+# CPACK_PACKAGE_NAME may not contain spaces when generating rpms
|
||
+#
|
||
+set(CPACK_PACKAGE_NAME "Boost")
|
||
+set(CPACK_PACKAGE_VENDOR "Boost.org")
|
||
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost ${BOOST_VERSION} prerelease")
|
||
+set(CPACK_PACKAGE_FILE_NAME "boost-${BOOST_VERSION}-${BOOST_PLATFORM}-${BOOST_TOOLSET}")
|
||
+
|
||
+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
|
||
+ message(STATUS "Using generic cpack package description file.")
|
||
+ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
|
||
+ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
|
||
+endif ()
|
||
+
|
||
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE_1_0.txt")
|
||
+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt")
|
||
+ message(STATUS "Using generic cpack welcome file.")
|
||
+ set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt")
|
||
+endif()
|
||
+
|
||
+set(CPACK_PACKAGE_VERSION "${BOOST_VERSION}")
|
||
+set(CPACK_PACKAGE_VERSION_MAJOR "${BOOST_VERSION_MAJOR}")
|
||
+set(CPACK_PACKAGE_VERSION_MINOR "${BOOST_VERSION_MINOR}")
|
||
+set(CPACK_PACKAGE_VERSION_PATCH "${BOOST_VERSION_SUBMINOR}")
|
||
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "Boost")
|
||
+
|
||
+if(WIN32 AND NOT UNIX)
|
||
+ # There is a bug in NSI that does not handle full unix paths properly. Make
|
||
+ # sure there is at least one set of four (4) backlasshes.
|
||
+ # NOTE: No Boost icon yet
|
||
+ set(CPACK_MONOLITHIC_INSTALL ON) # don't be modular for now
|
||
+ set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake\\\\Boost.bmp")
|
||
+# set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "Boost ${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR} prerelease")
|
||
+ set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.boost.org")
|
||
+ set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.boost.org")
|
||
+ set(CPACK_NSIS_CONTACT "boost-users@lists.boost.org")
|
||
+ set(CPACK_NSIS_MODIFY_PATH ON)
|
||
+
|
||
+ # Encode the compiler name in the package
|
||
+ if (MSVC60)
|
||
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc6")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual C++ 6")
|
||
+ elseif (MSVC70)
|
||
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc7")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2002")
|
||
+ elseif (MSVC71)
|
||
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc71")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2003")
|
||
+ elseif (MSVC80)
|
||
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc8")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2005")
|
||
+ elseif (MSVC90)
|
||
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc9")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2008")
|
||
+ elseif (BORLAND)
|
||
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-borland")
|
||
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Borland C++ Builder")
|
||
+ endif (MSVC60)
|
||
+ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_NSIS_DISPLAY_NAME}")
|
||
+endif(WIN32 AND NOT UNIX)
|
||
+include(CPack)
|
||
+
|
||
+if (FALSE)
|
||
+ option(BOOST_INSTALLER_ON_THE_FLY
|
||
+ "Whether to build installers that download components on-the-fly" OFF)
|
||
+
|
||
+ if (BOOST_INSTALLER_ON_THE_FLY)
|
||
+ if(COMMAND cpack_configure_downloads)
|
||
+ cpack_configure_downloads(
|
||
+ "http://www.osl.iu.edu/~dgregor/Boost-CMake/${BOOST_VERSION}/"
|
||
+ ALL ADD_REMOVE)
|
||
+ endif()
|
||
+ endif()
|
||
+endif()
|
||
+##########################################################################
|
||
+
|
||
+##########################################################################
|
||
+# Building Boost libraries #
|
||
+##########################################################################
|
||
+# Always include the directory where Boost's include files will be.
|
||
+if (TEST_INSTALLED_TREE)
|
||
+ # Use the headers from the installation directory
|
||
+ include_directories("${CMAKE_INSTALL_PREFIX}/${BOOST_HEADER_DIR}")
|
||
+elseif (BOOST_CMAKE_SELFTEST)
|
||
+ # Use selftest headers
|
||
+ include_directories("${BOOST_CMAKE_SELFTEST_ROOT}/include")
|
||
+ # and regular boost headers
|
||
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||
+
|
||
+else()
|
||
+ # Use the headers directly from the Boost source tree (in boost/)
|
||
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||
+endif (TEST_INSTALLED_TREE)
|
||
+
|
||
+# Boost.Build version 2 does this due to trouble with autolinking
|
||
+# during building and testing.
|
||
+# TODO: See if we can actually use auto-linking in our regression tests.
|
||
+add_definitions(-DBOOST_ALL_NO_LIB=1)
|
||
+
|
||
+#
|
||
+# Get build space set up for exports file
|
||
+#
|
||
+set(BOOST_EXPORTS_FILE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake
|
||
+ CACHE FILEPATH "File to export targets from boost build directory")
|
||
+
|
||
+file(MAKE_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||
+file(REMOVE ${BOOST_EXPORTS_FILE})
|
||
+
|
||
+if(NOT INSTALL_VERSIONED)
|
||
+ set(pathelem "boost/")
|
||
+endif()
|
||
+
|
||
+if (NOT BOOST_EXPORTS_INSTALL_DIR)
|
||
+ set(BOOST_EXPORTS_INSTALL_DIR ${BOOST_LIB_INSTALL_DIR}
|
||
+ CACHE STRING "Install location for cmake exports")
|
||
+endif()
|
||
+
|
||
+mark_as_advanced(BOOST_EXPORTS_FILE)
|
||
+
|
||
+# Add build rules for documentation
|
||
+add_subdirectory(doc)
|
||
+
|
||
+# Add build rules for all of the Boost libraries
|
||
+add_subdirectory(libs)
|
||
+
|
||
+# Add build rules for all of the Boost tools
|
||
+# TODO: On hold while I work on the modularity code
|
||
+add_subdirectory(tools)
|
||
+##########################################################################
|
||
+
|
||
+if(NOT BOOST_ALL_COMPONENTS)
|
||
+ #
|
||
+ # This is a dummy target to suppress the warning from
|
||
+ # install(EXPORT,....) below.
|
||
+ #
|
||
+ add_executable(this_is_a_dummy_no_libs_were_built
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/main.cpp)
|
||
+
|
||
+ install(TARGETS this_is_a_dummy_no_libs_were_built
|
||
+ EXPORT Boost
|
||
+ DESTINATION ${BOOST_LIB_INSTALL_DIR}
|
||
+ COMPONENT Boost)
|
||
+
|
||
+endif()
|
||
+
|
||
+install(EXPORT Boost DESTINATION ${BOOST_EXPORTS_INSTALL_DIR})
|
||
+
|
||
+add_subdirectory(tools/build/CMake)
|
||
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
|
||
new file mode 100644
|
||
index 0000000..aad2c82
|
||
--- /dev/null
|
||
+++ b/CTestConfig.cmake
|
||
@@ -0,0 +1,21 @@
|
||
+## This file should be placed in the root directory of your project.
|
||
+## Then modify the CMakeLists.txt file in the root directory of your
|
||
+## project to incorporate the testing dashboard.
|
||
+
|
||
+message("--------------- CTestConfig.cmake --------------")
|
||
+set(CTEST_PROJECT_NAME "Boost")
|
||
+set(CTEST_NIGHTLY_START_TIME "03:00:00 EST")
|
||
+
|
||
+set(CTEST_UPDATE_TYPE "git")
|
||
+
|
||
+set(CTEST_DROP_METHOD "http")
|
||
+set(CTEST_DROP_SITE "my.cdash.org")
|
||
+set(CTEST_DROP_LOCATION "/submit.php?project=Boost")
|
||
+set(CTEST_DROP_SITE_CDASH TRUE)
|
||
+set(UPDATE_COMMAND "git")
|
||
+#
|
||
+# You're welcome to set these
|
||
+#
|
||
+#set(BUILD_PROJECTS "crc")
|
||
+#set(BUILD_TESTS "ALL")
|
||
+
|
||
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2f40bc0
|
||
--- /dev/null
|
||
+++ b/doc/CMakeLists.txt
|
||
@@ -0,0 +1,9 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+if (BUILD_DOCUMENTATION)
|
||
+ add_subdirectory(src)
|
||
+endif ()
|
||
diff --git a/doc/src/CMakeLists.txt b/doc/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..45de2eb
|
||
--- /dev/null
|
||
+++ b/doc/src/CMakeLists.txt
|
||
@@ -0,0 +1,19 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+if (BUILD_DOCUMENTATION_HTML)
|
||
+ # Install style sheets and the main Boost logo
|
||
+ install(FILES boostbook.css docutils.css reference.css ../../boost.png
|
||
+ DESTINATION share/boost-${BOOST_VERSION}/html)
|
||
+
|
||
+ # Install images
|
||
+ install(DIRECTORY images
|
||
+ DESTINATION share/boost-${BOOST_VERSION}/html
|
||
+ COMPONENT Core
|
||
+ PATTERN "CVS" EXCLUDE
|
||
+ PATTERN ".svn" EXCLUDE)
|
||
+endif ()
|
||
+
|
||
diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4f0c378
|
||
--- /dev/null
|
||
+++ b/libs/CMakeLists.txt
|
||
@@ -0,0 +1,117 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# Find each subdirectory containing a CMakeLists.txt file, and include
|
||
+# it. This avoids the need to manually list which libraries in Boost
|
||
+# have CMakeLists.txt files.
|
||
+
|
||
+# return a list of directories that we should add_subdirectory()
|
||
+macro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES dirname varname filename)
|
||
+ file(GLOB globbed RELATIVE "${dirname}" "${dirname}/*/${filename}")
|
||
+ foreach(file ${globbed})
|
||
+ get_filename_component(dir ${file} PATH)
|
||
+ set(${varname} ${${varname}} ${dir})
|
||
+ endforeach()
|
||
+endmacro()
|
||
+
|
||
+# Find all of the subdirectories with .cmake files in them. These are
|
||
+# the libraries with dependencies.
|
||
+boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_MODULE_DIRS "module.cmake")
|
||
+foreach(subdir ${BOOST_MODULE_DIRS})
|
||
+ include("${BOOST_LIBS_PARENT_DIR}/${subdir}/module.cmake")
|
||
+endforeach(subdir)
|
||
+
|
||
+# Find all of the subdirectories with CMakeLists.txt files in
|
||
+# them. This contains all of the Boost libraries.
|
||
+boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_SUBPROJECT_DIRS "CMakeLists.txt")
|
||
+
|
||
+# Add all of the Boost projects in reverse topological order, so that
|
||
+# a library's dependencies show up before the library itself.
|
||
+set(CPACK_INSTALL_CMAKE_COMPONENTS_ALL)
|
||
+list(SORT BOOST_SUBPROJECT_DIRS)
|
||
+topological_sort(BOOST_SUBPROJECT_DIRS BOOST_ _DEPENDS)
|
||
+
|
||
+#
|
||
+# Sanity-check for typos: all projects in BUILD_PROJECTS must exist
|
||
+#
|
||
+if ((NOT BUILD_PROJECTS STREQUAL "ALL") AND (NOT BUILD_PROJECTS STREQUAL "NONE"))
|
||
+ foreach(project ${BUILD_PROJECTS})
|
||
+ list(FIND BOOST_SUBPROJECT_DIRS ${project} THIS_SUBPROJECT_DIRS_INDEX)
|
||
+ if (THIS_SUBPROJECT_DIRS_INDEX LESS 0)
|
||
+ message(FATAL_ERROR "Nonexistant project \"${project}\" specified in BUILD_PROJECTS. These project names should be all lowercase.")
|
||
+ endif()
|
||
+ endforeach()
|
||
+endif()
|
||
+
|
||
+set(BOOST_TEST_PROJECTS "" CACHE INTERNAL "hi" FORCE)
|
||
+
|
||
+#
|
||
+# include only directories of projects in BUILD_PROJECTS
|
||
+#
|
||
+message(STATUS "")
|
||
+colormsg(_HIBLUE_ "Reading boost project directories (per BUILD_PROJECTS)")
|
||
+message(STATUS "")
|
||
+set(BOOST_ALL_COMPONENTS "")
|
||
+
|
||
+foreach(subdir ${BOOST_SUBPROJECT_DIRS})
|
||
+ list(FIND BUILD_PROJECTS ${subdir} THIS_BUILD_PROJECTS_INDEX)
|
||
+ if ((THIS_BUILD_PROJECTS_INDEX GREATER -1) OR (BUILD_PROJECTS STREQUAL "ALL"))
|
||
+ message(STATUS "+ ${subdir}")
|
||
+ add_subdirectory(${BOOST_LIBS_PARENT_DIR}/${subdir} ${CMAKE_BINARY_DIR}/libs/${subdir})
|
||
+ endif()
|
||
+endforeach()
|
||
+
|
||
+#
|
||
+# If we're doing selftests, add those selftest dirs
|
||
+#
|
||
+foreach(project
|
||
+ ${BOOST_CMAKE_SELFTEST_PROJECTS})
|
||
+ colormsg(RED "* ${project}")
|
||
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../tools/build/CMake/selftest_projects/${project}
|
||
+ ${CMAKE_BINARY_DIR}/libs/${project})
|
||
+endforeach()
|
||
+
|
||
+
|
||
+set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE)
|
||
+
|
||
+if(BUILD_TESTS AND NOT BUILD_TESTS STREQUAL "NONE")
|
||
+ message(STATUS "")
|
||
+ colormsg(_HIBLUE_ "Traversing project test directories (per BUILD_TESTS)")
|
||
+ message(STATUS "")
|
||
+else()
|
||
+ message(STATUS "")
|
||
+ colormsg(HIGRAY "BUILD_TESTS is NONE: skipping test directories.")
|
||
+ message(STATUS "")
|
||
+endif()
|
||
+
|
||
+foreach(PROJ ${BOOST_TEST_PROJECTS})
|
||
+ string(TOLOWER ${PROJ} proj)
|
||
+ project(${proj})
|
||
+ set(BOOST_PROJECT_NAME ${proj})
|
||
+ foreach(dir ${BOOST_${PROJ}_TESTDIRS})
|
||
+ message(STATUS "+ ${proj}")
|
||
+ add_subdirectory(${dir} ${CMAKE_BINARY_DIR}/libs/${proj}/test)
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
+# Write out a GraphViz file containing inter-library dependencies.
|
||
+set(BOOST_DEPENDENCY_GRAPHVIZ_FILE "${Boost_BINARY_DIR}/dependencies.dot")
|
||
+file(WRITE ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "digraph boost {\n")
|
||
+foreach(SUBDIR ${BOOST_SUBPROJECT_DIRS})
|
||
+ string(TOUPPER "BOOST_${SUBDIR}_COMPILED_LIB" BOOST_COMPILED_LIB_VAR)
|
||
+ if (${BOOST_COMPILED_LIB_VAR})
|
||
+ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"${SUBDIR}\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ")
|
||
+ endif (${BOOST_COMPILED_LIB_VAR})
|
||
+ string(TOUPPER "BOOST_${SUBDIR}_DEPENDS" DEPENDS_VAR)
|
||
+ if(DEFINED ${DEPENDS_VAR})
|
||
+ foreach(DEP ${${DEPENDS_VAR}})
|
||
+ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE}
|
||
+ " \"${SUBDIR}\" -> \"${DEP}\";\n")
|
||
+ endforeach()
|
||
+ endif()
|
||
+endforeach()
|
||
+file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"test\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ")
|
||
+file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "}\n")
|
||
diff --git a/libs/accumulators/CMakeLists.txt b/libs/accumulators/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..373aadb
|
||
--- /dev/null
|
||
+++ b/libs/accumulators/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ accumulators
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ accumulators
|
||
+ TESTDIRS test
|
||
+ EXAMPLEDIRS example
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "A framework for incremental calculation, and a collection of statistical accumulators."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Eric Niebler <eric -at- boost-consulting.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/accumulators/doc/CMakeLists.txt b/libs/accumulators/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c603de0
|
||
--- /dev/null
|
||
+++ b/libs/accumulators/doc/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+message(STATUS "accumulators/docs needs love")
|
||
+
|
||
diff --git a/libs/accumulators/example/CMakeLists.txt b/libs/accumulators/example/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ee4fff0
|
||
--- /dev/null
|
||
+++ b/libs/accumulators/example/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_executable(example main.cpp)
|
||
+
|
||
diff --git a/libs/accumulators/module.cmake b/libs/accumulators/module.cmake
|
||
new file mode 100644
|
||
index 0000000..30a47c4
|
||
--- /dev/null
|
||
+++ b/libs/accumulators/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(accumulators DEPENDS parameter typeof foreach)
|
||
\ No newline at end of file
|
||
diff --git a/libs/accumulators/test/CMakeLists.txt b/libs/accumulators/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b14dc54
|
||
--- /dev/null
|
||
+++ b/libs/accumulators/test/CMakeLists.txt
|
||
@@ -0,0 +1,82 @@
|
||
+# (C) Copyright 2005: Eric Niebler
|
||
+# 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)
|
||
+
|
||
+# bring in rules for testing
|
||
+#import testing ;
|
||
+#import feature ;
|
||
+
|
||
+#feature.feature iterator_debugging
|
||
+# : on off
|
||
+# : composite propagated optional
|
||
+# ;
|
||
+
|
||
+#feature.compose <iterator_debugging>off
|
||
+# : <define>_HAS_ITERATOR_DEBUGGING=0
|
||
+# ;
|
||
+
|
||
+# project
|
||
+# : requirements
|
||
+# <library>/boost/test//boost_unit_test_framework
|
||
+# <link>static
|
||
+# <include>../../..
|
||
+# <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
|
||
+# # MSVC's iterator debugging causes some tests to run forever.
|
||
+# <toolset>msvc:<iterator_debugging>off
|
||
+# <toolset>intel-win:<iterator_debugging>off
|
||
+# ;
|
||
+
|
||
+boost_additional_test_dependencies(accumulators BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+set(TESTS
|
||
+count
|
||
+covariance
|
||
+droppable
|
||
+error_of
|
||
+extended_p_square
|
||
+extended_p_square_quantile
|
||
+external_accumulator
|
||
+external_weights
|
||
+kurtosis
|
||
+max
|
||
+mean
|
||
+median
|
||
+min
|
||
+moment
|
||
+pot_quantile
|
||
+p_square_cumulative_distribution
|
||
+p_square_quantile
|
||
+reference
|
||
+skewness
|
||
+sum
|
||
+tail
|
||
+tail_mean
|
||
+tail_quantile
|
||
+tail_variate_means
|
||
+valarray
|
||
+variance
|
||
+vector
|
||
+weighted_covariance
|
||
+weighted_extended_p_square
|
||
+weighted_kurtosis
|
||
+weighted_mean
|
||
+weighted_median
|
||
+weighted_moment
|
||
+weighted_p_square_cum_dist
|
||
+weighted_p_square_quantile
|
||
+weighted_skewness
|
||
+weighted_sum
|
||
+weighted_variance
|
||
+weighted_pot_quantile
|
||
+weighted_tail_mean
|
||
+weighted_tail_quantile
|
||
+weighted_tail_variate_means)
|
||
+
|
||
+foreach(TEST ${TESTS})
|
||
+ boost_test_run(${TEST} DEPENDS boost_unit_test_framework boost_serialization)
|
||
+endforeach(TEST ${TESTS})
|
||
+
|
||
+if(WIN32)
|
||
+ message("Need to turn on iterator debugging")
|
||
+endif(WIN32)
|
||
\ No newline at end of file
|
||
diff --git a/libs/algorithm/CMakeLists.txt b/libs/algorithm/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0f8d88c
|
||
--- /dev/null
|
||
+++ b/libs/algorithm/CMakeLists.txt
|
||
@@ -0,0 +1,22 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ algorithm
|
||
+ # SRCDIRS
|
||
+ TESTDIRS minmax/test string/test
|
||
+ # EXAMPLEDIRS minmax/example string/example
|
||
+ HEADERS algorithm
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A library of various algorithms."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Pavol Droba <droba -at- topmail.sk>"
|
||
+ "Herve Bronnimann <hbr -at- poly.edu>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
diff --git a/libs/algorithm/minmax/test/CMakeLists.txt b/libs/algorithm/minmax/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e70ce47
|
||
--- /dev/null
|
||
+++ b/libs/algorithm/minmax/test/CMakeLists.txt
|
||
@@ -0,0 +1,10 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(algorithm BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(minmax_element_test)
|
||
+boost_test_run(minmax_test)
|
||
diff --git a/libs/algorithm/module.cmake b/libs/algorithm/module.cmake
|
||
new file mode 100644
|
||
index 0000000..deb4bb2
|
||
--- /dev/null
|
||
+++ b/libs/algorithm/module.cmake
|
||
@@ -0,0 +1,4 @@
|
||
+boost_module(algorithm DEPENDS regex concept_check range)
|
||
+
|
||
+
|
||
+
|
||
diff --git a/libs/algorithm/string/test/CMakeLists.txt b/libs/algorithm/string/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..bbc383f
|
||
--- /dev/null
|
||
+++ b/libs/algorithm/string/test/CMakeLists.txt
|
||
@@ -0,0 +1,18 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(algorithm BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_run(trim_test)
|
||
+boost_test_run(conv_test)
|
||
+boost_test_run(predicate_test)
|
||
+boost_test_run(find_test)
|
||
+boost_test_run(split_test)
|
||
+boost_test_run(join_test)
|
||
+boost_test_run(replace_test)
|
||
+boost_test_run(regex_test DEPENDS boost_regex SHARED)
|
||
+
|
||
diff --git a/libs/any/CMakeLists.txt b/libs/any/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e6a4152
|
||
--- /dev/null
|
||
+++ b/libs/any/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ any.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ any
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Safe, generic container for single values of different value types."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Kevlin Henney"
|
||
+ MAINTAINERS "Alexander Nasonov <alexander.nasonov -at- gmail.com>"
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/any/module.cmake b/libs/any/module.cmake
|
||
new file mode 100644
|
||
index 0000000..f47af03
|
||
--- /dev/null
|
||
+++ b/libs/any/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(any DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/any/test/CMakeLists.txt b/libs/any/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..000fcab
|
||
--- /dev/null
|
||
+++ b/libs/any/test/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(any BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(any_test ../any_test.cpp)
|
||
+boost_test_compile_fail(any_cast_cv_failed)
|
||
+
|
||
diff --git a/libs/array/CMakeLists.txt b/libs/array/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ecdd503
|
||
--- /dev/null
|
||
+++ b/libs/array/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ array.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ array
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "STL compliant container wrapper for arrays of constant size."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Nicolai Josuttis"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/array/module.cmake b/libs/array/module.cmake
|
||
new file mode 100644
|
||
index 0000000..ccd2813
|
||
--- /dev/null
|
||
+++ b/libs/array/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(array DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/array/test/CMakeLists.txt b/libs/array/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..379e7b1
|
||
--- /dev/null
|
||
+++ b/libs/array/test/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(array BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(array0 array0.cpp)
|
||
+boost_test_run(array1 array1.cpp)
|
||
+boost_test_run(array2 array2.cpp)
|
||
+boost_test_run(array3 array3.cpp)
|
||
+boost_test_run(array4 array4.cpp)
|
||
+boost_test_run(array5 array5.cpp)
|
||
diff --git a/libs/asio/CMakeLists.txt b/libs/asio/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8ec4465
|
||
--- /dev/null
|
||
+++ b/libs/asio/CMakeLists.txt
|
||
@@ -0,0 +1,64 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ asio.hpp
|
||
+ asio
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ asio
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ EXAMPLEDIRS
|
||
+ example/ssl
|
||
+ example/chat
|
||
+ example/echo
|
||
+ example/icmp
|
||
+ example/http/server2
|
||
+ example/http/server3
|
||
+ example/http/server4
|
||
+ example/http/client
|
||
+ example/http/server
|
||
+ example/local
|
||
+ example/allocation
|
||
+ example/porthopper
|
||
+ example/invocation
|
||
+ example/multicast
|
||
+ example/serialization
|
||
+ example/iostreams
|
||
+ example/socks4
|
||
+ example/timers
|
||
+ example/tutorial/daytime1
|
||
+ example/tutorial/daytime2
|
||
+ example/tutorial/daytime3
|
||
+ example/tutorial/daytime4
|
||
+ example/tutorial/daytime5
|
||
+ example/tutorial/daytime6
|
||
+ example/tutorial/daytime7
|
||
+ example/tutorial/timer1
|
||
+ example/tutorial/timer2
|
||
+ example/tutorial/timer3
|
||
+ example/tutorial/timer4
|
||
+ example/tutorial/timer5
|
||
+ example/services
|
||
+ example/timeouts
|
||
+ example/windows
|
||
+ example/nonblocking
|
||
+ example/buffers
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Portable networking, including sockets, timers, hostname resolution and socket iostreams."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Chris Kohlhoff <chris -at- kohlhoff.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/asio/example/allocation/CMakeLists.txt b/libs/asio/example/allocation/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8c4b9fe
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/allocation/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "allocation-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/buffers/CMakeLists.txt b/libs/asio/example/buffers/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b79f18f
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/buffers/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+foreach(
|
||
+ example
|
||
+ reference_counted
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/chat/CMakeLists.txt b/libs/asio/example/chat/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..21e2118
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/chat/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+foreach(
|
||
+ example
|
||
+ chat_server
|
||
+ chat_client
|
||
+ posix_chat_client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/echo/CMakeLists.txt b/libs/asio/example/echo/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..edd9561
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/echo/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+foreach(
|
||
+ example
|
||
+ blocking_udp_echo_server
|
||
+ async_udp_echo_server
|
||
+ blocking_udp_echo_client
|
||
+ blocking_tcp_echo_server
|
||
+ async_tcp_echo_server
|
||
+ blocking_tcp_echo_client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/http/client/CMakeLists.txt b/libs/asio/example/http/client/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7d97665
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/http/client/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+foreach(
|
||
+ example
|
||
+ async_client
|
||
+ sync_client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "client-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/http/server/CMakeLists.txt b/libs/asio/example/http/server/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2a45be8
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/http/server/CMakeLists.txt
|
||
@@ -0,0 +1,32 @@
|
||
+if(
|
||
+ UNIX
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ posix_main.cpp
|
||
+)
|
||
+else(
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ win_main.cpp
|
||
+)
|
||
+endif(
|
||
+ UNIX
|
||
+)
|
||
+boost_add_executable(
|
||
+ main
|
||
+ ${main_entry}
|
||
+ connection.cpp
|
||
+ connection_manager.cpp
|
||
+ mime_types.cpp
|
||
+ reply.cpp
|
||
+ request_handler.cpp
|
||
+ request_parser.cpp
|
||
+ server.cpp
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "server-"
|
||
+)
|
||
diff --git a/libs/asio/example/http/server2/CMakeLists.txt b/libs/asio/example/http/server2/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e66a1b7
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/http/server2/CMakeLists.txt
|
||
@@ -0,0 +1,32 @@
|
||
+if(
|
||
+ UNIX
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ posix_main.cpp
|
||
+)
|
||
+else(
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ win_main.cpp
|
||
+)
|
||
+endif(
|
||
+ UNIX
|
||
+)
|
||
+boost_add_executable(
|
||
+ main
|
||
+ ${main_entry}
|
||
+ connection.cpp
|
||
+ io_service_pool.cpp
|
||
+ mime_types.cpp
|
||
+ reply.cpp
|
||
+ request_handler.cpp
|
||
+ request_parser.cpp
|
||
+ server.cpp
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "server2-"
|
||
+)
|
||
diff --git a/libs/asio/example/http/server3/CMakeLists.txt b/libs/asio/example/http/server3/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0bd5667
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/http/server3/CMakeLists.txt
|
||
@@ -0,0 +1,31 @@
|
||
+if(
|
||
+ UNIX
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ posix_main.cpp
|
||
+)
|
||
+else(
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ win_main.cpp
|
||
+)
|
||
+endif(
|
||
+ UNIX
|
||
+)
|
||
+boost_add_executable(
|
||
+ main
|
||
+ ${main_entry}
|
||
+ connection.cpp
|
||
+ mime_types.cpp
|
||
+ reply.cpp
|
||
+ request_handler.cpp
|
||
+ request_parser.cpp
|
||
+ server.cpp
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "server3-"
|
||
+)
|
||
diff --git a/libs/asio/example/http/server4/CMakeLists.txt b/libs/asio/example/http/server4/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d0285ee
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/http/server4/CMakeLists.txt
|
||
@@ -0,0 +1,30 @@
|
||
+if(
|
||
+ UNIX
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ posix_main.cpp
|
||
+)
|
||
+else(
|
||
+)
|
||
+set(
|
||
+ main_entry
|
||
+ win_main.cpp
|
||
+)
|
||
+endif(
|
||
+ UNIX
|
||
+)
|
||
+boost_add_executable(
|
||
+ main
|
||
+ ${main_entry}
|
||
+ file_handler.cpp
|
||
+ mime_types.cpp
|
||
+ reply.cpp
|
||
+ request_parser.cpp
|
||
+ server.cpp
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "server4-"
|
||
+)
|
||
diff --git a/libs/asio/example/icmp/CMakeLists.txt b/libs/asio/example/icmp/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e665cd4
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/icmp/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+foreach(
|
||
+ example
|
||
+ ping
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/invocation/CMakeLists.txt b/libs/asio/example/invocation/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..175160d
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/invocation/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+foreach(
|
||
+ example
|
||
+ prioritised_handlers
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/iostreams/CMakeLists.txt b/libs/asio/example/iostreams/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9323eb2
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/iostreams/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+foreach(
|
||
+ example
|
||
+ daytime_server
|
||
+ daytime_client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "iostreams-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/local/CMakeLists.txt b/libs/asio/example/local/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e39a130
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/local/CMakeLists.txt
|
||
@@ -0,0 +1,15 @@
|
||
+foreach(
|
||
+ example
|
||
+ stream_server
|
||
+ iostream_client
|
||
+ stream_client
|
||
+ connect_pair
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/multicast/CMakeLists.txt b/libs/asio/example/multicast/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..6b0d070
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/multicast/CMakeLists.txt
|
||
@@ -0,0 +1,12 @@
|
||
+foreach(
|
||
+ example
|
||
+ sender
|
||
+ receiver
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/nonblocking/CMakeLists.txt b/libs/asio/example/nonblocking/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ea5572e
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/nonblocking/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+foreach(
|
||
+ example
|
||
+ third_party_lib
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/porthopper/CMakeLists.txt b/libs/asio/example/porthopper/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..55bccba
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/porthopper/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+ client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "porthopper-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/serialization/CMakeLists.txt b/libs/asio/example/serialization/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a56ccb5
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/serialization/CMakeLists.txt
|
||
@@ -0,0 +1,15 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+ client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_serialization
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "serialization-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/services/CMakeLists.txt b/libs/asio/example/services/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d5e48dc
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/services/CMakeLists.txt
|
||
@@ -0,0 +1,10 @@
|
||
+boost_add_executable(
|
||
+ daytime_client
|
||
+ daytime_client.cpp
|
||
+ logger_service.cpp
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "services-"
|
||
+)
|
||
diff --git a/libs/asio/example/socks4/CMakeLists.txt b/libs/asio/example/socks4/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0158f10
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/socks4/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ sync_client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "socks4-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/ssl/CMakeLists.txt b/libs/asio/example/ssl/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ac181aa
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/ssl/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+ client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ LINK_LIBS
|
||
+ crypto
|
||
+ ssl
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "ssl-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/timeouts/CMakeLists.txt b/libs/asio/example/timeouts/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4ce73d5
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/timeouts/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+foreach(
|
||
+ example
|
||
+ async_tcp_client
|
||
+ blocking_tcp_client
|
||
+ blocking_udp_client
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/timers/CMakeLists.txt b/libs/asio/example/timers/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f945824
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/timers/CMakeLists.txt
|
||
@@ -0,0 +1,16 @@
|
||
+boost_add_executable(
|
||
+ time_t_timer
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+if(
|
||
+ WIN32
|
||
+)
|
||
+boost_add_executable(
|
||
+ tick_count_timer
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endif(
|
||
+ WIN32
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime1/CMakeLists.txt b/libs/asio/example/tutorial/daytime1/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0e837c9
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime1/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime1-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime2/CMakeLists.txt b/libs/asio/example/tutorial/daytime2/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0258bdd
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime2/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime2-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime3/CMakeLists.txt b/libs/asio/example/tutorial/daytime3/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d40fe01
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime3/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime3-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime4/CMakeLists.txt b/libs/asio/example/tutorial/daytime4/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ed33fd6
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime4/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ client
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime4-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime5/CMakeLists.txt b/libs/asio/example/tutorial/daytime5/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..775b630
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime5/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime5-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime6/CMakeLists.txt b/libs/asio/example/tutorial/daytime6/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d8c04bd
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime6/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime6-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/daytime7/CMakeLists.txt b/libs/asio/example/tutorial/daytime7/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..12c78dd
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/daytime7/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ server
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "daytime7-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/timer1/CMakeLists.txt b/libs/asio/example/tutorial/timer1/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..21e6383
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/timer1/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ timer
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "timer1-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/timer2/CMakeLists.txt b/libs/asio/example/tutorial/timer2/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1903bef
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/timer2/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ timer
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "timer2-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/timer3/CMakeLists.txt b/libs/asio/example/tutorial/timer3/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..60f45b4
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/timer3/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ timer
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "timer3-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/timer4/CMakeLists.txt b/libs/asio/example/tutorial/timer4/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b1c88dd
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/timer4/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ timer
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "timer4-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/tutorial/timer5/CMakeLists.txt b/libs/asio/example/tutorial/timer5/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8171893
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/tutorial/timer5/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+foreach(
|
||
+ example
|
||
+ timer
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_thread
|
||
+ boost_system
|
||
+ TARGET_PREFIX
|
||
+ "timer5-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/asio/example/windows/CMakeLists.txt b/libs/asio/example/windows/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..de980b2
|
||
--- /dev/null
|
||
+++ b/libs/asio/example/windows/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+if(
|
||
+ WIN32
|
||
+)
|
||
+foreach(
|
||
+ example
|
||
+ transmit_file
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ DEPENDS
|
||
+ boost_system
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
+endif(
|
||
+ WIN32
|
||
+)
|
||
diff --git a/libs/asio/module.cmake b/libs/asio/module.cmake
|
||
new file mode 100644
|
||
index 0000000..7946162
|
||
--- /dev/null
|
||
+++ b/libs/asio/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(asio DEPENDS system date_time config exception)
|
||
+
|
||
+
|
||
diff --git a/libs/asio/test/CMakeLists.txt b/libs/asio/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..647d5af
|
||
--- /dev/null
|
||
+++ b/libs/asio/test/CMakeLists.txt
|
||
@@ -0,0 +1,127 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(asio BOOST_DEPENDS test system)
|
||
+
|
||
+set (dep_libs "")
|
||
+
|
||
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||
+ set(dep_libs "pthread")
|
||
+ set(os_defines "-D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1")
|
||
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||
+
|
||
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Solaris")
|
||
+ set(dep_libs "socket;nsl")
|
||
+ set(os_defines "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__")
|
||
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "Solaris")
|
||
+
|
||
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||
+ set(dep_libs "ws2_32;mswsock")
|
||
+ set(os_defines "-D_WIN32_WINNT=0x0501")
|
||
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||
+
|
||
+if (CYGWIN)
|
||
+ set(os_defines "-D__USE_W32_SOCKETS")
|
||
+endif(CYGWIN)
|
||
+
|
||
+if (${CMAKE_SYSTEM_NAME} STREQUAL "hpux")
|
||
+ set(dep_libs "ipv6")
|
||
+ set(os_defines "-D_XOPEN_SOURCE_EXTENDED")
|
||
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "hpux")
|
||
+
|
||
+message(STATUS "!!!> missing some qnx stuff")
|
||
+
|
||
+set (USE_SELECT "-DBOOST_ASIO_DISABLE_DEV_POLL -DBOOST_ASIO_DISABLE_EPOLL -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_ASIO_DISABLE_IOCP")
|
||
+
|
||
+set (depends "boost_system-mt-static;boost_date_time-mt-static;boost_thread-mt-static")
|
||
+
|
||
+set (os_defines "${os_defines} -DBOOST_ALL_NO_LIB=1")
|
||
+
|
||
+macro(asio_test_run NAME)
|
||
+ boost_test_run(${NAME} ${NAME}.cpp
|
||
+ COMPILE_FLAGS "${os_defines}"
|
||
+ LINK_LIBS "${dep_libs}"
|
||
+ DEPENDS ${depends}
|
||
+ )
|
||
+ boost_test_run(${NAME}_select ${NAME}.cpp
|
||
+ COMPILE_FLAGS "${os_defines} ${USE_SELECT}"
|
||
+ LINK_LIBS "${dep_libs}"
|
||
+ DEPENDS ${depends}
|
||
+ )
|
||
+endmacro(asio_test_run)
|
||
+
|
||
+macro(asio_test_link NAME)
|
||
+ boost_test_link(${NAME} ${NAME}.cpp
|
||
+ COMPILE_FLAGS "${os_defines}"
|
||
+ LINK_LIBS "${dep_libs}"
|
||
+ DEPENDS "${depends}"
|
||
+ )
|
||
+ boost_test_link(${NAME}_select ${NAME}.cpp
|
||
+ COMPILE_FLAGS "${os_defines} ${USE_SELECT}"
|
||
+ LINK_LIBS "${dep_libs}"
|
||
+ DEPENDS "${depends}"
|
||
+ )
|
||
+endmacro(asio_test_link)
|
||
+
|
||
+foreach(test
|
||
+ basic_datagram_socket
|
||
+ basic_deadline_timer
|
||
+ basic_socket_acceptor
|
||
+ basic_stream_socket
|
||
+ completion_condition
|
||
+ datagram_socket_service
|
||
+ deadline_timer_service
|
||
+ socket_acceptor_service
|
||
+ stream_socket_service
|
||
+ time_traits
|
||
+ )
|
||
+ asio_test_link(${test})
|
||
+endforeach()
|
||
+
|
||
+foreach(test
|
||
+ buffer
|
||
+ buffered_read_stream
|
||
+ buffered_stream
|
||
+ buffered_write_stream
|
||
+ buffers_iterator
|
||
+ deadline_timer
|
||
+ error
|
||
+ io_service
|
||
+ placeholders
|
||
+ is_read_buffered
|
||
+ is_write_buffered
|
||
+ read
|
||
+ read_at
|
||
+ read_until
|
||
+ socket_base
|
||
+ strand
|
||
+ write
|
||
+ write_at
|
||
+ )
|
||
+ asio_test_run(${test})
|
||
+endforeach()
|
||
+
|
||
+add_subdirectory(ip)
|
||
+add_subdirectory(local)
|
||
+add_subdirectory(posix)
|
||
+
|
||
+# Test Windows specific Behaviors
|
||
+if (MSVC)
|
||
+ foreach(test
|
||
+ windows_basic_handle
|
||
+ windows_basic_random_access_handle
|
||
+ windows_basic_stream_handle
|
||
+ windows_overlapped_ptr
|
||
+ windows_random_access_handle
|
||
+ windows_random_access_handle_service
|
||
+ windows_stream_handle
|
||
+ windows_stream_handle_service
|
||
+ )
|
||
+ boost_test_link(${test})
|
||
+ endforeach()
|
||
+endif (MSVC)
|
||
+
|
||
+add_subdirectory(ssl)
|
||
\ No newline at end of file
|
||
diff --git a/libs/asio/test/ip/CMakeLists.txt b/libs/asio/test/ip/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d68290b
|
||
--- /dev/null
|
||
+++ b/libs/asio/test/ip/CMakeLists.txt
|
||
@@ -0,0 +1,32 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+foreach(test
|
||
+ address
|
||
+ address_v4
|
||
+ address_v6
|
||
+ basic_endpoint
|
||
+ basic_resolver
|
||
+ basic_resolver_entry
|
||
+ basic_resolver_iterator
|
||
+ basic_resolver_query
|
||
+ resolver_query_base
|
||
+ resolver_service
|
||
+ )
|
||
+ asio_test_link(${test})
|
||
+endforeach()
|
||
+
|
||
+foreach(test
|
||
+ host_name
|
||
+ multicast
|
||
+ tcp
|
||
+ udp
|
||
+ unicast
|
||
+ v6_only)
|
||
+ asio_test_run(${test})
|
||
+endforeach()
|
||
+
|
||
+
|
||
diff --git a/libs/asio/test/local/CMakeLists.txt b/libs/asio/test/local/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4ae5436
|
||
--- /dev/null
|
||
+++ b/libs/asio/test/local/CMakeLists.txt
|
||
@@ -0,0 +1,16 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+foreach(test
|
||
+ basic_endpoint
|
||
+ connect_pair
|
||
+ datagram_protocol
|
||
+ stream_protocol
|
||
+ )
|
||
+ asio_test_link(${test})
|
||
+endforeach()
|
||
+
|
||
+
|
||
diff --git a/libs/asio/test/posix/CMakeLists.txt b/libs/asio/test/posix/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..743f822
|
||
--- /dev/null
|
||
+++ b/libs/asio/test/posix/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+foreach(test
|
||
+ basic_descriptor
|
||
+ basic_stream_descriptor
|
||
+ descriptor_base
|
||
+ stream_descriptor
|
||
+ stream_descriptor_service
|
||
+ )
|
||
+ asio_test_link(${test})
|
||
+endforeach()
|
||
+
|
||
+
|
||
diff --git a/libs/asio/test/ssl/CMakeLists.txt b/libs/asio/test/ssl/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d01c7da
|
||
--- /dev/null
|
||
+++ b/libs/asio/test/ssl/CMakeLists.txt
|
||
@@ -0,0 +1,78 @@
|
||
+#
|
||
+# Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||
+#
|
||
+# 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)
|
||
+#
|
||
+
|
||
+# import os ;
|
||
+# import feature ;
|
||
+#
|
||
+# lib ssl ;
|
||
+# lib crypto ;
|
||
+#
|
||
+# if [ os.name ] = SOLARIS
|
||
+# {
|
||
+# lib socket ;
|
||
+# lib nsl ;
|
||
+# }
|
||
+# else if [ os.name ] = NT
|
||
+# {
|
||
+# lib ws2_32 ;
|
||
+# lib mswsock ;
|
||
+# }
|
||
+# else if [ os.name ] = HPUX
|
||
+# {
|
||
+# lib ipv6 ;
|
||
+# }
|
||
+
|
||
+#local USE_SELECT =
|
||
+# <define>BOOST_ASIO_DISABLE_EPOLL
|
||
+# <define>BOOST_ASIO_DISABLE_KQUEUE
|
||
+# <define>BOOST_ASIO_DISABLE_IOCP
|
||
+# ;
|
||
+
|
||
+#project
|
||
+# : requirements
|
||
+# <library>/boost/date_time//boost_date_time
|
||
+# <library>/boost/thread//boost_thread
|
||
+# <define>BOOST_ALL_NO_LIB=1
|
||
+# <threading>multi
|
||
+# <os>SOLARIS:<library>socket
|
||
+# <os>SOLARIS:<library>nsl
|
||
+# <os>NT:<define>_WIN32_WINNT=0x0501
|
||
+# <os>NT,<toolset>gcc:<library>ws2_32
|
||
+# <os>NT,<toolset>gcc:<library>mswsock
|
||
+# <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
|
||
+# <os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
|
||
+# <os>HPUX:<library>ipv6
|
||
+# ;
|
||
+
|
||
+foreach (test
|
||
+ basic_context
|
||
+ context_base
|
||
+ context_service
|
||
+ context
|
||
+ stream_base
|
||
+ stream_service
|
||
+ stream)
|
||
+ boost_test_compile(${test})
|
||
+ boost_test_compile(${test}_select ${test}.cpp COMPILE_FLAGS ${USE_SELECT})
|
||
+endforeach()
|
||
+
|
||
+
|
||
+# [ compile basic_context.cpp ]
|
||
+# [ compile basic_context.cpp : $(USE_SELECT) : basic_context_select ]
|
||
+# [ compile context_base.cpp ]
|
||
+# [ compile context_base.cpp : $(USE_SELECT) : context_base_select ]
|
||
+# [ compile context_service.cpp ]
|
||
+# [ compile context_service.cpp : $(USE_SELECT) : context_service_select ]
|
||
+# [ compile context.cpp ]
|
||
+# [ compile context.cpp : $(USE_SELECT) : context_select ]
|
||
+# [ compile stream_base.cpp ]
|
||
+# [ compile stream_base.cpp : $(USE_SELECT) : stream_base_select ]
|
||
+# [ compile stream_service.cpp ]
|
||
+# [ compile stream_service.cpp : $(USE_SELECT) : stream_service_select ]
|
||
+# [ compile stream.cpp ]
|
||
+# [ compile stream.cpp : $(USE_SELECT) : stream_select ]
|
||
+# ;
|
||
diff --git a/libs/assign/CMakeLists.txt b/libs/assign/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0bae12d
|
||
--- /dev/null
|
||
+++ b/libs/assign/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ assign
|
||
+ assign.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ assign
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Filling containers with constant or generated data has never been easier."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/assign/module.cmake b/libs/assign/module.cmake
|
||
new file mode 100644
|
||
index 0000000..f67e4bc
|
||
--- /dev/null
|
||
+++ b/libs/assign/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(assign DEPENDS ptr_container)
|
||
\ No newline at end of file
|
||
diff --git a/libs/assign/test/CMakeLists.txt b/libs/assign/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9570438
|
||
--- /dev/null
|
||
+++ b/libs/assign/test/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(assign BOOST_DEPENDS test multi_index)
|
||
+
|
||
+SET(TESTS
|
||
+ basic
|
||
+ std
|
||
+ list_of
|
||
+ ptr_list_of
|
||
+ static_list_of
|
||
+ tuple_list_of
|
||
+ list_inserter
|
||
+ ptr_list_inserter
|
||
+ ptr_map_inserter
|
||
+ list_of_workaround
|
||
+ email_example
|
||
+ my_vector_example)
|
||
+
|
||
+FOREACH(test ${TESTS})
|
||
+ boost_test_run(${test} DEPENDS boost_unit_test_framework)
|
||
+ENDFOREACH(test ${TESTS})
|
||
+
|
||
+boost_test_run(multi_index_container
|
||
+ DEPENDS boost_unit_test_framework boost_serialization)
|
||
diff --git a/libs/bimap/CMakeLists.txt b/libs/bimap/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ac963f7
|
||
--- /dev/null
|
||
+++ b/libs/bimap/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ bimap.hpp
|
||
+ bimap
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ bimap
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Bidirectional map containers"
|
||
+ MODULARIZED
|
||
+ AUTHORS "Matias Capeletto <matias.capeletto -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/bimap/module.cmake b/libs/bimap/module.cmake
|
||
new file mode 100644
|
||
index 0000000..f796fac
|
||
--- /dev/null
|
||
+++ b/libs/bimap/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(bimap DEPENDS xpressive property_map)
|
||
\ No newline at end of file
|
||
diff --git a/libs/bimap/test/CMakeLists.txt b/libs/bimap/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2b3fb41
|
||
--- /dev/null
|
||
+++ b/libs/bimap/test/CMakeLists.txt
|
||
@@ -0,0 +1,49 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(bimap BOOST_DEPENDS test serialization multi_index functional typeof lambda assign)
|
||
+
|
||
+boost_test_run(test_tagged)
|
||
+boost_test_run(test_structured_pair)
|
||
+boost_test_run(test_mutant)
|
||
+boost_test_run(test_mutant_relation)
|
||
+boost_test_run(test_bimap_set_of)
|
||
+boost_test_run(test_bimap_multiset_of)
|
||
+boost_test_run(test_bimap_unordered_set_of)
|
||
+boost_test_run(test_bimap_unordered_multiset_of)
|
||
+boost_test_run(test_bimap_list_of)
|
||
+boost_test_run(test_bimap_vector_of)
|
||
+boost_test_run(test_bimap_ordered)
|
||
+boost_test_run(test_bimap_unordered)
|
||
+boost_test_run(test_bimap_sequenced)
|
||
+boost_test_run(test_bimap_unconstrained)
|
||
+boost_test_run(test_bimap_assign)
|
||
+boost_test_run(test_bimap_property_map)
|
||
+boost_test_run(test_bimap_modify)
|
||
+boost_test_run(test_bimap_range)
|
||
+boost_test_run(test_bimap_operator_bracket)
|
||
+boost_test_run(test_bimap_lambda)
|
||
+boost_test_run(test_bimap_mutable)
|
||
+boost_test_run(test_bimap_extra)
|
||
+boost_test_run(test_bimap_convenience_header)
|
||
+boost_test_run(test_bimap_project)
|
||
+boost_test_run(test_bimap_serialization DEPENDS boost_serialization)
|
||
+boost_test_run(test_bimap_info)
|
||
+boost_test_compile_fail(test_bimap_mutable_1 compile_fail/test_bimap_mutable_1.cpp)
|
||
+boost_test_compile_fail(test_bimap_mutable_2 compile_fail/test_bimap_mutable_2.cpp)
|
||
+boost_test_compile_fail(test_bimap_mutable_3 compile_fail/test_bimap_mutable_3.cpp)
|
||
+boost_test_compile_fail(test_bimap_info_1 compile_fail/test_bimap_info_1.cpp)
|
||
+boost_test_compile_fail(test_bimap_info_2 compile_fail/test_bimap_info_2.cpp)
|
||
+boost_test_compile_fail(test_bimap_info_3 compile_fail/test_bimap_info_3.cpp)
|
||
+boost_test_run(bimap_and_boost_property_map ../example/bimap_and_boost/property_map.cpp)
|
||
+boost_test_run(bimap_and_boost_range ../example/bimap_and_boost/range.cpp)
|
||
+boost_test_run(bimap_and_boost_foreach ../example/bimap_and_boost/foreach.cpp)
|
||
+boost_test_run(bimap_and_boost_lambda ../example/bimap_and_boost/lambda.cpp)
|
||
+boost_test_run(bimap_and_boost_assign ../example/bimap_and_boost/assign.cpp)
|
||
+boost_test_run(bimap_and_boost_xpressive ../example/bimap_and_boost/xpressive.cpp)
|
||
+boost_test_run(bimap_and_boost_typeof ../example/bimap_and_boost/typeof.cpp)
|
||
+boost_test_compile(bimap_and_boost_serialization
|
||
+ ../example/bimap_and_boost/serialization.cpp)
|
||
diff --git a/libs/bind/CMakeLists.txt b/libs/bind/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..127ae27
|
||
--- /dev/null
|
||
+++ b/libs/bind/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ bind.hpp
|
||
+ bind
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ bind
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Peter Dimov <pdimov -at- mmltd.net>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/bind/module.cmake b/libs/bind/module.cmake
|
||
new file mode 100644
|
||
index 0000000..beb4837
|
||
--- /dev/null
|
||
+++ b/libs/bind/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(bind DEPENDS utility mpl detail config)
|
||
\ No newline at end of file
|
||
diff --git a/libs/bind/test/CMakeLists.txt b/libs/bind/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9512e2e
|
||
--- /dev/null
|
||
+++ b/libs/bind/test/CMakeLists.txt
|
||
@@ -0,0 +1,47 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(bind BOOST_DEPENDS test)
|
||
+
|
||
+SET(tests
|
||
+ bind_test
|
||
+ bind_dm_test
|
||
+ bind_eq_test
|
||
+ bind_const_test
|
||
+ bind_cv_test
|
||
+ bind_stateful_test
|
||
+ bind_dm2_test
|
||
+ bind_not_test
|
||
+ bind_rel_test
|
||
+ bind_function_test
|
||
+ bind_lookup_problem_test
|
||
+ bind_rv_sp_test
|
||
+ bind_dm3_test
|
||
+ bind_visit_test
|
||
+ bind_placeholder_test
|
||
+ bind_rvalue_test
|
||
+ bind_and_or_test
|
||
+ mem_fn_test
|
||
+ mem_fn_void_test
|
||
+ mem_fn_derived_test
|
||
+ mem_fn_eq_test
|
||
+ mem_fn_dm_test
|
||
+ mem_fn_rv_test
|
||
+ ref_fn_test
|
||
+ bind_fnobj2_test
|
||
+ bind_fn2_test
|
||
+ bind_mf2_test
|
||
+ bind_eq2_test
|
||
+ mem_fn_ref_test
|
||
+ bind_ref_test
|
||
+ bind_eq3_test
|
||
+ )
|
||
+FOREACH(test ${tests})
|
||
+ boost_test_run(${test})
|
||
+ENDFOREACH(test ${tests})
|
||
+
|
||
+boost_test_compile(bind_unary_addr)
|
||
+
|
||
diff --git a/libs/circular_buffer/CMakeLists.txt b/libs/circular_buffer/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..cb2fa50c0
|
||
--- /dev/null
|
||
+++ b/libs/circular_buffer/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ circular_buffer.hpp
|
||
+ circular_buffer_fwd.hpp
|
||
+ circular_buffer
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ circular_buffer
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "STL compliant container also known as ring or cyclic buffer."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jan Gaspar <jano_gaspar -at- yahoo.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/circular_buffer/module.cmake b/libs/circular_buffer/module.cmake
|
||
new file mode 100644
|
||
index 0000000..1d36e4d
|
||
--- /dev/null
|
||
+++ b/libs/circular_buffer/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module (circular_buffer DEPENDS config thread)
|
||
\ No newline at end of file
|
||
diff --git a/libs/circular_buffer/test/CMakeLists.txt b/libs/circular_buffer/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2637050
|
||
--- /dev/null
|
||
+++ b/libs/circular_buffer/test/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(circular_buffer BOOST_DEPENDS test )
|
||
+
|
||
+
|
||
+boost_test_run(base_test SINGLE_THREADED)
|
||
+boost_test_run(space_optimized_test SINGLE_THREADED)
|
||
+boost_test_run(soft_iterator_invalidation SINGLE_THREADED)
|
||
+boost_test_compile(bounded_buffer_comparison)
|
||
\ No newline at end of file
|
||
diff --git a/libs/compatibility/CMakeLists.txt b/libs/compatibility/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..da5bee2
|
||
--- /dev/null
|
||
+++ b/libs/compatibility/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ compatibility
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ compatibility
|
||
+ # SRCDIRS
|
||
+ # TESTDIRS
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/compatibility/module.cmake b/libs/compatibility/module.cmake
|
||
new file mode 100644
|
||
index 0000000..2561216
|
||
--- /dev/null
|
||
+++ b/libs/compatibility/module.cmake
|
||
@@ -0,0 +1,2 @@
|
||
+boost_module(compatibility)
|
||
+
|
||
diff --git a/libs/concept_check/CMakeLists.txt b/libs/concept_check/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..073ef90
|
||
--- /dev/null
|
||
+++ b/libs/concept_check/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ concept_check.hpp
|
||
+ concept_archetype.hpp
|
||
+ concept_check
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ concept_check
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Tools for generic programming."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/concept_check/module.cmake b/libs/concept_check/module.cmake
|
||
new file mode 100644
|
||
index 0000000..7deef63
|
||
--- /dev/null
|
||
+++ b/libs/concept_check/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(concept_check DEPENDS preprocessor)
|
||
\ No newline at end of file
|
||
diff --git a/libs/concept_check/test/CMakeLists.txt b/libs/concept_check/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..fea159f
|
||
--- /dev/null
|
||
+++ b/libs/concept_check/test/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(concept_check BOOST_DEPENDS utility)
|
||
+
|
||
+# this fails but looks like it isn't the build
|
||
+# boost_test_run(../stl_concept_covering)
|
||
+boost_test_run(concept_check_test ../concept_check_test.cpp)
|
||
+boost_test_run(class_concept_check_test ../class_concept_check_test.cpp)
|
||
+boost_test_compile_fail(concept_check_fail_expected ../concept_check_fail_expected.cpp)
|
||
+boost_test_compile_fail(class_concept_fail_expected ../class_concept_fail_expected.cpp)
|
||
diff --git a/libs/config/CMakeLists.txt b/libs/config/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0933327
|
||
--- /dev/null
|
||
+++ b/libs/config/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ config.hpp
|
||
+ config
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ config
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users."
|
||
+ MODULARIZED
|
||
+ AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/config/test/CMakeLists.txt b/libs/config/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1e31993
|
||
--- /dev/null
|
||
+++ b/libs/config/test/CMakeLists.txt
|
||
@@ -0,0 +1,37 @@
|
||
+# Copyright John Maddock and Douglas Gregor.
|
||
+# Use, modification and distribution are subject to 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)
|
||
+if(MSVC)
|
||
+ set(BOOST_CONFIG_MSVC_STATIC_OPTIONS STATIC STATIC_RUNTIME)
|
||
+endif(MSVC)
|
||
+if(BORLAND)
|
||
+ set(BOOST_CONFIG_BORLAND_STATIC_OPTIONS STATIC STATIC_RUNTIME)
|
||
+endif(BORLAND)
|
||
+
|
||
+if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||
+ set(BOOST_CONFIG_STATIC_THREAD_LIBS LINK_LIBS pthread rt)
|
||
+endif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||
+
|
||
+boost_additional_test_dependencies(config BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(config_test_threaded config_test.cpp
|
||
+ EXTRA_OPTIONS MULTI_THREADED)
|
||
+
|
||
+boost_test_run(config_test
|
||
+ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS}
|
||
+ ${BOOST_CONFIG_STATIC_THREAD_LIBS})
|
||
+boost_test_run(config_info_threaded config_info.cpp
|
||
+ EXTRA_OPTIONS MULTI_THREADED)
|
||
+boost_test_run(config_info
|
||
+ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS})
|
||
+boost_test_run(math_info
|
||
+ EXTRA_OPTIONS ${BOOST_CONFIG_BORLAND_STATIC_OPTIONS})
|
||
+
|
||
+
|
||
+boost_test_run(limits_test DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(abi_test abi/abi_test.cpp abi/main.cpp)
|
||
+
|
||
+# TODO: config_link_test
|
||
+boost_test_compile_fail(test_thread_fail1 threads/test_thread_fail1.cpp)
|
||
+boost_test_compile_fail(test_thread_fail2 threads/test_thread_fail2.cpp)
|
||
\ No newline at end of file
|
||
diff --git a/libs/conversion/CMakeLists.txt b/libs/conversion/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3badd19
|
||
--- /dev/null
|
||
+++ b/libs/conversion/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ conversion
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ # HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Polymorphic and lexical casts"
|
||
+ # MODULARIZED
|
||
+ AUTHORS "David Abrahams <dave -at- boost-consulting.com>"
|
||
+ "Kevlin Henney"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/conversion/test/CMakeLists.txt b/libs/conversion/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7b10f31
|
||
--- /dev/null
|
||
+++ b/libs/conversion/test/CMakeLists.txt
|
||
@@ -0,0 +1,20 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(conversion BOOST_DEPENDS test detail numeric)
|
||
+
|
||
+boost_test_run(implicit_cast)
|
||
+boost_test_compile_fail(implicit_cast_fail)
|
||
+boost_test_run(cast_test ../cast_test.cpp)
|
||
+boost_test_run(numeric_cast_test ../numeric_cast_test.cpp)
|
||
+boost_test_run(
|
||
+ lexical_cast_test
|
||
+ ../lexical_cast_test.cpp
|
||
+ DEPENDS boost_unit_test_framework
|
||
+)
|
||
+
|
||
+
|
||
+
|
||
diff --git a/libs/crc/CMakeLists.txt b/libs/crc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e416771
|
||
--- /dev/null
|
||
+++ b/libs/crc/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ crc.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ crc
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Daryle Walker <darylew -at- hotmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/crc/module.cmake b/libs/crc/module.cmake
|
||
new file mode 100644
|
||
index 0000000..af56199
|
||
--- /dev/null
|
||
+++ b/libs/crc/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(crc DEPENDS integer config)
|
||
\ No newline at end of file
|
||
diff --git a/libs/crc/test/CMakeLists.txt b/libs/crc/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..588863b
|
||
--- /dev/null
|
||
+++ b/libs/crc/test/CMakeLists.txt
|
||
@@ -0,0 +1,10 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(crc BOOST_DEPENDS test random)
|
||
+
|
||
+boost_test_run(crc_test crc_test.cpp)
|
||
+
|
||
diff --git a/libs/date_time/CMakeLists.txt b/libs/date_time/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4fe4364
|
||
--- /dev/null
|
||
+++ b/libs/date_time/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ date_time.hpp
|
||
+ date_time
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ date_time
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A set of date-time libraries based on generic programming concepts."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jeff Garland <jeff -at- crystalclearsoftware.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/date_time/module.cmake b/libs/date_time/module.cmake
|
||
new file mode 100644
|
||
index 0000000..536947d
|
||
--- /dev/null
|
||
+++ b/libs/date_time/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(date_time DEPENDS algorithm smart_ptr tokenizer io bind serialization)
|
||
\ No newline at end of file
|
||
diff --git a/libs/date_time/src/CMakeLists.txt b/libs/date_time/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3a07ef4
|
||
--- /dev/null
|
||
+++ b/libs/date_time/src/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DBOOST_DATE_TIME_NO_LIB=1)
|
||
+boost_add_library(
|
||
+ date_time
|
||
+ gregorian/greg_month.cpp gregorian/greg_weekday.cpp gregorian/date_generators.cpp
|
||
+ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1
|
||
+ )
|
||
diff --git a/libs/date_time/test/CMakeLists.txt b/libs/date_time/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c7d1fe0
|
||
--- /dev/null
|
||
+++ b/libs/date_time/test/CMakeLists.txt
|
||
@@ -0,0 +1,187 @@
|
||
+boost_additional_test_dependencies(date_time BOOST_DEPENDS test bind)
|
||
+
|
||
+# Core
|
||
+boost_test_run(testint_adapter)
|
||
+boost_test_run(testtime_resolution_traits)
|
||
+boost_test_run(testwrapping_int)
|
||
+boost_test_run(testconstrained_value)
|
||
+boost_test_run(testgregorian_calendar)
|
||
+boost_test_run(testgeneric_period)
|
||
+
|
||
+set(DATE_TIME_COMPILE_FLAGS
|
||
+ "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB")
|
||
+set(DATE_TIME_SHARED_COMPILE_FLAGS
|
||
+ "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB")
|
||
+
|
||
+# A macro that collects the common settings used to build a run test
|
||
+# for the Date-Time library that links statically.
|
||
+macro(date_time_static_test SUBDIR TESTNAME)
|
||
+ boost_test_run(${TESTNAME}
|
||
+ "${SUBDIR}/${TESTNAME}.cpp"
|
||
+ DEPENDS boost_date_time STATIC
|
||
+ COMPILE_FLAGS ${DATE_TIME_COMPILE_FLAGS})
|
||
+endmacro(date_time_static_test)
|
||
+
|
||
+# A macro that collects the common settings used to build a run test
|
||
+# for the Date-Time library that links dynamically.
|
||
+macro(date_time_shared_test SUBDIR TESTNAME)
|
||
+ boost_test_run("${TESTNAME}_dll"
|
||
+ "${SUBDIR}/${TESTNAME}.cpp"
|
||
+ DEPENDS boost_date_time SHARED
|
||
+ COMPILE_FLAGS ${DATE_TIME_SHARED_COMPILE_FLAGS})
|
||
+endmacro(date_time_shared_test)
|
||
+
|
||
+# Gregorian
|
||
+date_time_static_test(gregorian testdate)
|
||
+date_time_static_test(gregorian testdate_duration)
|
||
+date_time_static_test(gregorian testgreg_durations)
|
||
+date_time_static_test(gregorian testperiod)
|
||
+date_time_static_test(gregorian testdate_iterator)
|
||
+date_time_static_test(gregorian testformatters)
|
||
+### streaming
|
||
+date_time_static_test(gregorian testdate_facet_new)
|
||
+date_time_static_test(gregorian testdate_input_facet)
|
||
+###
|
||
+date_time_static_test(gregorian testgenerators)
|
||
+date_time_static_test(gregorian testgreg_cal)
|
||
+date_time_static_test(gregorian testgreg_day)
|
||
+date_time_static_test(gregorian testgreg_month)
|
||
+date_time_static_test(gregorian testgreg_year)
|
||
+
|
||
+date_time_shared_test(gregorian testdate)
|
||
+date_time_shared_test(gregorian testdate_duration)
|
||
+date_time_shared_test(gregorian testgreg_durations)
|
||
+date_time_shared_test(gregorian testperiod)
|
||
+date_time_shared_test(gregorian testdate_iterator)
|
||
+date_time_shared_test(gregorian testformatters)
|
||
+### streaming
|
||
+date_time_shared_test(gregorian testdate_facet_new)
|
||
+date_time_shared_test(gregorian testdate_input_facet)
|
||
+###
|
||
+date_time_shared_test(gregorian testgenerators)
|
||
+date_time_shared_test(gregorian testgreg_cal)
|
||
+date_time_shared_test(gregorian testgreg_day)
|
||
+date_time_shared_test(gregorian testgreg_month)
|
||
+date_time_shared_test(gregorian testgreg_year)
|
||
+
|
||
+# POSIX Time
|
||
+date_time_static_test(posix_time testfiletime_functions)
|
||
+date_time_static_test(posix_time testlocal_adjustor)
|
||
+date_time_static_test(posix_time testc_local_adjustor)
|
||
+date_time_static_test(posix_time testclock)
|
||
+date_time_static_test(posix_time testdst_rules)
|
||
+date_time_static_test(posix_time testduration)
|
||
+date_time_static_test(posix_time testiterator)
|
||
+date_time_static_test(posix_time testparse_time)
|
||
+date_time_static_test(posix_time testtime_period)
|
||
+date_time_static_test(posix_time testtime)
|
||
+date_time_static_test(posix_time testmicrosec_time_clock)
|
||
+date_time_static_test(posix_time testtime_formatters)
|
||
+date_time_static_test(posix_time testgreg_duration_operators)
|
||
+### streaming
|
||
+date_time_static_test(posix_time testtime_facet)
|
||
+date_time_static_test(posix_time testtime_input_facet)
|
||
+###
|
||
+
|
||
+# Wide streaming
|
||
+boost_test_run(testgreg_wstream
|
||
+ "gregorian/testgreg_wstream.cpp"
|
||
+ DEPENDS boost_date_time STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+boost_test_run(testtime_wstream
|
||
+ "posix_time/testtime_wstream.cpp"
|
||
+ DEPENDS boost_date_time STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+
|
||
+# Pre-1.33 facets
|
||
+boost_test_run(testfacet_dll
|
||
+ "gregorian/testfacet.cpp"
|
||
+ DEPENDS boost_date_time SHARED
|
||
+ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+# Note: This next test was commented out in the Jamfile.v2 because "it
|
||
+# crashes on VC6 (cause unknown)"
|
||
+boost_test_run(testparse_date_dll
|
||
+ "gregorian/testparse_date.cpp"
|
||
+ DEPENDS boost_date_time SHARED
|
||
+ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+boost_test_run(testfacet
|
||
+ "gregorian/testfacet.cpp"
|
||
+ DEPENDS boost_date_time STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+boost_test_run(testparse_date
|
||
+ "gregorian/testparse_date.cpp"
|
||
+ DEPENDS boost_date_time STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+boost_test_run(teststreams
|
||
+ "posix_time/teststreams.cpp"
|
||
+ DEPENDS boost_date_time STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+
|
||
+# Local time
|
||
+date_time_static_test(local_time testdst_transition_day_rule)
|
||
+date_time_static_test(local_time testcustom_time_zone)
|
||
+date_time_static_test(local_time testposix_time_zone)
|
||
+date_time_static_test(local_time testwcustom_time_zone)
|
||
+date_time_static_test(local_time testwposix_time_zone)
|
||
+
|
||
+# we have to copy these into the binary dir because to make the
|
||
+# paths inside the tests match
|
||
+if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||
+ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data")
|
||
+ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/data/date_time_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/data")
|
||
+ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time")
|
||
+ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/test/local_time/poorly_formed_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time")
|
||
+endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||
+
|
||
+date_time_static_test(local_time testtz_database)
|
||
+date_time_static_test(local_time testlocal_time)
|
||
+date_time_static_test(local_time testlocal_time_iterator)
|
||
+date_time_static_test(local_time testlocal_time_period)
|
||
+### streaming
|
||
+date_time_static_test(local_time testlocal_time_facet)
|
||
+date_time_static_test(local_time testlocal_time_input_facet)
|
||
+###
|
||
+date_time_static_test(local_time testclocks)
|
||
+
|
||
+
|
||
+set(DATE_TIME_COMPILE_FLAGS
|
||
+ "-DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
|
||
+
|
||
+# Serialization
|
||
+ # xml archive tests
|
||
+boost_test_run(testgreg_serialize_xml
|
||
+ "gregorian/testgreg_serialize.cpp"
|
||
+ DEPENDS boost_date_time boost_serialization STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE")
|
||
+boost_test_run(testtime_serialize_xml_std_config
|
||
+ "posix_time/testtime_serialize.cpp"
|
||
+ DEPENDS boost_date_time boost_serialization STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DDATE_TIME_XML_SERIALIZE")
|
||
+boost_test_run(testtime_serialize_xml
|
||
+ "posix_time/testtime_serialize.cpp"
|
||
+ DEPENDS boost_date_time boost_serialization STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE")
|
||
+
|
||
+ # text archive tests
|
||
+boost_test_run(testgreg_serialize
|
||
+ "gregorian/testgreg_serialize.cpp"
|
||
+ DEPENDS boost_date_time boost_serialization STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}")
|
||
+boost_test_run(testgreg_serialize_dll
|
||
+ "gregorian/testgreg_serialize.cpp"
|
||
+ DEPENDS boost_date_time SHARED boost_serialization SHARED
|
||
+ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS}")
|
||
+boost_test_run(testtime_serialize_std_config
|
||
+ "posix_time/testtime_serialize.cpp"
|
||
+ DEPENDS boost_date_time boost_serialization STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG")
|
||
+boost_test_run(testtime_serialize
|
||
+ "posix_time/testtime_serialize.cpp"
|
||
+ DEPENDS boost_date_time boost_serialization STATIC
|
||
+ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}")
|
||
+
|
||
+# Copyright (c) 2000-2005
|
||
+# CrystalClear Software, Inc.
|
||
+# Subject to the Boost Software License, Version 1.0.
|
||
+# (See accompanying file LICENSE-1.0 or
|
||
+# http://www.boost.org/LICENSE-1.0)
|
||
diff --git a/libs/detail/CMakeLists.txt b/libs/detail/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b75d9b9
|
||
--- /dev/null
|
||
+++ b/libs/detail/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ detail
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ detail
|
||
+ # SRCDIRS
|
||
+ # TESTDIRS
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users."
|
||
+ MODULARIZED
|
||
+ # AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/detail/module.cmake b/libs/detail/module.cmake
|
||
new file mode 100644
|
||
index 0000000..123eff6
|
||
--- /dev/null
|
||
+++ b/libs/detail/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(detail DEPENDS integer)
|
||
\ No newline at end of file
|
||
diff --git a/libs/disjoint_sets/CMakeLists.txt b/libs/disjoint_sets/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..88c4030
|
||
--- /dev/null
|
||
+++ b/libs/disjoint_sets/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ disjoint_sets
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+# HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Provides disjoint sets operations with union by rank and path compression."
|
||
+ # MODULARIZED
|
||
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
|
||
+ "Lie-Quan Lee"
|
||
+ "Andrew Lumsdaine"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/disjoint_sets/module.cmake b/libs/disjoint_sets/module.cmake
|
||
new file mode 100644
|
||
index 0000000..bbec4d0
|
||
--- /dev/null
|
||
+++ b/libs/disjoint_sets/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module (disjoint_sets DEPENDS test graph)
|
||
\ No newline at end of file
|
||
diff --git a/libs/disjoint_sets/test/CMakeLists.txt b/libs/disjoint_sets/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ad5dd5d
|
||
--- /dev/null
|
||
+++ b/libs/disjoint_sets/test/CMakeLists.txt
|
||
@@ -0,0 +1,7 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_test_run(disjoint_set_test ../disjoint_set_test.cpp)
|
||
diff --git a/libs/dynamic_bitset/CMakeLists.txt b/libs/dynamic_bitset/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4a08cf6
|
||
--- /dev/null
|
||
+++ b/libs/dynamic_bitset/CMakeLists.txt
|
||
@@ -0,0 +1,30 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ dynamic_bitset.hpp
|
||
+ dynamic_bitset_fwd.hpp
|
||
+ dynamic_bitset
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ dynamic_bitset
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A runtime-sized version of std::bitset"
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
|
||
+ "Chuck Allison"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/dynamic_bitset/module.cmake b/libs/dynamic_bitset/module.cmake
|
||
new file mode 100644
|
||
index 0000000..20b3200
|
||
--- /dev/null
|
||
+++ b/libs/dynamic_bitset/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(dynamic_bitset DEPENDS detail static_assert)
|
||
diff --git a/libs/dynamic_bitset/test/CMakeLists.txt b/libs/dynamic_bitset/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8ea25eb
|
||
--- /dev/null
|
||
+++ b/libs/dynamic_bitset/test/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(dynamic_bitset BOOST_DEPENDS test config)
|
||
+
|
||
+
|
||
+boost_test_run(dyn_bitset_unit_tests1 ../dyn_bitset_unit_tests1.cpp)
|
||
+boost_test_run(dyn_bitset_unit_tests2 ../dyn_bitset_unit_tests2.cpp)
|
||
+boost_test_run(dyn_bitset_unit_tests3 ../dyn_bitset_unit_tests3.cpp)
|
||
+boost_test_run(dyn_bitset_unit_tests4 ../dyn_bitset_unit_tests4.cpp)
|
||
diff --git a/libs/exception/CMakeLists.txt b/libs/exception/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e3f571f
|
||
--- /dev/null
|
||
+++ b/libs/exception/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ exception.hpp
|
||
+ exception_ptr.hpp
|
||
+ exception
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ exception
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Emil Dotchevski <emil -at- revergestudios.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/exception/module.cmake b/libs/exception/module.cmake
|
||
new file mode 100644
|
||
index 0000000..89d0eef
|
||
--- /dev/null
|
||
+++ b/libs/exception/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(exception DEPENDS smart_ptr detail utility tuple)
|
||
\ No newline at end of file
|
||
diff --git a/libs/exception/test/CMakeLists.txt b/libs/exception/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..98e8869
|
||
--- /dev/null
|
||
+++ b/libs/exception/test/CMakeLists.txt
|
||
@@ -0,0 +1,55 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(exception BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(is_output_streamable_test)
|
||
+boost_test_run(has_to_string_test)
|
||
+boost_test_run(to_string_test)
|
||
+boost_test_run(to_string_stub_test)
|
||
+boost_test_compile_fail(to_string_fail)
|
||
+
|
||
+#exception
|
||
+
|
||
+boost_test_run(1-throw_exception_test)
|
||
+boost_test_run(2-throw_exception_no_exceptions_test)
|
||
+boost_test_run(3-throw_exception_no_integration_test)
|
||
+boost_test_run(4-throw_exception_no_both_test)
|
||
+boost_test_run(cloning_test)
|
||
+boost_test_run(copy_exception_test)
|
||
+boost_test_run(unknown_exception_test)
|
||
+boost_test_run(exception_test)
|
||
+boost_test_run(enable_error_info_test enable_error_info_test.cpp helper1.cpp)
|
||
+boost_test_run(throw_exception_test throw_exception_test.cpp helper2.cpp)
|
||
+boost_test_run(errno_test)
|
||
+boost_test_run(error_info_test)
|
||
+boost_test_run(diagnostic_information_test)
|
||
+boost_test_run(refcount_ptr_test)
|
||
+boost_test_run(current_exception_cast_test)
|
||
+message(STATUS "!!!> run no_exceptions_test.cpp : : : <exception-handling>off ;")
|
||
+
|
||
+boost_test_compile_fail(exception_fail)
|
||
+boost_test_compile_fail(throw_exception_fail)
|
||
+
|
||
+# Compile headers tests
|
||
+set (compile_tests
|
||
+ exception_ptr_hpp_test
|
||
+ diagnostic_information_hpp_test
|
||
+ error_info_hpp_test
|
||
+ exception_hpp_test
|
||
+ get_error_info_hpp_test
|
||
+ info_hpp_test
|
||
+ info_tuple_hpp_test
|
||
+ to_string_hpp_test
|
||
+ to_string_stub_hpp_test
|
||
+ current_exception_cast_hpp_test
|
||
+ )
|
||
+
|
||
+#-- Create a Compile test for each source
|
||
+foreach(test ${compile_tests})
|
||
+ boost_test_compile(${test} "${test}.cpp")
|
||
+endforeach(test ${compile_tests})
|
||
+
|
||
diff --git a/libs/filesystem/CMakeLists.txt b/libs/filesystem/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4d4138d
|
||
--- /dev/null
|
||
+++ b/libs/filesystem/CMakeLists.txt
|
||
@@ -0,0 +1,42 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ filesystem.hpp
|
||
+ filesystem
|
||
+ )
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ filesystem
|
||
+ # SRCDIRS v3/src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories. Note: the default version is now v3: v2 is deprecated."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Beman Dawes <bdawes -at- acm.org>"
|
||
+ # MAINTAINERS
|
||
+ )
|
||
+
|
||
+boost_add_library(
|
||
+ filesystem
|
||
+
|
||
+ v2/src/v2_operations.cpp v2/src/v2_path.cpp
|
||
+ v2/src/v2_portability.cpp
|
||
+
|
||
+ v3/src/codecvt_error_category.cpp v3/src/operations.cpp
|
||
+ v3/src/path.cpp v3/src/path_traits.cpp v3/src/portability.cpp
|
||
+ v3/src/unique_path.cpp v3/src/utf8_codecvt_facet.cpp
|
||
+ v3/src/windows_file_codecvt.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1"
|
||
+ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1"
|
||
+ DEPENDS boost_system
|
||
+ )
|
||
diff --git a/libs/filesystem/module.cmake b/libs/filesystem/module.cmake
|
||
new file mode 100644
|
||
index 0000000..6cf6911
|
||
--- /dev/null
|
||
+++ b/libs/filesystem/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(filesystem DEPENDS system smart_ptr)
|
||
\ No newline at end of file
|
||
diff --git a/libs/filesystem/test/CMakeLists.txt b/libs/filesystem/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ac9c951
|
||
--- /dev/null
|
||
+++ b/libs/filesystem/test/CMakeLists.txt
|
||
@@ -0,0 +1,22 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind)
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK
|
||
+
|
||
+boost_test_compile(mbcopy ../v3/example/mbcopy.cpp)
|
||
+boost_test_compile(mbpath ../v3/example/mbpath.cpp)
|
||
+boost_test_compile(tchar ../v3/example/tchar.cpp)
|
||
+boost_test_compile(file_size ../v3/example/file_size.cpp)
|
||
+boost_test_compile(path_info ../v3/example/path_info.cpp)
|
||
+boost_test_compile(error_demo ../v3/example/error_demo.cpp)
|
||
+boost_test_compile(tut0 ../v3/example/tut0.cpp)
|
||
+boost_test_compile(tut1 ../v3/example/tut1.cpp)
|
||
+boost_test_compile(tut2 ../v3/example/tut2.cpp)
|
||
+boost_test_compile(tut3 ../v3/example/tut3.cpp)
|
||
+boost_test_compile(tut4 ../v3/example/tut4.cpp)
|
||
+boost_test_compile(tut5 ../v3/example/tut5.cpp)
|
||
diff --git a/libs/filesystem/v2/src/CMakeLists.txt b/libs/filesystem/v2/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c11ee66
|
||
--- /dev/null
|
||
+++ b/libs/filesystem/v2/src/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(
|
||
+ filesystem
|
||
+ v2_operations.cpp v2_path.cpp v2_portability.cpp
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1"
|
||
+ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1"
|
||
+ DEPENDS boost_system
|
||
+ )
|
||
+
|
||
diff --git a/libs/filesystem/v2/test/CMakeLists.txt b/libs/filesystem/v2/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7ce5102
|
||
--- /dev/null
|
||
+++ b/libs/filesystem/v2/test/CMakeLists.txt
|
||
@@ -0,0 +1,25 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind)
|
||
+
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK
|
||
+
|
||
+SET(TESTS path_test operations_test
|
||
+ fstream_test convenience_test
|
||
+ large_file_support_test)
|
||
+
|
||
+FOREACH(test ${TESTS})
|
||
+ boost_test_run(${test}_static
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_filesystem STATIC
|
||
+ COMPILE_FLAGS -DBOOST_FILESYSTEM_STATIC_LINK)
|
||
+ boost_test_run(${test}_dynamic
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_filesystem SHARED
|
||
+ COMPILE_FLAGS -DBOOST_FILESYSTEM_DYN_LINK)
|
||
+ENDFOREACH(test ${TESTS})
|
||
diff --git a/libs/filesystem/v3/test/CMakeLists.txt b/libs/filesystem/v3/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..95e39b0
|
||
--- /dev/null
|
||
+++ b/libs/filesystem/v3/test/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind)
|
||
+
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK
|
||
+
|
||
+SET(TESTS path_unit_test path_test
|
||
+ operations_unit_test operations_test
|
||
+ fstream_test convenience_test
|
||
+ large_file_support_test deprecated_test
|
||
+ simple_ls)
|
||
+
|
||
+FOREACH(test ${TESTS})
|
||
+ boost_test_run(${test}_static
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_filesystem STATIC
|
||
+ COMPILE_FLAGS -DBOOST_FILESYSTEM_STATIC_LINK)
|
||
+ boost_test_run(${test}_dynamic
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_filesystem SHARED
|
||
+ COMPILE_FLAGS -DBOOST_FILESYSTEM_DYN_LINK)
|
||
+ENDFOREACH(test ${TESTS})
|
||
diff --git a/libs/flyweight/CMakeLists.txt b/libs/flyweight/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..542b728
|
||
--- /dev/null
|
||
+++ b/libs/flyweight/CMakeLists.txt
|
||
@@ -0,0 +1,18 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ flyweight
|
||
+ TESTDIRS test
|
||
+ HEADERS flyweight flyweight.hpp
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Flyweights are small-sized handle classes granting constant access to shared common data, thus allowing for the management of large amounts of entities within reasonable memory limits. Boost.Flyweight makes it easy to use this common programming idiom by providing the class template flyweight<T>, which acts as a drop-in replacement for const T."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Joaqu<71>n M L<>pez Mu<4D>oz <fixme -at- fixme.com>"
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/flyweight/module.cmake b/libs/flyweight/module.cmake
|
||
new file mode 100644
|
||
index 0000000..51d4617
|
||
--- /dev/null
|
||
+++ b/libs/flyweight/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(flyweight DEPENDS mpl parameter preprocessor interprocess type_traits)
|
||
diff --git a/libs/flyweight/test/CMakeLists.txt b/libs/flyweight/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a343357
|
||
--- /dev/null
|
||
+++ b/libs/flyweight/test/CMakeLists.txt
|
||
@@ -0,0 +1,53 @@
|
||
+# Boost.Flyweight tests Jamfile
|
||
+#
|
||
+# Copyright 2006-2008 Joaqu<71>n M L<>pez Mu<4D>oz.
|
||
+# 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)
|
||
+#
|
||
+# See http://www.boost.org/libs/flyweight for library home page.
|
||
+
|
||
+find_package(Threads)
|
||
+
|
||
+macro(flyweight_test testname)
|
||
+ boost_test_run(${testname}
|
||
+ test_${testname}.cpp test_${testname}_main.cpp
|
||
+ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
||
+endmacro()
|
||
+
|
||
+foreach(test
|
||
+ basic
|
||
+ custom_factory
|
||
+ init
|
||
+ multictor
|
||
+ no_locking
|
||
+ no_tracking
|
||
+ set_factory)
|
||
+
|
||
+ flyweight_test(${test})
|
||
+
|
||
+endforeach()
|
||
+
|
||
+#
|
||
+# test_assoc_cont_fact_main is irregularly named
|
||
+#
|
||
+boost_test_run(assoc_cont_factory
|
||
+ test_assoc_cont_factory.cpp test_assoc_cont_fact_main.cpp
|
||
+ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
||
+
|
||
+#
|
||
+# this one involves a dll
|
||
+#
|
||
+boost_add_library(intermod_holder_dll
|
||
+ intermod_holder_dll.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_FLYWEIGHT_TEST_INTERMOD_HOLDER_DLL_SOURCE=1"
|
||
+ NO_SINGLE_THREADED
|
||
+ NO_STATIC
|
||
+ NO_INSTALL
|
||
+ )
|
||
+
|
||
+boost_test_run(intermod_holder
|
||
+ test_intermod_holder.cpp test_intermod_holder_main.cpp
|
||
+ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}
|
||
+ DEPENDS intermod_holder_dll)
|
||
+
|
||
diff --git a/libs/foreach/CMakeLists.txt b/libs/foreach/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4006087
|
||
--- /dev/null
|
||
+++ b/libs/foreach/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ foreach.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ foreach
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/foreach/module.cmake b/libs/foreach/module.cmake
|
||
new file mode 100644
|
||
index 0000000..7501f4d
|
||
--- /dev/null
|
||
+++ b/libs/foreach/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(foreach DEPENDS range)
|
||
\ No newline at end of file
|
||
diff --git a/libs/foreach/test/CMakeLists.txt b/libs/foreach/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4be0750
|
||
--- /dev/null
|
||
+++ b/libs/foreach/test/CMakeLists.txt
|
||
@@ -0,0 +1,40 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(foreach BOOST_DEPENDS test )
|
||
+
|
||
+set(TESTS
|
||
+stl_byval
|
||
+stl_byval_r
|
||
+stl_byref
|
||
+stl_byref_r
|
||
+array_byval
|
||
+array_byval_r
|
||
+array_byref
|
||
+array_byref_r
|
||
+cstr_byval
|
||
+cstr_byval_r
|
||
+cstr_byref
|
||
+cstr_byref_r
|
||
+pair_byval
|
||
+pair_byval_r
|
||
+pair_byref
|
||
+pair_byref_r
|
||
+user_defined
|
||
+call_once
|
||
+rvalue_const
|
||
+rvalue_const_r
|
||
+rvalue_nonconst
|
||
+rvalue_nonconst_r
|
||
+dependent_type
|
||
+misc)
|
||
+
|
||
+foreach(test ${TESTS})
|
||
+ boost_test_run(${test})
|
||
+endforeach(test ${TESTS})
|
||
+
|
||
+boost_test_compile(noncopyable)
|
||
+
|
||
diff --git a/libs/format/CMakeLists.txt b/libs/format/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e4097e5
|
||
--- /dev/null
|
||
+++ b/libs/format/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ format.hpp
|
||
+ format
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ format
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/format/module.cmake b/libs/format/module.cmake
|
||
new file mode 100644
|
||
index 0000000..6a30d4e
|
||
--- /dev/null
|
||
+++ b/libs/format/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(format DEPENDS detail config optional)
|
||
\ No newline at end of file
|
||
diff --git a/libs/format/test/CMakeLists.txt b/libs/format/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..6c24f7f
|
||
--- /dev/null
|
||
+++ b/libs/format/test/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(format BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(format_test1 DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(format_test2 DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(format_test3 DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(format_test_wstring DEPENDS boost_test_exec_monitor)
|
||
+
|
||
diff --git a/libs/function/CMakeLists.txt b/libs/function/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a052a8a
|
||
--- /dev/null
|
||
+++ b/libs/function/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ function.hpp
|
||
+ function
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ function
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/function/doc/CMakeLists.txt b/libs/function/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..dd5603f
|
||
--- /dev/null
|
||
+++ b/libs/function/doc/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_documentation(function.xml
|
||
+ faq.xml history.xml misc.xml reference.xml tests.xml tutorial.xml)
|
||
diff --git a/libs/function/module.cmake b/libs/function/module.cmake
|
||
new file mode 100644
|
||
index 0000000..052e0cf
|
||
--- /dev/null
|
||
+++ b/libs/function/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(function DEPENDS detail preprocessor utility)
|
||
diff --git a/libs/function/test/CMakeLists.txt b/libs/function/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2f3c771
|
||
--- /dev/null
|
||
+++ b/libs/function/test/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(function BOOST_DEPENDS test lambda)
|
||
+
|
||
+
|
||
+boost_test_run(lib_function_test function_test.cpp)
|
||
+boost_test_run(function_n_test)
|
||
+boost_test_run(allocator_test)
|
||
+boost_test_run(stateless_test)
|
||
+boost_test_run(lambda_test)
|
||
+boost_test_compile_fail(function_test_fail1)
|
||
+boost_test_compile_fail(function_test_fail2)
|
||
+boost_test_compile(function_30)
|
||
+boost_test_run(function_arith_cxx98)
|
||
+boost_test_run(function_arith_portable)
|
||
+boost_test_run(sum_avg_cxx98)
|
||
+boost_test_run(sum_avg_portable)
|
||
+boost_test_run(mem_fun_cxx98)
|
||
+boost_test_run(mem_fun_portable)
|
||
+boost_test_run(std_bind_cxx98)
|
||
+boost_test_run(std_bind_portable)
|
||
+boost_test_run(function_ref_cxx98)
|
||
+boost_test_run(function_ref_portable)
|
||
+boost_test_run(contains_test)
|
||
+boost_test_run(contains2_test)
|
||
diff --git a/libs/function_types/CMakeLists.txt b/libs/function_types/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..6e83c47
|
||
--- /dev/null
|
||
+++ b/libs/function_types/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ function_types
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ function_types
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/function_types/module.cmake b/libs/function_types/module.cmake
|
||
new file mode 100644
|
||
index 0000000..9943033
|
||
--- /dev/null
|
||
+++ b/libs/function_types/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(function_types DEPENDS mpl detail)
|
||
\ No newline at end of file
|
||
diff --git a/libs/function_types/test/CMakeLists.txt b/libs/function_types/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1a5a0c3
|
||
--- /dev/null
|
||
+++ b/libs/function_types/test/CMakeLists.txt
|
||
@@ -0,0 +1,76 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# Get the boost dependencies for the tests
|
||
+boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion)
|
||
+
|
||
+boost_test_compile(is_function classification/is_function.cpp)
|
||
+boost_test_compile(is_function_pointer classification/is_function_pointer.cpp)
|
||
+boost_test_compile(is_function_reference classification/is_function_reference.cpp)
|
||
+boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp)
|
||
+boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp)
|
||
+boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp)
|
||
+boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp)
|
||
+boost_test_compile(is_member_pointer classification/is_member_pointer.cpp)
|
||
+
|
||
+boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp)
|
||
+boost_test_compile(is_variadic classification/is_variadic.cpp)
|
||
+boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp)
|
||
+ # [ compile classification/is_cv_function.cpp)
|
||
+
|
||
+# Decomposition
|
||
+
|
||
+boost_test_compile(components decomposition/components.cpp)
|
||
+boost_test_compile(result_type decomposition/result_type.cpp)
|
||
+boost_test_compile(function_arity decomposition/function_arity.cpp)
|
||
+boost_test_compile(parameter_types decomposition/parameter_types.cpp)
|
||
+
|
||
+boost_test_compile(components_seq decomposition/components_seq.cpp)
|
||
+boost_test_compile(class_type_transform decomposition/class_type_transform.cpp)
|
||
+
|
||
+boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp)
|
||
+boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp)
|
||
+boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp)
|
||
+
|
||
+# Synthesis
|
||
+
|
||
+boost_test_compile(function_type synthesis/function_type.cpp)
|
||
+boost_test_compile(function_pointer synthesis/function_pointer.cpp)
|
||
+boost_test_compile(function_reference synthesis/function_reference.cpp)
|
||
+boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp)
|
||
+boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp)
|
||
+
|
||
+boost_test_compile(transformation synthesis/transformation.cpp)
|
||
+boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp)
|
||
+boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp)
|
||
+boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp)
|
||
+boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp)
|
||
+ # [ compile synthesis/cv_function_synthesis.cpp)
|
||
+
|
||
+# Reconfiguration
|
||
+
|
||
+boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp)
|
||
+boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp)
|
||
+boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp)
|
||
+
|
||
+# Custom calling conventions
|
||
+boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp)
|
||
+boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp)
|
||
+message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love")
|
||
+#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
|
||
+message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love")
|
||
+#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
|
||
+
|
||
+
|
||
+# Code from the examples
|
||
+# Include the "example" directory
|
||
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example")
|
||
+boost_test_compile(interpreter_example ../example/interpreter_example.cpp)
|
||
+boost_test_compile(result_of_example ../example/result_of_example.cpp)
|
||
+boost_test_compile(interface_example ../example/interface_example.cpp)
|
||
+message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love")
|
||
+#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
|
||
+boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp)
|
||
diff --git a/libs/functional/CMakeLists.txt b/libs/functional/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..6a28765
|
||
--- /dev/null
|
||
+++ b/libs/functional/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ functional.hpp
|
||
+ functional
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ functional
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test hash/test hash/examples
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS hash/doc
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/functional/hash/doc/CMakeLists.txt b/libs/functional/hash/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f9e29c0
|
||
--- /dev/null
|
||
+++ b/libs/functional/hash/doc/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+message(STATUS "functional/hash docs need love")
|
||
+
|
||
diff --git a/libs/functional/hash/examples/CMakeLists.txt b/libs/functional/hash/examples/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..347a9b2
|
||
--- /dev/null
|
||
+++ b/libs/functional/hash/examples/CMakeLists.txt
|
||
@@ -0,0 +1,15 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#-------------------------------------------------------------------------
|
||
+#-- Needed include directories for the tests
|
||
+boost_additional_test_dependencies(config BOOST_DEPENDS test)
|
||
+#-------------------------------------------------------------------------
|
||
+boost_test_run(books)
|
||
+boost_test_run(point)
|
||
+boost_test_run(portable)
|
||
+
|
||
+
|
||
diff --git a/libs/functional/hash/test/CMakeLists.txt b/libs/functional/hash/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ca45f5d
|
||
--- /dev/null
|
||
+++ b/libs/functional/hash/test/CMakeLists.txt
|
||
@@ -0,0 +1,58 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#project hash-tests
|
||
+# : requirements
|
||
+# <toolset>gcc:<define>_GLIBCXX_DEBUG
|
||
+# ;
|
||
+if (GCC)
|
||
+ ADD_DEFINITIONS(-D_GLIBCXX_DEBUG)
|
||
+endif(GCC)
|
||
+
|
||
+# [ run .cpp : : : <test-info>always_show_run_output ]
|
||
+
|
||
+
|
||
+
|
||
+#-------------------------------------------------------------------------
|
||
+#-- Needed include directories for the tests
|
||
+ boost_additional_test_dependencies(functional BOOST_DEPENDS test)
|
||
+#-------------------------------------------------------------------------
|
||
+
|
||
+SET(tests
|
||
+hash_fwd_test_1
|
||
+hash_fwd_test_2
|
||
+hash_number_test
|
||
+hash_pointer_test
|
||
+hash_function_pointer_test
|
||
+hash_float_test
|
||
+hash_long_double_test
|
||
+hash_string_test
|
||
+hash_range_test
|
||
+hash_custom_test
|
||
+hash_global_namespace_test
|
||
+hash_friend_test
|
||
+hash_built_in_array_test
|
||
+hash_value_array_test
|
||
+hash_vector_test
|
||
+hash_list_test
|
||
+hash_deque_test
|
||
+hash_set_test
|
||
+hash_map_test
|
||
+hash_complex_test
|
||
+container_fwd_test
|
||
+hash_no_ext_macro_1
|
||
+hash_no_ext_macro_2
|
||
+)
|
||
+
|
||
+boost_test_run(link_test link_test.cpp link_test_2.cpp)
|
||
+boost_test_run(link_ext_test link_ext_test.cpp link_no_ext_test.cpp
|
||
+)
|
||
+foreach(test ${tests})
|
||
+ boost_test_run(${test})
|
||
+endforeach(test ${tests})
|
||
+
|
||
+boost_test_compile_fail(hash_no_ext_fail_test)
|
||
+
|
||
diff --git a/libs/functional/module.cmake b/libs/functional/module.cmake
|
||
new file mode 100644
|
||
index 0000000..f10d82e
|
||
--- /dev/null
|
||
+++ b/libs/functional/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(functional DEPENDS integer)
|
||
\ No newline at end of file
|
||
diff --git a/libs/functional/test/CMakeLists.txt b/libs/functional/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2bd7a7d
|
||
--- /dev/null
|
||
+++ b/libs/functional/test/CMakeLists.txt
|
||
@@ -0,0 +1,7 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_test_run(function_test function_test.cpp)
|
||
diff --git a/libs/fusion/CMakeLists.txt b/libs/fusion/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2a91cc1
|
||
--- /dev/null
|
||
+++ b/libs/fusion/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ fusion
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ fusion
|
||
+ # SRCDIRS
|
||
+ # TESTDIRS
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Library for working with tuples, including various containers, algorithms, etc."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
|
||
+ "Dan Marsden <danmarsden -at- yahoo.co.uk>"
|
||
+ "Tobias Schwinger <tschwinger -at- isonews2.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/fusion/module.cmake b/libs/fusion/module.cmake
|
||
new file mode 100644
|
||
index 0000000..fa210eb
|
||
--- /dev/null
|
||
+++ b/libs/fusion/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module (fusion DEPENDS function_types)
|
||
\ No newline at end of file
|
||
diff --git a/libs/gil/CMakeLists.txt b/libs/gil/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3b2f11d
|
||
--- /dev/null
|
||
+++ b/libs/gil/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ gil
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ gil
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Generic Image Library"
|
||
+ MODULARIZED
|
||
+ AUTHORS "Lubomir Bourdev <lbourdev -at- adobe.com>"
|
||
+ "Hailin Jin <hljin -at- adobe.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/gil/module.cmake b/libs/gil/module.cmake
|
||
new file mode 100644
|
||
index 0000000..e5c8cec
|
||
--- /dev/null
|
||
+++ b/libs/gil/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module (gil DEPENDS type_traits mpl)
|
||
\ No newline at end of file
|
||
diff --git a/libs/gil/test/CMakeLists.txt b/libs/gil/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2a167a0
|
||
--- /dev/null
|
||
+++ b/libs/gil/test/CMakeLists.txt
|
||
@@ -0,0 +1,16 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(gil BOOST_DEPENDS test lambda crc)
|
||
+
|
||
+
|
||
+add_definitions(-DBOOST_GIL_NO_IO -D_SCL_SECURE_NO_WARNINGS)
|
||
+boost_test_run(channel channel.cpp error_if.cpp)
|
||
+boost_test_run(image image.cpp sample_image.cpp error_if.cpp
|
||
+ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/gil_reference_checksums.txt)
|
||
+boost_test_run(image_io image_io.cpp error_if.cpp)
|
||
+boost_test_run(pixel pixel.cpp error_if.cpp)
|
||
+boost_test_run(pixel_iterator pixel_iterator.cpp error_if.cpp)
|
||
diff --git a/libs/graph/CMakeLists.txt b/libs/graph/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4745fb2
|
||
--- /dev/null
|
||
+++ b/libs/graph/CMakeLists.txt
|
||
@@ -0,0 +1,24 @@
|
||
+# Copyright (C) 2008 Michael Jackson
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ graph
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS graph
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL)."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
|
||
+ "Lie-Quan Lee"
|
||
+ "Andrew Lumsdaine"
|
||
+ "Douglas Gregor <doug.gregor -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
diff --git a/libs/graph/module.cmake b/libs/graph/module.cmake
|
||
new file mode 100644
|
||
index 0000000..5a19aea
|
||
--- /dev/null
|
||
+++ b/libs/graph/module.cmake
|
||
@@ -0,0 +1,4 @@
|
||
+boost_module(graph DEPENDS property_map tuple multi_index any random parameter regex)
|
||
+boost_module(graph_mpi DEPENDS mpi graph)
|
||
+
|
||
+# any is there because of the dependency on boost/property_map/dynamic_property_map.hpp
|
||
diff --git a/libs/graph/src/CMakeLists.txt b/libs/graph/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f290df8
|
||
--- /dev/null
|
||
+++ b/libs/graph/src/CMakeLists.txt
|
||
@@ -0,0 +1,38 @@
|
||
+# Copyright (C) 2008 Michael Jackson
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+add_definitions(-DBOOST_GRAPH_NO_LIB=1)
|
||
+
|
||
+if (MSVC)
|
||
+ # Without these flags, MSVC 7.1 and 8.0 crash
|
||
+ add_definitions(-GR-)
|
||
+endif (MSVC)
|
||
+
|
||
+set(BOOST_GRAPH_OPTIONAL_SOURCES "")
|
||
+set(BOOST_GRAPH_OPTIONAL_LIBRARIES "")
|
||
+
|
||
+if (EXPAT_FOUND)
|
||
+ colormsg(GREEN "+-- expat available, enabling the GraphML parser.")
|
||
+ # We have Expat, so build the GraphML parser
|
||
+ set(BOOST_GRAPH_OPTIONAL_SOURCES
|
||
+ ${BOOST_GRAPH_OPTIONAL_SOURCES} "graphml.cpp")
|
||
+ include_directories(${EXPAT_INCLUDE_DIRS})
|
||
+ list(APPEND BOOST_GRAPH_OPTIONAL_LIBRARIES ${EXPAT_LIBRARIES})
|
||
+endif (EXPAT_FOUND)
|
||
+
|
||
+boost_add_library(graph
|
||
+
|
||
+ read_graphviz_new.cpp
|
||
+ ${BOOST_GRAPH_OPTIONAL_SOURCES}
|
||
+
|
||
+ NO_STATIC
|
||
+ # don't build static, as there might not be a static regex
|
||
+ # if ICU is found. Fix this.
|
||
+ DEPENDS boost_regex
|
||
+ LINK_LIBS ${BOOST_GRAPH_OPTIONAL_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1"
|
||
+ )
|
||
+
|
||
diff --git a/libs/graph/test/CMakeLists.txt b/libs/graph/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..29e3e01
|
||
--- /dev/null
|
||
+++ b/libs/graph/test/CMakeLists.txt
|
||
@@ -0,0 +1,71 @@
|
||
+# Copyright (C) 2008 Michael Jackson
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+boost_additional_test_dependencies(graph BOOST_DEPENDS test assign)
|
||
+
|
||
+boost_test_run(transitive_closure_test)
|
||
+boost_test_compile(adj_list_cc)
|
||
+boost_test_run(adj_list_edge_list_set)
|
||
+boost_test_compile(adj_matrix_cc)
|
||
+boost_test_run(bfs)
|
||
+boost_test_compile(bfs_cc)
|
||
+boost_test_run(bellman-test)
|
||
+boost_test_run(betweenness_centrality_test DEPENDS boost_graph SHARED)
|
||
+boost_test_run(csr_graph_test)
|
||
+boost_test_run(dag_longest_paths)
|
||
+boost_test_run(dfs)
|
||
+boost_test_compile(dfs_cc)
|
||
+boost_test_compile(dijkstra_cc)
|
||
+boost_test_run(dijkstra_heap_performance ARGS 10000 DEPENDS boost_graph SHARED)
|
||
+boost_test_run(dominator_tree_test)
|
||
+boost_test_run(relaxed_heap_test ARGS 5000 15000)
|
||
+boost_test_compile(edge_list_cc)
|
||
+boost_test_compile(filtered_graph_cc)
|
||
+boost_test_run(generator_test)
|
||
+boost_test_run(graph)
|
||
+boost_test_compile(graph_concepts)
|
||
+boost_test_run(graphviz_test
|
||
+ DEPENDS boost_test_exec_monitor boost_graph STATIC)
|
||
+boost_test_run(gursoy_atun_layout_test)
|
||
+boost_test_run(layout_test)
|
||
+boost_test_run(serialize DEPENDS boost_serialization)
|
||
+boost_test_compile(reverse_graph_cc)
|
||
+boost_test_run(sequential_vertex_coloring)
|
||
+boost_test_run(subgraph)
|
||
+boost_test_run(isomorphism)
|
||
+boost_test_run(adjacency_matrix_test)
|
||
+boost_test_compile(vector_graph_cc)
|
||
+boost_test_compile(copy)
|
||
+boost_test_compile(property_iter)
|
||
+boost_test_run(bundled_properties)
|
||
+boost_test_run(floyd_warshall_test)
|
||
+boost_test_run(astar_search_test)
|
||
+boost_test_run(biconnected_components_test)
|
||
+boost_test_run(cuthill_mckee_ordering)
|
||
+boost_test_run(king_ordering)
|
||
+boost_test_run(matching_test)
|
||
+boost_test_run(mcgregor_subgraphs_test)
|
||
+# boost_test_run(max_flow_test)
|
||
+# boost_test_run(kolmogorov_max_flow_test) TODO: Boost 1.34.x only
|
||
+
|
||
+# GraphML Tests - not for Boost 1.34.x
|
||
+#include(FindEXPAT)
|
||
+#if (EXPAT_FOUND)
|
||
+# include_directories(${EXPAT_INCLUDE_DIRS})
|
||
+# boost_test_run(graphml_test LIBRARIES boost_graph)
|
||
+#endif (EXPAT_FOUND)
|
||
+
|
||
+# Stanford GraphBase Tests
|
||
+if ($ENV{SDB})
|
||
+ include_directories("$ENV{SDB}")
|
||
+ boost_test_compile(stanford_graph_cc)
|
||
+endif ($ENV{SDB})
|
||
+
|
||
+# LEDA tests
|
||
+if ($ENV{LEDA})
|
||
+ include_directories("$ENV{LEDA}/incl")
|
||
+ boost_test_compile(leda_graph_cc)
|
||
+endif ($ENV{LEDA})
|
||
diff --git a/libs/graph_parallel/CMakeLists.txt b/libs/graph_parallel/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e517ae4
|
||
--- /dev/null
|
||
+++ b/libs/graph_parallel/CMakeLists.txt
|
||
@@ -0,0 +1,25 @@
|
||
+# Copyright (C) 2008 The Trustees of Indiana University.
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+if (NOT MPI_FOUND)
|
||
+ message(STATUS "+-- MPI not found, disabling.")
|
||
+else()
|
||
+
|
||
+ boost_library_project(
|
||
+ graph_parallel
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test example
|
||
+ # HEADERS graph graph/parallel
|
||
+ # DOCDIRS doc
|
||
+ DESCRIPTION "Parallel support using MPI for Boost.Graph."
|
||
+ AUTHORS "Douglas Gregor <doug.gregor -at- gmail.com>"
|
||
+ "Nicholas Edmonds <ngedmond -at- osl.iu.edu>"
|
||
+ "Jeremiah Willcock <jewillco -at- osl.iu.edu>"
|
||
+ "Andrew Lumsdaine"
|
||
+ # MAINTAINERS
|
||
+ )
|
||
+
|
||
+endif()
|
||
diff --git a/libs/graph_parallel/doc/CMakeLists.txt b/libs/graph_parallel/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5b804be
|
||
--- /dev/null
|
||
+++ b/libs/graph_parallel/doc/CMakeLists.txt
|
||
@@ -0,0 +1,70 @@
|
||
+# Copyright (C) 2008 The Trustees of Indiana University.
|
||
+#
|
||
+# Use, modification and distribution is subject to 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(PBGL_DOCS
|
||
+ DistributedGraph
|
||
+ DistributedEdgeListGraph
|
||
+ DistributedVertexListGraph
|
||
+ GlobalDescriptor
|
||
+ boman_et_al_graph_coloring
|
||
+ breadth_first_search
|
||
+ connected_components
|
||
+ dehne_gotz_min_spanning_tree
|
||
+ dijkstra_example
|
||
+ dijkstra_shortest_paths
|
||
+ distributed_adjacency_list
|
||
+ distributed_property_map
|
||
+ distributed_queue
|
||
+ distributedS
|
||
+ index
|
||
+ local_subgraph
|
||
+ metis
|
||
+ overview
|
||
+ page_rank
|
||
+ process_group
|
||
+ mpi_bsp_process_group
|
||
+ simple_trigger
|
||
+ strong_components
|
||
+ tsin_depth_first_visit
|
||
+ vertex_list_adaptor
|
||
+ rmat_generator
|
||
+ sorted_rmat_generator
|
||
+ unique_rmat_generator
|
||
+ sorted_unique_rmat_generator
|
||
+ scalable_rmat_generator
|
||
+ mesh_generator
|
||
+ ssca_generator
|
||
+ fruchterman_reingold
|
||
+ st_connected
|
||
+ betweenness_centrality
|
||
+ connected_components_parallel_search
|
||
+ )
|
||
+
|
||
+set(PBGL_IMAGES
|
||
+ dijkstra_dist3_graph.png dijkstra_seq_graph.png vertex_coloring.png
|
||
+ architecture.png dist-adjlist.png dist-pmap.png distributed-graph.png
|
||
+ graph.png)
|
||
+
|
||
+set(PBGL_DOC_TARGETS)
|
||
+separate_arguments(RST2HTML_FLAGS)
|
||
+foreach(DOC ${PBGL_DOCS})
|
||
+ add_custom_command(OUTPUT "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html"
|
||
+ COMMAND "${RST2HTML}"
|
||
+ ARGS ${RST2HTML_FLAGS} "${PBGL_SOURCE_DIR}/libs/graph_parallel/doc/${DOC}.rst"
|
||
+ "${PBGL_BINARY_DIR}/libs/graph/doc/parallel/${DOC}.html"
|
||
+ COMMENT "Generating document ${DOC}.html..."
|
||
+ )
|
||
+ list(APPEND PBGL_DOC_TARGETS "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html")
|
||
+endforeach(DOC)
|
||
+
|
||
+add_custom_target(doc ALL
|
||
+ DEPENDS ${PBGL_DOC_TARGETS})
|
||
+
|
||
+install(FILES ${PBGL_DOC_TARGETS} ${PBGL_IMAGES}
|
||
+ DESTINATION "doc/pbgl-${PBGL_VERSION}"
|
||
+ COMPONENT "Documentation"
|
||
+ OPTIONAL
|
||
+ )
|
||
diff --git a/libs/graph_parallel/example/CMakeLists.txt b/libs/graph_parallel/example/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c66244e
|
||
--- /dev/null
|
||
+++ b/libs/graph_parallel/example/CMakeLists.txt
|
||
@@ -0,0 +1,59 @@
|
||
+# Copyright (C) 2008 The Trustees of Indiana University.
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+if (MPI_FOUND)
|
||
+
|
||
+ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system)
|
||
+
|
||
+ include_directories(${MPI_INCLUDE_PATH})
|
||
+
|
||
+ macro(boost_graph_parallel_example testname)
|
||
+ PARSE_ARGUMENTS(MPI_EXAMPLE "NUMPROCS;ARGS" "" ${ARGN})
|
||
+
|
||
+ # Determine the example sources
|
||
+ if (MPI_EXAMPLE_DEFAULT_ARGS)
|
||
+ set(MPI_EXAMPLE_SOURCES ${MPI_EXAMPLE_DEFAULT_ARGS})
|
||
+ else (MPI_EXAMPLE_DEFAULT_ARGS)
|
||
+ set(MPI_EXAMPLE_SOURCES "${testname}.cpp")
|
||
+ endif (MPI_EXAMPLE_DEFAULT_ARGS)
|
||
+
|
||
+ set(THIS_EXAMPLE_LOCATION tests/${BOOST_PROJECT_NAME}/${testname})
|
||
+
|
||
+ # Build the example executable
|
||
+ boost_add_executable(${testname}
|
||
+ ${MPI_EXAMPLE_SOURCES}
|
||
+ OUTPUT_NAME ${THIS_EXAMPLE_LOCATION}
|
||
+ NO_INSTALL
|
||
+ DEPENDS boost_graph_parallel boost_system
|
||
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
|
||
+ LINK_LIBS ${MPI_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
|
||
+
|
||
+ if (BUILD_TESTING)
|
||
+
|
||
+ if (NOT MPI_EXAMPLE_NUMPROCS)
|
||
+ set(MPI_EXAMPLE_NUMPROCS ${MPIEXEC_MAX_NUMPROCS})
|
||
+ endif (NOT MPI_EXAMPLE_NUMPROCS)
|
||
+
|
||
+ foreach(PROCS ${MPI_EXAMPLE_NUMPROCS})
|
||
+ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}"
|
||
+ ${MPIEXEC}
|
||
+ -n ${PROCS}
|
||
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_EXAMPLE_LOCATION}
|
||
+ ${MPI_EXAMPLE_ARGS}
|
||
+ ${BOOST_TEST_ARGS}
|
||
+ )
|
||
+ endforeach(PROCS)
|
||
+
|
||
+ endif(BUILD_TESTING)
|
||
+
|
||
+ endmacro(boost_graph_parallel_example)
|
||
+
|
||
+ boost_graph_parallel_example(breadth_first_search ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr)
|
||
+ boost_graph_parallel_example(dijkstra_shortest_paths ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr)
|
||
+
|
||
+endif (MPI_FOUND)
|
||
diff --git a/libs/graph_parallel/module.cmake b/libs/graph_parallel/module.cmake
|
||
new file mode 100644
|
||
index 0000000..8049b0f
|
||
--- /dev/null
|
||
+++ b/libs/graph_parallel/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(graph_parallel DEPENDS mpi graph)
|
||
diff --git a/libs/graph_parallel/src/CMakeLists.txt b/libs/graph_parallel/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ffa8b30
|
||
--- /dev/null
|
||
+++ b/libs/graph_parallel/src/CMakeLists.txt
|
||
@@ -0,0 +1,22 @@
|
||
+# Copyright (C) 2008 The Trustees of Indiana University.
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+add_definitions(-DBOOST_GRAPH_NO_LIB=1)
|
||
+
|
||
+if (MSVC)
|
||
+ # Without these flags, MSVC 7.1 and 8.0 crash
|
||
+ add_definitions(-GR-)
|
||
+endif (MSVC)
|
||
+
|
||
+# Add Boost.MPI link and add parallel source files
|
||
+include_directories(${MPI_INCLUDE_PATH})
|
||
+
|
||
+boost_add_library(
|
||
+ graph_parallel
|
||
+ mpi_process_group.cpp tag_allocator.cpp
|
||
+ DEPENDS boost_mpi
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1"
|
||
+ )
|
||
diff --git a/libs/graph_parallel/test/CMakeLists.txt b/libs/graph_parallel/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e149b47
|
||
--- /dev/null
|
||
+++ b/libs/graph_parallel/test/CMakeLists.txt
|
||
@@ -0,0 +1,121 @@
|
||
+# Copyright (C) 2008 The Trustees of Indiana University.
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+if (MPI_FOUND)
|
||
+
|
||
+ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system)
|
||
+
|
||
+ include_directories(${MPI_INCLUDE_PATH})
|
||
+
|
||
+ # Declare a test for the Boost.MPI library, which may involve both
|
||
+ # building the test and executing it with varying numbers of
|
||
+ # processes. Edited to become boost_graph_parallel_test, with a different
|
||
+ # default number of processors.
|
||
+ #
|
||
+ # boost_graph_parallel_test(testname
|
||
+ # [source1 source2 ...]
|
||
+ # [ARGS arg1 arg2 ...]
|
||
+ # [SCHEDULE procs1 procs2 ...]
|
||
+ #
|
||
+ # testname is the name of the test. source1, source2, etc. are the
|
||
+ # source files that will be built and linked into the test
|
||
+ # executable. If no source files are provided, the file "testname.cpp"
|
||
+ # will be used instead.
|
||
+ macro(boost_graph_parallel_test testname)
|
||
+ PARSE_ARGUMENTS(MPI_TEST "NUMPROCS;ARGS" "" ${ARGN})
|
||
+
|
||
+ # Determine the test sources
|
||
+ if (MPI_TEST_DEFAULT_ARGS)
|
||
+ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS})
|
||
+ else (MPI_TEST_DEFAULT_ARGS)
|
||
+ set(MPI_TEST_SOURCES "${testname}.cpp")
|
||
+ endif (MPI_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ set(THIS_TEST_LOCATION tests/${BOOST_PROJECT_NAME}/${testname})
|
||
+
|
||
+ # Build the test executable
|
||
+ boost_add_executable(${testname}
|
||
+ ${MPI_TEST_SOURCES}
|
||
+ OUTPUT_NAME ${THIS_TEST_LOCATION}
|
||
+ NO_INSTALL
|
||
+ DEPENDS boost_graph_parallel boost_system
|
||
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
|
||
+ LINK_LIBS ${MPI_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
|
||
+
|
||
+ if (NOT MPI_TEST_NUMPROCS)
|
||
+ set(MPI_TEST_NUMPROCS ${MPIEXEC_MAX_NUMPROCS})
|
||
+ endif (NOT MPI_TEST_NUMPROCS)
|
||
+
|
||
+ foreach(PROCS ${MPI_TEST_NUMPROCS})
|
||
+ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}"
|
||
+ ${MPIEXEC}
|
||
+ -n ${PROCS}
|
||
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_TEST_LOCATION}
|
||
+ ${MPI_TEST_ARGS}
|
||
+ ${BOOST_TEST_ARGS}
|
||
+ )
|
||
+ endforeach(PROCS)
|
||
+
|
||
+ endmacro(boost_graph_parallel_test)
|
||
+
|
||
+ boost_graph_parallel_test(distributed_property_map_test)
|
||
+ boost_graph_parallel_test(distributed_queue_test)
|
||
+ boost_graph_parallel_test(process_group_serialization)
|
||
+ boost_graph_parallel_test(adjlist_build_test)
|
||
+ boost_graph_parallel_test(adjlist_redist_test)
|
||
+ boost_graph_parallel_test(adjlist_remove_test NUMPROCS 2)
|
||
+ boost_graph_parallel_test(distributed_adjacency_list_test)
|
||
+ boost_graph_parallel_test(distributed_connected_components_test)
|
||
+ boost_graph_parallel_test(distributed_page_rank_test)
|
||
+ boost_graph_parallel_test(distributed_csr_test)
|
||
+ boost_graph_parallel_test(distributed_dfs_test)
|
||
+ boost_graph_parallel_test(distributed_graph_coloring_test)
|
||
+ boost_graph_parallel_test(distributed_mst_test)
|
||
+ boost_graph_parallel_test(distributed_strong_components_test)
|
||
+ boost_graph_parallel_test(hohberg_biconnected_components_test)
|
||
+ boost_graph_parallel_test(mesh_generator_test ARGS 1000 1000 1 0)
|
||
+ boost_graph_parallel_test(named_vertices_seq NUMPROCS 1)
|
||
+ boost_graph_parallel_test(distributed_shortest_paths_test)
|
||
+ boost_graph_parallel_test(distributed_csr_algorithm_test NUMPROCS 1)
|
||
+ boost_graph_parallel_test(distributed_betweenness_centrality_test)
|
||
+ boost_graph_parallel_test(distributed_dimacs_reader)
|
||
+ boost_graph_parallel_test(distributed_rmat_cc_ps)
|
||
+ boost_graph_parallel_test(distributed_rmat_cc)
|
||
+ boost_graph_parallel_test(distributed_rmat_pagerank)
|
||
+ boost_graph_parallel_test(distributed_st_connected_test)
|
||
+
|
||
+ boost_add_executable(ssca
|
||
+ ssca.cpp
|
||
+ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/ssca
|
||
+ NO_INSTALL
|
||
+ DEPENDS boost_graph_parallel boost_system
|
||
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
|
||
+ LINK_LIBS ${MPI_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
|
||
+
|
||
+ boost_add_executable(algorithm_performance
|
||
+ algorithm_performance.cpp
|
||
+ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/algorithm_performance
|
||
+ NO_INSTALL
|
||
+ DEPENDS boost_graph_parallel boost_system
|
||
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
|
||
+ LINK_LIBS ${MPI_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
|
||
+
|
||
+ if(NOT MSVC)
|
||
+ # Due to poor handling of partial ordering of class template partial
|
||
+ # specializations, we disable these features and tests on Visual C++.
|
||
+ # Tested with Visual C++ 9 (Microsoft Visual Studio 2008); earlier
|
||
+ # versions are no better.
|
||
+ boost_graph_parallel_test(named_vertices_test)
|
||
+ boost_graph_parallel_test(named_vertices_hash_test)
|
||
+ endif(NOT MSVC)
|
||
+
|
||
+endif(MPI_FOUND)
|
||
diff --git a/libs/icl/CMakeLists.txt b/libs/icl/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a07079b
|
||
--- /dev/null
|
||
+++ b/libs/icl/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ icl
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ icl
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "Interval Container Library Reference"
|
||
+ MODULARIZED
|
||
+ AUTHORS "Joachim Faulhaber <>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/icl/module.cmake b/libs/icl/module.cmake
|
||
new file mode 100644
|
||
index 0000000..3b66616
|
||
--- /dev/null
|
||
+++ b/libs/icl/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(icl DEPENDS ptr_container)
|
||
diff --git a/libs/icl/test/CMakeLists.txt b/libs/icl/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..bf50a87
|
||
--- /dev/null
|
||
+++ b/libs/icl/test/CMakeLists.txt
|
||
@@ -0,0 +1,41 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(icl BOOST_DEPENDS test date_time)
|
||
+
|
||
+SET(TESTS
|
||
+ fastest_icl_interval_/fastest_icl_interval
|
||
+ fastest_interval_set_/fastest_interval_set
|
||
+ fastest_interval_set_infix_/fastest_interval_set_infix
|
||
+ fastest_separate_interval_set_/fastest_separate_interval_set
|
||
+ fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix
|
||
+ fastest_split_interval_set_/fastest_split_interval_set
|
||
+ fastest_split_interval_set_infix_/fastest_split_interval_set_infix
|
||
+ fastest_interval_set_mixed_/fastest_interval_set_mixed
|
||
+ fastest_interval_map_/fastest_interval_map
|
||
+ fastest_interval_map_infix_/fastest_interval_map_infix
|
||
+ fastest_split_interval_map_/fastest_split_interval_map
|
||
+ fastest_split_interval_map_infix_/fastest_split_interval_map_infix
|
||
+ fastest_interval_map_mixed_/fastest_interval_map_mixed
|
||
+ fastest_interval_map_mixed2_/fastest_interval_map_mixed2
|
||
+ fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed
|
||
+ fastest_icl_map_/fastest_icl_map
|
||
+ fastest_set_interval_set_/fastest_set_interval_set
|
||
+ fastest_set_icl_set_/fastest_set_icl_set
|
||
+ fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier
|
||
+ fastest_total_interval_quantifier_/fastest_total_interval_quantifier
|
||
+ fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier
|
||
+ fastest_total_icl_quantifier_/fastest_total_icl_quantifier
|
||
+ test_misc_/test_misc
|
||
+ test_doc_code_/test_doc_code
|
||
+ test_type_traits_/test_type_traits
|
||
+ test_changing_interval_defaults_/test_changing_interval_defaults)
|
||
+
|
||
+FOREACH(test ${TESTS})
|
||
+ boost_test_run(${test} DEPENDS boost_unit_test_framework boost_date_time)
|
||
+ENDFOREACH(test ${TESTS})
|
||
+
|
||
+
|
||
diff --git a/libs/integer/CMakeLists.txt b/libs/integer/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c952ed0
|
||
--- /dev/null
|
||
+++ b/libs/integer/CMakeLists.txt
|
||
@@ -0,0 +1,31 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ integer.hpp
|
||
+ integer_fwd.hpp
|
||
+ integer_traits.hpp
|
||
+ integer
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ integer
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "The organization of boost integer headers and classes is designed to take advantage of <stdint.h> types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header <boost/cstdint.hpp> makes the standard integer types safely available in namespace boost without placing any names in namespace std."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Beman Dawes <bdawes -at- acm.org>"
|
||
+ "Daryle Walker <darylew -at- hotmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/integer/module.cmake b/libs/integer/module.cmake
|
||
new file mode 100644
|
||
index 0000000..d0c4293
|
||
--- /dev/null
|
||
+++ b/libs/integer/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(integer DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/integer/test/CMakeLists.txt b/libs/integer/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..acc48e6
|
||
--- /dev/null
|
||
+++ b/libs/integer/test/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(integer BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(cstdint_test cstdint_test.cpp)
|
||
+boost_test_run(integer_mask_test integer_mask_test.cpp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(integer_test integer_test.cpp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(integer_traits_test integer_traits_test.cpp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(static_log2_test static_log2_test.cpp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(static_min_max_test static_min_max_test.cpp DEPENDS boost_test_exec_monitor)
|
||
diff --git a/libs/interprocess/CMakeLists.txt b/libs/interprocess/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5a2b185
|
||
--- /dev/null
|
||
+++ b/libs/interprocess/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ interprocess
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ interprocess
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Ion Gaztanaga <igaztanaga -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/interprocess/module.cmake b/libs/interprocess/module.cmake
|
||
new file mode 100644
|
||
index 0000000..408603f
|
||
--- /dev/null
|
||
+++ b/libs/interprocess/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(interprocess DEPENDS date_time intrusive math)
|
||
\ No newline at end of file
|
||
diff --git a/libs/interprocess/test/CMakeLists.txt b/libs/interprocess/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2435e03
|
||
--- /dev/null
|
||
+++ b/libs/interprocess/test/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(interprocess BOOST_DEPENDS test thread date_time multi_index)
|
||
+
|
||
+
|
||
+file(GLOB INTERPROCESS_TESTS *.cpp)
|
||
+foreach(TEST ${INTERPROCESS_TESTS})
|
||
+ get_filename_component(TEST ${TEST} NAME_WE)
|
||
+ boost_test_run(${TEST} DEPENDS boost_thread MULTI_THREADED)
|
||
+endforeach()
|
||
\ No newline at end of file
|
||
diff --git a/libs/intrusive/CMakeLists.txt b/libs/intrusive/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3169cb1
|
||
--- /dev/null
|
||
+++ b/libs/intrusive/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ intrusive_ptr.hpp
|
||
+ intrusive
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ intrusive
|
||
+ # SRCDIRS
|
||
+ # TESTDIRS
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/intrusive/module.cmake b/libs/intrusive/module.cmake
|
||
new file mode 100644
|
||
index 0000000..edc114f
|
||
--- /dev/null
|
||
+++ b/libs/intrusive/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(intrusive DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/io/CMakeLists.txt b/libs/io/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a2d73a2
|
||
--- /dev/null
|
||
+++ b/libs/io/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ io_fwd.hpp
|
||
+ io
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ io
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/io/module.cmake b/libs/io/module.cmake
|
||
new file mode 100644
|
||
index 0000000..fd1d4d9
|
||
--- /dev/null
|
||
+++ b/libs/io/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(io DEPENDS detail)
|
||
\ No newline at end of file
|
||
diff --git a/libs/io/test/CMakeLists.txt b/libs/io/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2f1cf09
|
||
--- /dev/null
|
||
+++ b/libs/io/test/CMakeLists.txt
|
||
@@ -0,0 +1,12 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(io BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_run(ios_state_unit_test DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ios_state_test DEPENDS boost_test_exec_monitor)
|
||
+
|
||
diff --git a/libs/iostreams/CMakeLists.txt b/libs/iostreams/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..657f074
|
||
--- /dev/null
|
||
+++ b/libs/iostreams/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ iostreams
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ iostreams
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Framework for defining streams, stream buffers and i/o filters"
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jonathan Turkanis <turkanis -at- coderage.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/iostreams/example/CMakeLists.txt b/libs/iostreams/example/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7b154d2
|
||
--- /dev/null
|
||
+++ b/libs/iostreams/example/CMakeLists.txt
|
||
@@ -0,0 +1,10 @@
|
||
+# Copyright (C) 2009 Troy D. Straszheim
|
||
+# 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
|
||
+boost_add_executable(boost_back_inserter_example DEPENDS boost_iostreams)
|
||
+boost_add_executable(container_device_example )
|
||
+boost_add_executable(container_sink_example )
|
||
+boost_add_executable(container_source_example )
|
||
+boost_add_executable(iterator_range_example )
|
||
+boost_add_executable(std_back_inserter_example )
|
||
diff --git a/libs/iostreams/module.cmake b/libs/iostreams/module.cmake
|
||
new file mode 100644
|
||
index 0000000..fae407a
|
||
--- /dev/null
|
||
+++ b/libs/iostreams/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(iostreams DEPENDS range random)
|
||
diff --git a/libs/iostreams/src/CMakeLists.txt b/libs/iostreams/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4b4e473
|
||
--- /dev/null
|
||
+++ b/libs/iostreams/src/CMakeLists.txt
|
||
@@ -0,0 +1,36 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+set(BOOST_IOSTREAMS_EXTRA_SOURCES)
|
||
+set(BOOST_IOSTREAMS_LIBRARIES)
|
||
+
|
||
+#
|
||
+# These finds are done upstairs in libs/iostreams/CMakeLists.txt
|
||
+#
|
||
+if (ZLIB_FOUND)
|
||
+ include_directories(${ZLIB_INCLUDE_DIR})
|
||
+ set(ZLIB_EXTRA_SOURCES zlib.cpp gzip.cpp)
|
||
+ set(ZLIB_EXTRA_LIBRARIES ${ZLIB_LIBRARIES})
|
||
+endif(ZLIB_FOUND)
|
||
+
|
||
+if (BZIP2_FOUND)
|
||
+ include_directories(${BZIP2_INCLUDE_DIR})
|
||
+ add_definitions(${BZIP2_DEFINITIONS})
|
||
+ set(BZIP2_EXTRA_SOURCES bzip2.cpp)
|
||
+ set(BZIP2_EXTRA_LIBRARIES ${BZIP2_LIBRARIES})
|
||
+ # NOTE: What to do about BZIP2_NEED_PREFIX?
|
||
+endif(BZIP2_FOUND)
|
||
+
|
||
+boost_add_library(iostreams
|
||
+
|
||
+ file_descriptor.cpp
|
||
+ mapped_file.cpp
|
||
+ ${ZLIB_EXTRA_SOURCES}
|
||
+ ${BZIP2_EXTRA_SOURCES}
|
||
+
|
||
+ LINK_LIBS ${ZLIB_EXTRA_LIBRARIES} ${BZIP2_EXTRA_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_IOSTREAMS_DYN_LINK=1"
|
||
+ )
|
||
diff --git a/libs/iostreams/test/CMakeLists.txt b/libs/iostreams/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..fc166a6
|
||
--- /dev/null
|
||
+++ b/libs/iostreams/test/CMakeLists.txt
|
||
@@ -0,0 +1,69 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(iostreams BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+# Helper macro to create tests for the iostreams library
|
||
+macro(iostreams_test TESTNAME)
|
||
+ boost_test_run(${TESTNAME}
|
||
+ ${ARGN}
|
||
+ DEPENDS boost_unit_test_framework
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+endmacro(iostreams_test)
|
||
+
|
||
+iostreams_test(array_test)
|
||
+iostreams_test(auto_close_test)
|
||
+iostreams_test(buffer_size_test)
|
||
+iostreams_test(code_converter_test
|
||
+ code_converter_test.cpp detail/utf8_codecvt_facet.cpp)
|
||
+iostreams_test(compose_test)
|
||
+iostreams_test(component_access_test)
|
||
+iostreams_test(copy_test)
|
||
+iostreams_test(counter_test)
|
||
+iostreams_test(direct_adapter_test)
|
||
+iostreams_test(example_test)
|
||
+iostreams_test(file_test)
|
||
+boost_test_run(file_descriptor_test
|
||
+ DEPENDS boost_unit_test_framework boost_iostreams
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+iostreams_test(filtering_stream_test)
|
||
+iostreams_test(finite_state_filter_test)
|
||
+iostreams_test(flush_test)
|
||
+iostreams_test(invert_test)
|
||
+iostreams_test(line_filter_test)
|
||
+boost_test_run(mapped_file_test
|
||
+ DEPENDS boost_unit_test_framework boost_iostreams
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+iostreams_test(newline_test)
|
||
+iostreams_test(null_test)
|
||
+iostreams_test(pipeline_test)
|
||
+boost_test_run(regex_filter_test
|
||
+ DEPENDS boost_unit_test_framework boost_regex
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+iostreams_test(restrict_test)
|
||
+iostreams_test(seekable_file_test)
|
||
+iostreams_test(seekable_filter_test)
|
||
+iostreams_test(stdio_filter_test)
|
||
+iostreams_test(symmetric_filter_test)
|
||
+iostreams_test(tee_test)
|
||
+iostreams_test(wide_stream_test)
|
||
+
|
||
+if (ZLIB_FOUND)
|
||
+ boost_test_run(gzip_test
|
||
+ DEPENDS boost_unit_test_framework boost_iostreams
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+ boost_test_run(zlib_test
|
||
+ DEPENDS boost_unit_test_framework boost_iostreams
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+endif(ZLIB_FOUND)
|
||
+
|
||
+# Find BZip2. If it's available, test it
|
||
+if (BZIP2_FOUND)
|
||
+ boost_test_run(bzip2_test
|
||
+ DEPENDS boost_unit_test_framework boost_iostreams
|
||
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
|
||
+endif(BZIP2_FOUND)
|
||
diff --git a/libs/iterator/CMakeLists.txt b/libs/iterator/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..bd83261
|
||
--- /dev/null
|
||
+++ b/libs/iterator/CMakeLists.txt
|
||
@@ -0,0 +1,30 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ iterator.hpp
|
||
+ iterator
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ iterator
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A system of concepts which extend the C++ standard iterator requirementsand a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors."
|
||
+ MODULARIZED
|
||
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
|
||
+ "Jeremy Siek <jeremy.siek -at- gmail.com>"
|
||
+ "Thomas Witt <witt - at - acm.org>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/iterator/module.cmake b/libs/iterator/module.cmake
|
||
new file mode 100644
|
||
index 0000000..2e025e3
|
||
--- /dev/null
|
||
+++ b/libs/iterator/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(iterator DEPENDS mpl type_traits function concept_check)
|
||
\ No newline at end of file
|
||
diff --git a/libs/iterator/test/CMakeLists.txt b/libs/iterator/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1b0c5be
|
||
--- /dev/null
|
||
+++ b/libs/iterator/test/CMakeLists.txt
|
||
@@ -0,0 +1,39 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(iterator BOOST_DEPENDS test tuple smart_ptr)
|
||
+
|
||
+# These first two tests will run last, and are expected to fail
|
||
+# for many less-capable compilers.
|
||
+
|
||
+boost_test_compile_fail(interoperable_fail)
|
||
+# test uses expected success, so that we catch unrelated
|
||
+# compilation problems.
|
||
+boost_test_run(is_convertible_fail)
|
||
+boost_test_run(zip_iterator_test)
|
||
+
|
||
+# These tests should work for just about everything.
|
||
+boost_test_compile(is_lvalue_iterator)
|
||
+boost_test_compile(is_readable_iterator)
|
||
+boost_test_compile(pointee)
|
||
+
|
||
+boost_test_run(unit_tests)
|
||
+boost_test_run(concept_tests)
|
||
+boost_test_run(iterator_adaptor_cc)
|
||
+boost_test_run(iterator_adaptor_test)
|
||
+boost_test_compile(iterator_archetype_cc)
|
||
+boost_test_compile_fail(iter_archetype_default_ctor)
|
||
+boost_test_compile_fail(lvalue_concept_fail)
|
||
+boost_test_run(transform_iterator_test)
|
||
+boost_test_run(indirect_iterator_test)
|
||
+boost_test_compile(indirect_iter_member_types)
|
||
+boost_test_run(filter_iterator_test)
|
||
+boost_test_run(iterator_facade)
|
||
+boost_test_run(reverse_iterator_test)
|
||
+boost_test_run(counting_iterator_test)
|
||
+boost_test_run(interoperable)
|
||
+boost_test_run(iterator_traits_test)
|
||
+boost_test_run(permutation_iterator_test)
|
||
diff --git a/libs/lambda/CMakeLists.txt b/libs/lambda/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e5c6f1a
|
||
--- /dev/null
|
||
+++ b/libs/lambda/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ lambda
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ lambda
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/lambda/module.cmake b/libs/lambda/module.cmake
|
||
new file mode 100644
|
||
index 0000000..9f7a073
|
||
--- /dev/null
|
||
+++ b/libs/lambda/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(lambda DEPENDS tuple)
|
||
\ No newline at end of file
|
||
diff --git a/libs/lambda/test/CMakeLists.txt b/libs/lambda/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4f9a74f
|
||
--- /dev/null
|
||
+++ b/libs/lambda/test/CMakeLists.txt
|
||
@@ -0,0 +1,24 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(lambda BOOST_DEPENDS test any)
|
||
+
|
||
+boost_test_run(algorithm_test DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(bind_tests_simple DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(bind_tests_advanced DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(bind_tests_simple_f_refs DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(bll_and_function DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(lambda_cast_test
|
||
+ cast_test.cpp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(constructor_tests DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(control_structures DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(exception_test DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(extending_rt_traits DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(is_instance_of_test DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(member_pointer_test DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(operator_tests_simple DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(phoenix_control_structures DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(switch_construct DEPENDS boost_test_exec_monitor)
|
||
diff --git a/libs/logic/CMakeLists.txt b/libs/logic/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..da915e5
|
||
--- /dev/null
|
||
+++ b/libs/logic/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ logic
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ logic
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/logic/module.cmake b/libs/logic/module.cmake
|
||
new file mode 100644
|
||
index 0000000..4b1423f
|
||
--- /dev/null
|
||
+++ b/libs/logic/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(logic DEPENDS config detail)
|
||
+
|
||
+
|
||
diff --git a/libs/logic/test/CMakeLists.txt b/libs/logic/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7684320
|
||
--- /dev/null
|
||
+++ b/libs/logic/test/CMakeLists.txt
|
||
@@ -0,0 +1,12 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(logic BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_run(tribool_test)
|
||
+boost_test_run(tribool_rename_test)
|
||
+boost_test_run(tribool_io_test)
|
||
diff --git a/libs/math/CMakeLists.txt b/libs/math/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0f7652e
|
||
--- /dev/null
|
||
+++ b/libs/math/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ math_fwd.hpp
|
||
+ math
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ math
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/math/module.cmake b/libs/math/module.cmake
|
||
new file mode 100644
|
||
index 0000000..e222098
|
||
--- /dev/null
|
||
+++ b/libs/math/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(math DEPENDS format array)
|
||
\ No newline at end of file
|
||
diff --git a/libs/math/test/CMakeLists.txt b/libs/math/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..88f26b7
|
||
--- /dev/null
|
||
+++ b/libs/math/test/CMakeLists.txt
|
||
@@ -0,0 +1,33 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(math BOOST_DEPENDS test regex)
|
||
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||
+
|
||
+boost_test_run(common_factor_test DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(octonion_test
|
||
+ ../octonion/octonion_test.cpp
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(quaternion_test
|
||
+ ../quaternion/quaternion_test.cpp
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(special_functions_test
|
||
+ ../special_functions/special_functions_test.cpp
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(quaternion_multi_incl_test
|
||
+ ../quaternion/quaternion_mult_incl_test.cpp
|
||
+ ../quaternion/quaternion_mi1.cpp
|
||
+ ../quaternion/quaternion_mi2.cpp
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+foreach(mathtest
|
||
+
|
||
+ complex_test
|
||
+ hypot_test
|
||
+ )
|
||
+
|
||
+ boost_test_run(${mathtest} DEPENDS boost_test_exec_monitor)
|
||
+endforeach()
|
||
+
|
||
diff --git a/libs/mpi/CMakeLists.txt b/libs/mpi/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..21e408e
|
||
--- /dev/null
|
||
+++ b/libs/mpi/CMakeLists.txt
|
||
@@ -0,0 +1,31 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ mpi.hpp
|
||
+ mpi
|
||
+)
|
||
+
|
||
+if (NOT MPI_FOUND)
|
||
+ colormsg(RED "+-- MPI not found, disabling.")
|
||
+else()
|
||
+
|
||
+ boost_library_project(
|
||
+ mpi
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+ )
|
||
+
|
||
+endif()
|
||
diff --git a/libs/mpi/doc/CMakeLists.txt b/libs/mpi/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..22053b4
|
||
--- /dev/null
|
||
+++ b/libs/mpi/doc/CMakeLists.txt
|
||
@@ -0,0 +1,36 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_documentation(mpi.qbk
|
||
+ HEADERS mpi_autodoc.xml
|
||
+ boost/mpi.hpp
|
||
+ boost/mpi/allocator.hpp
|
||
+ boost/mpi/collectives.hpp
|
||
+ boost/mpi/collectives_fwd.hpp
|
||
+ boost/mpi/communicator.hpp
|
||
+ boost/mpi/config.hpp
|
||
+ boost/mpi/datatype.hpp
|
||
+ boost/mpi/datatype_fwd.hpp
|
||
+ boost/mpi/environment.hpp
|
||
+ boost/mpi/exception.hpp
|
||
+ boost/mpi/graph_communicator.hpp
|
||
+ boost/mpi/group.hpp
|
||
+ boost/mpi/intercommunicator.hpp
|
||
+ boost/mpi/nonblocking.hpp
|
||
+ boost/mpi/operations.hpp
|
||
+ boost/mpi/packed_iarchive.hpp
|
||
+ boost/mpi/packed_oarchive.hpp
|
||
+ boost/mpi/skeleton_and_content.hpp
|
||
+ boost/mpi/skeleton_and_content_fwd.hpp
|
||
+ boost/mpi/status.hpp
|
||
+ boost/mpi/request.hpp
|
||
+ boost/mpi/timer.hpp
|
||
+ boost/mpi/python.hpp
|
||
+ DOXYGEN_PARAMETERS
|
||
+ MACRO_EXPANSION=YES
|
||
+ EXPAND_ONLY_PREDEF=YES
|
||
+ "PREDEFINED=BOOST_MPI_HAS_MEMORY_ALLOCATION= BOOST_MPI_HAS_NOARG_INITIALIZATION= MPI_VERSION=2 BOOST_MPI_DOXYGEN="
|
||
+ )
|
||
\ No newline at end of file
|
||
diff --git a/libs/mpi/module.cmake b/libs/mpi/module.cmake
|
||
new file mode 100644
|
||
index 0000000..20350fa
|
||
--- /dev/null
|
||
+++ b/libs/mpi/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(mpi DEPENDS graph)
|
||
\ No newline at end of file
|
||
diff --git a/libs/mpi/src/CMakeLists.txt b/libs/mpi/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..fe5ea87
|
||
--- /dev/null
|
||
+++ b/libs/mpi/src/CMakeLists.txt
|
||
@@ -0,0 +1,77 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+add_definitions(-DBOOST_MPI_SOURCE=1)
|
||
+include_directories(${MPI_INCLUDE_PATH})
|
||
+
|
||
+boost_add_library(
|
||
+ mpi
|
||
+ broadcast.cpp
|
||
+ communicator.cpp
|
||
+ computation_tree.cpp
|
||
+ content_oarchive.cpp
|
||
+ environment.cpp
|
||
+ exception.cpp
|
||
+ graph_communicator.cpp
|
||
+ group.cpp
|
||
+ intercommunicator.cpp
|
||
+ mpi_datatype_cache.cpp
|
||
+ mpi_datatype_oarchive.cpp
|
||
+ packed_iarchive.cpp
|
||
+ packed_oarchive.cpp
|
||
+ packed_skeleton_iarchive.cpp
|
||
+ packed_skeleton_oarchive.cpp
|
||
+ point_to_point.cpp
|
||
+ request.cpp
|
||
+ text_skeleton_oarchive.cpp
|
||
+ timer.cpp
|
||
+ DEPENDS boost_serialization
|
||
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
|
||
+ LINK_LIBS ${MPI_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1"
|
||
+ )
|
||
+
|
||
+if(PYTHON_FOUND)
|
||
+
|
||
+ colormsg (GREEN "+-- Python available, enabling boost_mpi_python.")
|
||
+ include_directories(${PYTHON_INCLUDE_PATH})
|
||
+
|
||
+ boost_add_library(mpi_python
|
||
+
|
||
+ python/serialize.cpp
|
||
+
|
||
+ DEPENDS boost_python boost_mpi
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1"
|
||
+ LINK_FLAGS ${MPI_LINK_FLAGS}
|
||
+ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES}
|
||
+ NO_STATIC)
|
||
+
|
||
+ boost_python_extension(mpi
|
||
+
|
||
+ python/collectives.cpp
|
||
+ python/py_communicator.cpp
|
||
+ python/datatypes.cpp
|
||
+ python/documentation.cpp
|
||
+ python/py_environment.cpp
|
||
+ python/py_nonblocking.cpp
|
||
+ python/py_exception.cpp
|
||
+ python/module.cpp
|
||
+ python/py_request.cpp
|
||
+ python/skeleton_and_content.cpp
|
||
+ python/status.cpp
|
||
+ python/py_timer.cpp
|
||
+
|
||
+ DEPENDS boost_python boost_mpi
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1"
|
||
+ LINK_FLAGS ${MPI_LINK_FLAGS}
|
||
+ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES})
|
||
+
|
||
+else()
|
||
+ colormsg(RED "+-- optional python bindings disabled since PYTHON_FOUND is false.")
|
||
+endif()
|
||
+
|
||
diff --git a/libs/mpi/test/CMakeLists.txt b/libs/mpi/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5ff2b9a
|
||
--- /dev/null
|
||
+++ b/libs/mpi/test/CMakeLists.txt
|
||
@@ -0,0 +1,77 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+if (MPI_FOUND)
|
||
+message(STATUS "MPI Found")
|
||
+
|
||
+boost_additional_test_dependencies(mpi BOOST_DEPENDS test )
|
||
+
|
||
+include_directories(${MPI_INCLUDE_PATH})
|
||
+
|
||
+# Declare a test for the Boost.MPI library, which may involve both
|
||
+# building the test and executing it with varying numbers of
|
||
+# processes.
|
||
+#
|
||
+# boost_mpi_test(testname
|
||
+# [source1 source2 ...]
|
||
+# [ARGS arg1 arg2 ...]
|
||
+# [SCHEDULE procs1 procs2 ...]
|
||
+#
|
||
+# testname is the name of the test. source1, source2, etc. are the
|
||
+# source files that will be built and linked into the test
|
||
+# executable. If no source files are provided, the file "testname.cpp"
|
||
+# will be used instead.
|
||
+macro(boost_mpi_test testname)
|
||
+ PARSE_ARGUMENTS(MPI_TEST "SCHEDULE;ARGS" "" ${ARGN})
|
||
+
|
||
+ # Determine the test sources
|
||
+ if (MPI_TEST_DEFAULT_ARGS)
|
||
+ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS})
|
||
+ else (MPI_TEST_DEFAULT_ARGS)
|
||
+ set(MPI_TEST_SOURCES "${testname}.cpp")
|
||
+ endif (MPI_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ # Build the test executable
|
||
+ boost_add_executable(${testname}
|
||
+ ${MPI_TEST_SOURCES}
|
||
+ OUTPUT_NAME tests/${PROJECT_NAME}/${testname}
|
||
+ NO_INSTALL
|
||
+ DEPENDS boost_mpi
|
||
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
|
||
+ LINK_LIBS ${MPI_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
|
||
+ if (THIS_EXE_OKAY)
|
||
+ if (NOT MPI_TEST_SCHEDULE)
|
||
+ set(MPI_TEST_SCHEDULE 1 2 3 4 7 8 13 17)
|
||
+ endif (NOT MPI_TEST_SCHEDULE)
|
||
+
|
||
+ foreach(PROCS ${MPI_TEST_SCHEDULE})
|
||
+ add_test("${PROJECT_NAME}::${testname}-${PROCS}"
|
||
+ ${MPIEXEC}
|
||
+ -n ${PROCS}
|
||
+ ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname}
|
||
+ ${BOOST_TEST_ARGS}
|
||
+ )
|
||
+ endforeach(PROCS)
|
||
+ endif (THIS_EXE_OKAY)
|
||
+endmacro(boost_mpi_test)
|
||
+
|
||
+boost_mpi_test(all_gather_test)
|
||
+boost_mpi_test(all_reduce_test)
|
||
+boost_mpi_test(all_to_all_test)
|
||
+boost_mpi_test(broadcast_test SCHEDULE 2 17)
|
||
+boost_mpi_test(graph_topology_test SCHEDULE 2 7 13)
|
||
+boost_mpi_test(is_mpi_op_test SCHEDULE 1)
|
||
+boost_mpi_test(nonblocking_test)
|
||
+boost_mpi_test(reduce_test)
|
||
+boost_mpi_test(ring_test SCHEDULE 2 3 4 7 8 13 17)
|
||
+boost_mpi_test(scan_test)
|
||
+boost_mpi_test(scatter_test)
|
||
+boost_mpi_test(skeleton_content_test SCHEDULE 2 3 4 7 8 13 17)
|
||
+
|
||
+
|
||
+endif (MPI_FOUND)
|
||
\ No newline at end of file
|
||
diff --git a/libs/mpl/CMakeLists.txt b/libs/mpl/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ea43e88
|
||
--- /dev/null
|
||
+++ b/libs/mpl/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ mpl
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ mpl
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Aleksey Gurtovoy <agurtovoy -at- meta-comm.com>"
|
||
+ "David Abrahams <dave -at- boostpro.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/mpl/module.cmake b/libs/mpl/module.cmake
|
||
new file mode 100644
|
||
index 0000000..afa88fd
|
||
--- /dev/null
|
||
+++ b/libs/mpl/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(mpl DEPENDS preprocessor config detail)
|
||
\ No newline at end of file
|
||
diff --git a/libs/mpl/test/CMakeLists.txt b/libs/mpl/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e8b182b
|
||
--- /dev/null
|
||
+++ b/libs/mpl/test/CMakeLists.txt
|
||
@@ -0,0 +1,97 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(mpl BOOST_DEPENDS test bind)
|
||
+
|
||
+boost_test_compile(largest_int aux_/largest_int.cpp)
|
||
+boost_test_compile(msvc_is_class aux_/msvc_is_class.cpp)
|
||
+boost_test_compile(template_arity aux_/template_arity.cpp)
|
||
+
|
||
+boost_test_compile(advance)
|
||
+boost_test_compile(always)
|
||
+boost_test_compile(apply)
|
||
+boost_test_compile(apply_wrap)
|
||
+boost_test_compile(arithmetic)
|
||
+boost_test_compile(as_sequence)
|
||
+boost_test_compile(assert)
|
||
+boost_test_compile(at)
|
||
+boost_test_compile(back)
|
||
+boost_test_compile(bind)
|
||
+boost_test_compile(bitwise)
|
||
+boost_test_run(bool)
|
||
+boost_test_compile(comparison)
|
||
+boost_test_compile(contains)
|
||
+boost_test_compile(copy)
|
||
+boost_test_compile(copy_if)
|
||
+boost_test_compile(count)
|
||
+boost_test_compile(count_if)
|
||
+boost_test_compile(deque)
|
||
+boost_test_compile(distance)
|
||
+boost_test_compile(empty)
|
||
+boost_test_compile(equal)
|
||
+boost_test_compile(erase)
|
||
+boost_test_compile(erase_range)
|
||
+boost_test_compile(eval_if)
|
||
+boost_test_compile(filter_view)
|
||
+boost_test_compile(find)
|
||
+boost_test_compile(find_if)
|
||
+boost_test_compile(fold)
|
||
+boost_test_run(for_each)
|
||
+boost_test_compile(front)
|
||
+boost_test_compile(has_xxx)
|
||
+boost_test_compile(identity)
|
||
+boost_test_compile(if)
|
||
+boost_test_compile(index_of)
|
||
+boost_test_compile(inherit)
|
||
+boost_test_compile(insert)
|
||
+boost_test_compile(insert_range)
|
||
+boost_test_run(int)
|
||
+boost_test_run(integral_c)
|
||
+boost_test_compile(is_placeholder)
|
||
+boost_test_compile(is_sequence)
|
||
+boost_test_compile(iterator_tags)
|
||
+boost_test_compile(joint_view)
|
||
+boost_test_compile(lambda)
|
||
+boost_test_compile(lambda_args)
|
||
+boost_test_compile(list)
|
||
+boost_test_compile(list_c)
|
||
+boost_test_compile(logical)
|
||
+boost_test_compile(lower_bound)
|
||
+boost_test_compile(map)
|
||
+boost_test_compile(max_element)
|
||
+boost_test_compile(min_max)
|
||
+boost_test_compile(multiset)
|
||
+boost_test_compile(next)
|
||
+boost_test_compile(no_has_xxx)
|
||
+boost_test_compile(numeric_ops)
|
||
+boost_test_compile(pair_view)
|
||
+boost_test_compile(partition)
|
||
+boost_test_compile(pop_front)
|
||
+boost_test_compile(push_front)
|
||
+boost_test_compile(quote)
|
||
+boost_test_compile(range_c)
|
||
+boost_test_compile(remove)
|
||
+boost_test_compile(remove_if)
|
||
+boost_test_compile(replace)
|
||
+boost_test_compile(replace_if)
|
||
+boost_test_compile(reverse)
|
||
+boost_test_compile(same_as)
|
||
+boost_test_compile(set)
|
||
+boost_test_compile(set_c)
|
||
+boost_test_compile(single_view)
|
||
+boost_test_compile(size)
|
||
+boost_test_run(size_t)
|
||
+boost_test_compile(sizeof)
|
||
+boost_test_compile(sort)
|
||
+boost_test_compile(stable_partition)
|
||
+boost_test_compile(transform)
|
||
+boost_test_compile(transform_view)
|
||
+boost_test_compile(unique)
|
||
+boost_test_compile(unpack_args)
|
||
+boost_test_compile(upper_bound)
|
||
+boost_test_compile(vector)
|
||
+boost_test_compile(vector_c)
|
||
+boost_test_compile(zip_view)
|
||
diff --git a/libs/msm/CMakeLists.txt b/libs/msm/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..456588c
|
||
--- /dev/null
|
||
+++ b/libs/msm/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ msm
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ msm
|
||
+ # SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "Meta State Machine (MSM)."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Christophe Henry <christophe.j.henry -at- googlemail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/msm/module.cmake b/libs/msm/module.cmake
|
||
new file mode 100644
|
||
index 0000000..01c64ff
|
||
--- /dev/null
|
||
+++ b/libs/msm/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(msm DEPENDS smart_ptr)
|
||
\ No newline at end of file
|
||
diff --git a/libs/msm/test/CMakeLists.txt b/libs/msm/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e2c46b1
|
||
--- /dev/null
|
||
+++ b/libs/msm/test/CMakeLists.txt
|
||
@@ -0,0 +1,25 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(msm BOOST_DEPENDS test)
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_MSM_STATIC_LINK
|
||
+
|
||
+SET(TESTS
|
||
+ Anonymous AnonymousEuml
|
||
+ CompositeEuml CompositeMachine Constructor
|
||
+ Entries History
|
||
+ OrthogonalDeferred OrthogonalDeferred2 OrthogonalDeferredEuml
|
||
+ SimpleEuml SimpleEuml2 SimpleInternal SimpleInternalEuml
|
||
+ SimpleInternalFunctors SimpleMachine SimpleWithFunctors)
|
||
+
|
||
+FOREACH(test ${TESTS})
|
||
+ boost_test_run(${test}
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_unit_test_framework STATIC
|
||
+ COMPILE_FLAGS -ftemplate-depth-300 -g0
|
||
+ )
|
||
+ENDFOREACH(test ${TESTS})
|
||
diff --git a/libs/multi_array/CMakeLists.txt b/libs/multi_array/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..96fc47d
|
||
--- /dev/null
|
||
+++ b/libs/multi_array/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ multi_array.hpp
|
||
+ multi_array
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ multi_array
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/multi_array/module.cmake b/libs/multi_array/module.cmake
|
||
new file mode 100644
|
||
index 0000000..a7e6bf9
|
||
--- /dev/null
|
||
+++ b/libs/multi_array/module.cmake
|
||
@@ -0,0 +1,2 @@
|
||
+boost_module(multi_array DEPENDS array iterator detail concept_check mpl static_assert functional)
|
||
+
|
||
diff --git a/libs/multi_array/test/CMakeLists.txt b/libs/multi_array/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..451646c
|
||
--- /dev/null
|
||
+++ b/libs/multi_array/test/CMakeLists.txt
|
||
@@ -0,0 +1,47 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(multi_array BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_compile_fail(fail_cbracket)
|
||
+boost_test_compile_fail(fail_cdata)
|
||
+boost_test_compile_fail(fail_citerator)
|
||
+boost_test_compile_fail(fail_cparen)
|
||
+boost_test_compile_fail(fail_criterator)
|
||
+boost_test_compile_fail(fail_csubarray)
|
||
+boost_test_compile_fail(fail_csubarray2)
|
||
+boost_test_compile_fail(fail_csubarray3)
|
||
+boost_test_compile_fail(fail_cview)
|
||
+boost_test_compile_fail(fail_cview2)
|
||
+boost_test_compile_fail(fail_cview3)
|
||
+boost_test_compile_fail(fail_ref_cbracket)
|
||
+boost_test_compile_fail(fail_ref_cdata)
|
||
+boost_test_compile_fail(fail_ref_citerator)
|
||
+boost_test_compile_fail(fail_ref_cparen)
|
||
+boost_test_compile_fail(fail_ref_criterator)
|
||
+boost_test_compile_fail(fail_ref_csubarray)
|
||
+boost_test_compile_fail(fail_ref_csubarray2)
|
||
+boost_test_compile_fail(fail_ref_csubarray3)
|
||
+boost_test_compile_fail(fail_ref_cview)
|
||
+boost_test_compile_fail(fail_ref_cview2)
|
||
+boost_test_compile_fail(fail_ref_cview3)
|
||
+
|
||
+boost_test_run(constructors DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(access DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(compare DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(iterators DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(slice DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(assign DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(assign_to_array DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(index_bases DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(storage_order DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(reshape DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(range1 DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(idxgen1 DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(stl_interaction DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(resize DEPENDS boost_test_exec_monitor)
|
||
+boost_test_compile(concept_checks)
|
||
diff --git a/libs/multi_index/CMakeLists.txt b/libs/multi_index/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9bb688a
|
||
--- /dev/null
|
||
+++ b/libs/multi_index/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ multi_index_container.hpp
|
||
+ multi_index_container_fwd.hpp
|
||
+ multi_index
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ multi_index
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/multi_index/module.cmake b/libs/multi_index/module.cmake
|
||
new file mode 100644
|
||
index 0000000..ce8ee4b
|
||
--- /dev/null
|
||
+++ b/libs/multi_index/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(multi_index DEPENDS serialization functional math)
|
||
\ No newline at end of file
|
||
diff --git a/libs/multi_index/test/CMakeLists.txt b/libs/multi_index/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..09103af
|
||
--- /dev/null
|
||
+++ b/libs/multi_index/test/CMakeLists.txt
|
||
@@ -0,0 +1,34 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(multi_index BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_run(test_basic test_basic.cpp test_basic_main.cpp)
|
||
+boost_test_run(test_capacity test_capacity.cpp test_capacity_main.cpp)
|
||
+boost_test_run(test_comparison test_comparison.cpp test_comparison_main.cpp)
|
||
+boost_test_run(test_composite_key test_composite_key.cpp test_composite_key_main.cpp)
|
||
+boost_test_run(test_conv_iterators test_conv_iterators.cpp test_conv_iterators_main.cpp)
|
||
+boost_test_run(test_copy_assignment test_copy_assignment.cpp test_copy_assignment_main.cpp)
|
||
+boost_test_run(test_hash_ops test_hash_ops.cpp test_hash_ops_main.cpp)
|
||
+boost_test_run(test_iterators test_iterators.cpp test_iterators_main.cpp)
|
||
+boost_test_run(test_key_extractors test_key_extractors.cpp test_key_extractors_main.cpp)
|
||
+boost_test_run(test_list_ops test_list_ops.cpp test_list_ops_main.cpp)
|
||
+boost_test_run(test_modifiers test_modifiers.cpp test_modifiers_main.cpp)
|
||
+boost_test_run(test_mpl_ops test_mpl_ops.cpp test_mpl_ops_main.cpp)
|
||
+boost_test_run(test_observers test_observers.cpp test_observers_main.cpp)
|
||
+boost_test_run(test_projection test_projection.cpp test_projection_main.cpp)
|
||
+boost_test_run(test_range test_range.cpp test_range_main.cpp)
|
||
+boost_test_run(test_rearrange test_rearrange.cpp test_rearrange_main.cpp)
|
||
+boost_test_run(test_safe_mode test_safe_mode.cpp test_safe_mode_main.cpp)
|
||
+boost_test_run(test_serialization
|
||
+ test_serialization.cpp test_serialization1.cpp
|
||
+ test_serialization2.cpp test_serialization3.cpp
|
||
+ test_serialization_main.cpp
|
||
+ DEPENDS boost_serialization)
|
||
+boost_test_run(test_set_ops test_set_ops.cpp test_set_ops_main.cpp)
|
||
+boost_test_run(test_special_set_ops test_special_set_ops.cpp test_special_set_ops_main.cpp)
|
||
+boost_test_run(test_update test_update.cpp test_update_main.cpp)
|
||
diff --git a/libs/numeric/CMakeLists.txt b/libs/numeric/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a5e5689
|
||
--- /dev/null
|
||
+++ b/libs/numeric/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ numeric
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ numeric
|
||
+ # SRCDIRS
|
||
+ TESTDIRS conversion/test interval/test ublas/test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/numeric/conversion/test/CMakeLists.txt b/libs/numeric/conversion/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ca88052
|
||
--- /dev/null
|
||
+++ b/libs/numeric/conversion/test/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#-------------------------------------------------------------------------
|
||
+#-- Needed include directories for the tests
|
||
+boost_additional_test_dependencies(numeric BOOST_DEPENDS test)
|
||
+#-------------------------------------------------------------------------
|
||
+
|
||
+boost_test_run(bounds_test)
|
||
+boost_test_run(traits_test)
|
||
+boost_test_run(converter_test)
|
||
+boost_test_run(udt_support_test)
|
||
+boost_test_run(numeric_conv_cast_test numeric_cast_test.cpp)
|
||
+boost_test_run(udt_example_0)
|
||
diff --git a/libs/numeric/interval/test/CMakeLists.txt b/libs/numeric/interval/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e0c4e54
|
||
--- /dev/null
|
||
+++ b/libs/numeric/interval/test/CMakeLists.txt
|
||
@@ -0,0 +1,34 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#TODO: Deal with these on OSF
|
||
+# <toolset>hp_cxx,<os>OSF:<cflags>"-fprm d"
|
||
+ # <toolset>gcc,<os>OSF:<cflags>-mfp-rounding-mode=d
|
||
+
|
||
+#-------------------------------------------------------------------------
|
||
+#-- Needed include directories for the tests
|
||
+boost_additional_test_dependencies(numeric BOOST_DEPENDS test)
|
||
+#-------------------------------------------------------------------------
|
||
+
|
||
+boost_test_compile(integer)
|
||
+
|
||
+boost_test_run(add)
|
||
+boost_test_run(det)
|
||
+boost_test_run(fmod)
|
||
+message(STATUS "numeric/interval/test/mul needs love")
|
||
+#boost_test_run(mul)
|
||
+message(STATUS "numeric/interval/test/overflow needs love")
|
||
+#boost_test_run(overflow)
|
||
+boost_test_run(pi)
|
||
+boost_test_run(pow)
|
||
+
|
||
+boost_test_run(cmp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(cmp_exn DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(cmp_exp DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(cmp_lex DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(cmp_set DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(cmp_tribool DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(test_float DEPENDS boost_test_exec_monitor)
|
||
diff --git a/libs/numeric/module.cmake b/libs/numeric/module.cmake
|
||
new file mode 100644
|
||
index 0000000..cab15aa
|
||
--- /dev/null
|
||
+++ b/libs/numeric/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(numeric DEPENDS logic serialization)
|
||
\ No newline at end of file
|
||
diff --git a/libs/numeric/ublas/test/CMakeLists.txt b/libs/numeric/ublas/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..adb7b7a
|
||
--- /dev/null
|
||
+++ b/libs/numeric/ublas/test/CMakeLists.txt
|
||
@@ -0,0 +1,86 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# Define features to test:
|
||
+# Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX
|
||
+# Proxies: USE_RANGE USE_SLICE
|
||
+# Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY
|
||
+# Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR
|
||
+# Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR
|
||
+# Adaptors: USE_ADAPTOR
|
||
+
|
||
+set(UBLAS_TESTSET_DEFINES
|
||
+ "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_RANGE -DUSE_SLICE -DUSE_UNBOUNDED_ARRAY -DUSE_STD_VECTOR -DUSE_BOUNDED_VECTOR -DUSE_MATRIX")
|
||
+
|
||
+# Sparse storage: USE_MAP_ARRAY USE_STD_MAP
|
||
+# Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR
|
||
+# Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR
|
||
+
|
||
+set(UBLAS_TESTSET_SPARSE_DEFINES
|
||
+ "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_UNBOUNDED_ARRAY -DUSE_MAP_ARRAY -DUSE_STD_MAP -DUSE_MAPPED_VECTOR -DUSE_COMPRESSED_VECTOR -DUSE_COORDINATE_VECTOR -DUSE_MAPPED_MATRIX -DUSE_COMPRESSED_MATRIX -DUSE_COORDINATE_MATRIX")
|
||
+
|
||
+# Definitions for uBLAS tests
|
||
+add_definitions(-DBOOST_UBLAS_NO_EXCEPTIONS)
|
||
+# TODO: <toolset>vacpp:<define>"BOOST_UBLAS_NO_ELEMENT_PROXIES"
|
||
+
|
||
+#-------------------------------------------------------------------------
|
||
+#-- Needed include directories for the tests
|
||
+boost_additional_test_dependencies(numeric BOOST_DEPENDS test)
|
||
+#-------------------------------------------------------------------------
|
||
+
|
||
+
|
||
+boost_test_run(ublas_test1
|
||
+ test1.cpp test11.cpp test12.cpp test13.cpp
|
||
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
|
||
+
|
||
+boost_test_run(ublas_test2
|
||
+ test2.cpp test21.cpp test22.cpp test23.cpp
|
||
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
|
||
+
|
||
+boost_test_run(ublas_test3
|
||
+ test3.cpp test31.cpp test32.cpp test33.cpp
|
||
+ COMPILE_FLAGS "${UBLAS_TESTSET_SPARSE_DEFINES}")
|
||
+
|
||
+boost_test_run(ublas_test4
|
||
+ test4.cpp test42.cpp test43.cpp
|
||
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
|
||
+
|
||
+boost_test_run(ublas_test5
|
||
+ test5.cpp test52.cpp test53.cpp
|
||
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
|
||
+
|
||
+boost_test_run(ublas_test6
|
||
+ test6.cpp test62.cpp test63.cpp
|
||
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
|
||
+
|
||
+# Test commented out because boost::interval does not behave like a scalar
|
||
+# boost_test_run(test7
|
||
+# test7.cpp test71.cpp test72.cpp test73.cpp
|
||
+# COMPILE_FLAGS "-DBOOST_UBLAS_USE_INTERVAL ${UBLAS_TESTSET_DEFINES}")
|
||
+
|
||
+boost_test_run(placement_new)
|
||
+
|
||
+boost_test_run(test_lu)
|
||
+
|
||
+boost_test_run(triangular_access
|
||
+ triangular_access.cpp
|
||
+ COMPILE_FLAGS "-DNOMESSAGES")
|
||
+
|
||
+boost_test_run(triangular_layout
|
||
+ triangular_layout.cpp)
|
||
+
|
||
+
|
||
+SET(test_compile_flags "-DEXTERNAL")
|
||
+#-- Intel Compiler flags
|
||
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
|
||
+ SET(test_compile_flags "${test_compile_flags} -Xc")
|
||
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
|
||
+
|
||
+IF (APPLE)
|
||
+ SET(test_compile_flags "${test_compile_flags} -fabi-version=0")
|
||
+ENDIF (APPLE)
|
||
+
|
||
+boost_test_compile(concepts COMPILE_FLAGS "-DEXTERNAL")
|
||
diff --git a/libs/optional/CMakeLists.txt b/libs/optional/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3e08aa8
|
||
--- /dev/null
|
||
+++ b/libs/optional/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ optional.hpp
|
||
+ optional
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ optional
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/optional/module.cmake b/libs/optional/module.cmake
|
||
new file mode 100644
|
||
index 0000000..59d630b
|
||
--- /dev/null
|
||
+++ b/libs/optional/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(optional DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/optional/test/CMakeLists.txt b/libs/optional/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1a2d09a
|
||
--- /dev/null
|
||
+++ b/libs/optional/test/CMakeLists.txt
|
||
@@ -0,0 +1,23 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(optional BOOST_DEPENDS test tuple)
|
||
+
|
||
+
|
||
+boost_test_run(optional_test)
|
||
+boost_test_run(optional_test_tie)
|
||
+boost_test_run(optional_test_ref
|
||
+ KNOWN_FAILURES "gcc-4.[0-3].[0-9]-.*")
|
||
+boost_test_run(optional_test_inplace)
|
||
+boost_test_run(optional_test_io)
|
||
+boost_test_compile_fail(optional_test_fail1)
|
||
+boost_test_compile_fail(optional_test_fail3a)
|
||
+boost_test_compile_fail(optional_test_fail3b)
|
||
+boost_test_compile_fail(optional_test_ref_fail1)
|
||
+boost_test_compile_fail(optional_test_ref_fail3)
|
||
+boost_test_compile_fail(optional_test_ref_fail4)
|
||
+boost_test_compile_fail(optional_test_inplace_fail)
|
||
+boost_test_compile_fail(optional_test_inplace_fail2)
|
||
diff --git a/libs/parameter/CMakeLists.txt b/libs/parameter/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4e3e89b
|
||
--- /dev/null
|
||
+++ b/libs/parameter/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ parameter.hpp
|
||
+ parameter
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ parameter
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Write functions that accept arguments by name."
|
||
+ MODULARIZED
|
||
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
|
||
+ "Daniel Wallin <dalwan01 -at- student.umu.se>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/parameter/module.cmake b/libs/parameter/module.cmake
|
||
new file mode 100644
|
||
index 0000000..c72dba5
|
||
--- /dev/null
|
||
+++ b/libs/parameter/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(parameter DEPENDS python)
|
||
\ No newline at end of file
|
||
diff --git a/libs/parameter/test/CMakeLists.txt b/libs/parameter/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b11e21b
|
||
--- /dev/null
|
||
+++ b/libs/parameter/test/CMakeLists.txt
|
||
@@ -0,0 +1,113 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(optional BOOST_DEPENDS test timer)
|
||
+
|
||
+
|
||
+boost_test_run(basics)
|
||
+boost_test_run(sfinae)
|
||
+boost_test_run(macros)
|
||
+boost_test_run(earwicker)
|
||
+boost_test_run(tutorial)
|
||
+boost_test_run(singular)
|
||
+boost_test_run(mpl)
|
||
+boost_test_run(preprocessor)
|
||
+boost_test_run(preprocessor_deduced)
|
||
+boost_test_run(efficiency COMPILE_FLAGS "${RELEASE_COMPILE_FLAGS}")
|
||
+boost_test_run(maybe)
|
||
+boost_test_run(deduced)
|
||
+boost_test_run(optional_deduced_sfinae)
|
||
+boost_test_run(deduced_dependent_predicate)
|
||
+boost_test_run(normalized_argument_types)
|
||
+boost_test_compile(ntp)
|
||
+boost_test_compile(unwrap_cv_reference)
|
||
+boost_test_compile_fail(duplicates)
|
||
+boost_test_compile_fail(deduced_unmatched_arg)
|
||
+boost_test_compile(compose)
|
||
+
|
||
+if (PYTHON_FOUND)
|
||
+
|
||
+ include_directories(${PYTHON_INCLUDE_PATH})
|
||
+
|
||
+ #
|
||
+ # This came from libs/python/test/CMakeLists.txt
|
||
+ #
|
||
+ # copy-pasting this kind of code is of course an awful idea.
|
||
+ #
|
||
+ macro(bpl_test TESTNAME)
|
||
+ parse_arguments(BPL_TEST
|
||
+ "ARGS"
|
||
+ ""
|
||
+ ${ARGN})
|
||
+
|
||
+ # Determine the Python and C++ source files for this test
|
||
+ if (BPL_TEST_DEFAULT_ARGS)
|
||
+ # First argument is the Python source we will run, the rest are
|
||
+ # either extra Python sources we're dependent on or C++ files from
|
||
+ # which we will build extension modules.
|
||
+ car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS})
|
||
+ cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS})
|
||
+
|
||
+ get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE)
|
||
+
|
||
+ # Process all the .cpp file and extension module names
|
||
+ foreach(SRC ${BPL_TEST_DEFAULT_ARGS})
|
||
+ get_filename_component(BPL_SRC_EXT ${SRC} EXT)
|
||
+ if (BPL_SRC_EXT STREQUAL ".cpp")
|
||
+
|
||
+ # Build a Python extension module from this source file
|
||
+ get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE)
|
||
+
|
||
+ if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
|
||
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext)
|
||
+ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
|
||
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME})
|
||
+ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
|
||
+
|
||
+ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC})
|
||
+
|
||
+ else (BPL_SRC_EXT STREQUAL ".cpp")
|
||
+ set(BPL_EXTENSION_MODULE ${SRC})
|
||
+
|
||
+ endif (BPL_SRC_EXT STREQUAL ".cpp")
|
||
+
|
||
+ endforeach(SRC ${BPL_TEST_DEFAULT_ARGS})
|
||
+
|
||
+ else (BPL_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ set(BPL_TEST_PYSOURCE "${TESTNAME}.py")
|
||
+
|
||
+ # Build a Python extension module from this source file
|
||
+ boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp")
|
||
+
|
||
+ endif(BPL_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ # We'll need the full patch to run the Python test
|
||
+ set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE})
|
||
+
|
||
+ # Run the test itself
|
||
+ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH)
|
||
+ if(WIN32 AND NOT UNIX)
|
||
+ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}")
|
||
+ endif(WIN32 AND NOT UNIX)
|
||
+ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME})
|
||
+ add_test(${FULL_TESTNAME}
|
||
+ ${VALGRIND_EXECUTABLE}
|
||
+ ${VALGRIND_FLAGS}
|
||
+ ${PYTHON_EXECUTABLE}
|
||
+ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py"
|
||
+ "${PYTHONPATH}"
|
||
+ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS})
|
||
+
|
||
+ set_tests_properties(${FULL_TESTNAME}
|
||
+ PROPERTIES
|
||
+ LABELS "${PROJECT_NAME}"
|
||
+ )
|
||
+ endmacro(bpl_test)
|
||
+
|
||
+ bpl_test(python_test)
|
||
+
|
||
+endif()
|
||
\ No newline at end of file
|
||
diff --git a/libs/polygon/CMakeLists.txt b/libs/polygon/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ce3b9da
|
||
--- /dev/null
|
||
+++ b/libs/polygon/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ polygon
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ polygon
|
||
+ # SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "Algorithms focused on manipulating planar polygon geometry data."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Intel Corporation"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/polygon/module.cmake b/libs/polygon/module.cmake
|
||
new file mode 100644
|
||
index 0000000..4b60760
|
||
--- /dev/null
|
||
+++ b/libs/polygon/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(polygon DEPENDS smart_ptr)
|
||
\ No newline at end of file
|
||
diff --git a/libs/polygon/test/CMakeLists.txt b/libs/polygon/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..63e354b
|
||
--- /dev/null
|
||
+++ b/libs/polygon/test/CMakeLists.txt
|
||
@@ -0,0 +1,12 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(polygon BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_POLYGON_STATIC_LINK
|
||
+
|
||
+boost_test_run(gtl_boost_unit_test gtl_boost_unit_test.cpp)
|
||
diff --git a/libs/pool/CMakeLists.txt b/libs/pool/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ccf6649
|
||
--- /dev/null
|
||
+++ b/libs/pool/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ pool
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ pool
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/pool/module.cmake b/libs/pool/module.cmake
|
||
new file mode 100644
|
||
index 0000000..cb1c034
|
||
--- /dev/null
|
||
+++ b/libs/pool/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(pool DEPENDS config detail exception)
|
||
\ No newline at end of file
|
||
diff --git a/libs/pool/test/CMakeLists.txt b/libs/pool/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b101cd3
|
||
--- /dev/null
|
||
+++ b/libs/pool/test/CMakeLists.txt
|
||
@@ -0,0 +1,9 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(pool BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(test_pool_alloc DEPENDS boost_test_exec_monitor)
|
||
diff --git a/libs/preprocessor/CMakeLists.txt b/libs/preprocessor/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..78b1676
|
||
--- /dev/null
|
||
+++ b/libs/preprocessor/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ preprocessor.hpp
|
||
+ preprocessor
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ preprocessor
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/preprocessor/module.cmake b/libs/preprocessor/module.cmake
|
||
new file mode 100644
|
||
index 0000000..5dc6e3d
|
||
--- /dev/null
|
||
+++ b/libs/preprocessor/module.cmake
|
||
@@ -0,0 +1,4 @@
|
||
+# Preprocessor does not depend on anything else
|
||
+
|
||
+
|
||
+
|
||
\ No newline at end of file
|
||
diff --git a/libs/preprocessor/test/CMakeLists.txt b/libs/preprocessor/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3a50ea7
|
||
--- /dev/null
|
||
+++ b/libs/preprocessor/test/CMakeLists.txt
|
||
@@ -0,0 +1,23 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(preprocessor BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_compile(arithmetic)
|
||
+boost_test_compile(array)
|
||
+boost_test_compile(comparison)
|
||
+boost_test_compile(control)
|
||
+boost_test_compile(debug)
|
||
+boost_test_compile(facilities)
|
||
+boost_test_compile(iteration)
|
||
+boost_test_compile(list)
|
||
+boost_test_compile(logical)
|
||
+boost_test_compile(repetition)
|
||
+boost_test_compile(selection)
|
||
+boost_test_compile(seq)
|
||
+boost_test_compile(slot)
|
||
+boost_test_compile(tuple)
|
||
diff --git a/libs/program_options/CMakeLists.txt b/libs/program_options/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..85d1806
|
||
--- /dev/null
|
||
+++ b/libs/program_options/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ program_options.hpp
|
||
+ program_options
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ program_options
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Access to configuration data given on command line, in config files and other sources."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Vladimir Prus <ghost -at- cs.msu.su>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/program_options/module.cmake b/libs/program_options/module.cmake
|
||
new file mode 100644
|
||
index 0000000..cf44a1e
|
||
--- /dev/null
|
||
+++ b/libs/program_options/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(program_options DEPENDS any bind smart_ptr test tokenizer)
|
||
diff --git a/libs/program_options/src/CMakeLists.txt b/libs/program_options/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9a20ec2
|
||
--- /dev/null
|
||
+++ b/libs/program_options/src/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(program_options
|
||
+ cmdline.cpp config_file.cpp options_description.cpp parsers.cpp
|
||
+ variables_map.cpp value_semantic.cpp positional_options.cpp
|
||
+ utf8_codecvt_facet.cpp convert.cpp winmain.cpp
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_PROGRAM_OPTIONS_DYN_LINK=1")
|
||
diff --git a/libs/program_options/test/CMakeLists.txt b/libs/program_options/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..48ec7b1
|
||
--- /dev/null
|
||
+++ b/libs/program_options/test/CMakeLists.txt
|
||
@@ -0,0 +1,39 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(program_options BOOST_DEPENDS test)
|
||
+
|
||
+set(PROGRAM_OPTIONS_LIBRARIES
|
||
+ boost_program_options
|
||
+ boost_test_exec_monitor)
|
||
+
|
||
+set(BOOST_TEST_EXEC_MONITOR_SUFFIX "")
|
||
+if (NOT BUILD_SINGLE_THREADED)
|
||
+ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
|
||
+endif()
|
||
+set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
|
||
+if (NOT BUILD_RELEASE)
|
||
+ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
|
||
+endif()
|
||
+
|
||
+macro(program_options_test_run TESTNAME)
|
||
+ boost_test_run(${TESTNAME}
|
||
+ STATIC
|
||
+ DEPENDS boost_program_options boost_test_exec_monitor )
|
||
+ boost_test_run("${TESTNAME}_dll"
|
||
+ ${TESTNAME}.cpp
|
||
+ SHARED
|
||
+ DEPENDS boost_program_options
|
||
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
|
||
+endmacro(program_options_test_run)
|
||
+
|
||
+program_options_test_run(options_description_test)
|
||
+program_options_test_run(parsers_test)
|
||
+program_options_test_run(variable_map_test)
|
||
+program_options_test_run(cmdline_test)
|
||
+program_options_test_run(positional_options_test)
|
||
+program_options_test_run(unicode_test)
|
||
+program_options_test_run(winmain)
|
||
diff --git a/libs/property_map/CMakeLists.txt b/libs/property_map/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..719c431
|
||
--- /dev/null
|
||
+++ b/libs/property_map/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+# Copyright (C) 2008 Michael Jackson
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ property_map
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/property_map/module.cmake b/libs/property_map/module.cmake
|
||
new file mode 100644
|
||
index 0000000..ea68026
|
||
--- /dev/null
|
||
+++ b/libs/property_map/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(property_map DEPENDS concept_check)
|
||
\ No newline at end of file
|
||
diff --git a/libs/property_map/test/CMakeLists.txt b/libs/property_map/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ff09b3c
|
||
--- /dev/null
|
||
+++ b/libs/property_map/test/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+# Copyright (C) 2008 Michael Jackson
|
||
+#
|
||
+# Use, modification and distribution is subject to 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)
|
||
+
|
||
+boost_additional_test_dependencies(property_map BOOST_DEPENDS test concept_check any)
|
||
+
|
||
+boost_test_compile(property_map_cc)
|
||
+
|
||
+boost_test_run(dynamic_properties_test)
|
||
diff --git a/libs/property_tree/CMakeLists.txt b/libs/property_tree/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1dc18c5
|
||
--- /dev/null
|
||
+++ b/libs/property_tree/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ property_tree
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ property_tree
|
||
+ # SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ EXAMPLEDIRS example
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "Data structure storing an arbitrarily deeply nested tree of values, indexed at each level by some key."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Marcin Kalicinski <kalita -at- poczta.onet.pl>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/property_tree/module.cmake b/libs/property_tree/module.cmake
|
||
new file mode 100644
|
||
index 0000000..e26d8ad
|
||
--- /dev/null
|
||
+++ b/libs/property_tree/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(property_tree DEPENDS smart_ptr)
|
||
\ No newline at end of file
|
||
diff --git a/libs/property_tree/test/CMakeLists.txt b/libs/property_tree/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d94092d
|
||
--- /dev/null
|
||
+++ b/libs/property_tree/test/CMakeLists.txt
|
||
@@ -0,0 +1,23 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(property_tree BOOST_DEPENDS test serialization)
|
||
+
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_PROPERTY_TREE_STATIC_LINK
|
||
+
|
||
+SET(TEST_SUFFIXES
|
||
+ info_parser json_parser ini_parser xml_parser_rapidxml
|
||
+ multi_module1 multi_module2
|
||
+ # registry_parser
|
||
+ )
|
||
+
|
||
+FOREACH(test_suffix ${TEST_SUFFIXES})
|
||
+ boost_test_run(test_${test_suffix} test_${test_suffix}.cpp)
|
||
+ENDFOREACH(test_suffix ${TEST_SUFFIXES})
|
||
+
|
||
+boost_test_run(test_property_tree test_property_tree.cpp
|
||
+ DEPENDS boost_serialization SHARED)
|
||
diff --git a/libs/proto/CMakeLists.txt b/libs/proto/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..36d5060
|
||
--- /dev/null
|
||
+++ b/libs/proto/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ proto
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ proto
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users."
|
||
+ MODULARIZED
|
||
+ # AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/proto/module.cmake b/libs/proto/module.cmake
|
||
new file mode 100644
|
||
index 0000000..2061b60
|
||
--- /dev/null
|
||
+++ b/libs/proto/module.cmake
|
||
@@ -0,0 +1,2 @@
|
||
+boost_module(proto DEPENDS fusion typeof)
|
||
+
|
||
diff --git a/libs/proto/test/CMakeLists.txt b/libs/proto/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c219435
|
||
--- /dev/null
|
||
+++ b/libs/proto/test/CMakeLists.txt
|
||
@@ -0,0 +1,58 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(proto BOOST_DEPENDS test)
|
||
+
|
||
+################################################################################
|
||
+#--- Compiler specific settings
|
||
+
|
||
+# GCC
|
||
+IF(CMAKE_COMPILER_IS_GNUCC)
|
||
+ SET(test_compile_flags "-ftemplate-depth-1024")
|
||
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
|
||
+
|
||
+# Microsoft Visual Studio
|
||
+IF (MSVC71)
|
||
+ #TODO// Turn off debug symbols?
|
||
+ENDIF(MSVC71)
|
||
+IF (MSVC80)
|
||
+ SET(test_compile_flags "-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE")
|
||
+ENDIF(MSVC80)
|
||
+IF (MSVC90)
|
||
+ SET(test_compile_flags "-D_SCL_SECURE_NO_DEPRECATE")
|
||
+ENDIF (MSVC90)
|
||
+
|
||
+# Intel
|
||
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
|
||
+ #TODO// Turn off debug symbols?
|
||
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
|
||
+
|
||
+set (tests
|
||
+ calculator
|
||
+ deep_copy
|
||
+ examples
|
||
+ lambda
|
||
+ make_expr
|
||
+ matches
|
||
+ proto_fusion
|
||
+ proto_fusion_s
|
||
+ toy_spirit
|
||
+ toy_spirit2
|
||
+ noinvoke
|
||
+)
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+#-- Create an executable test for each source
|
||
+foreach(test ${tests})
|
||
+ boost_test_run(${test} "${test}.cpp"
|
||
+ COMPILE_FLAGS ${test_compile_flags}
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+endforeach(test ${tests})
|
||
+
|
||
+
|
||
+
|
||
diff --git a/libs/ptr_container/CMakeLists.txt b/libs/ptr_container/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ecf0077
|
||
--- /dev/null
|
||
+++ b/libs/ptr_container/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ ptr_container
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ ptr_container
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Containers for storing heap-allocated polymorphic objects to ease OO-programming."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/ptr_container/module.cmake b/libs/ptr_container/module.cmake
|
||
new file mode 100644
|
||
index 0000000..407a75b
|
||
--- /dev/null
|
||
+++ b/libs/ptr_container/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(ptr_container DEPENDS circular_buffer range)
|
||
\ No newline at end of file
|
||
diff --git a/libs/ptr_container/test/CMakeLists.txt b/libs/ptr_container/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..91456a6
|
||
--- /dev/null
|
||
+++ b/libs/ptr_container/test/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(ptr_container BOOST_DEPENDS test assign numeric)
|
||
+
|
||
+boost_test_run(ptr_inserter DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_vector DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_list DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_deque DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_set DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_map DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_map_adapter DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_array DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(tree_test DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(incomplete_type_test DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(view_example)
|
||
+boost_test_run(iterator_test DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(tut1)
|
||
+boost_test_run(indirect_fun DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(serialization DEPENDS boost_unit_test_framework boost_serialization)
|
||
+boost_test_run(no_exceptions DEPENDS boost_unit_test_framework)
|
||
+
|
||
+boost_test_run(ptr_unordered_set DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_unordered_map DEPENDS boost_unit_test_framework)
|
||
+boost_test_run(ptr_circular_buffer DEPENDS boost_unit_test_framework)
|
||
diff --git a/libs/python/CMakeLists.txt b/libs/python/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b313d4c
|
||
--- /dev/null
|
||
+++ b/libs/python/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+if (PYTHON_FOUND)
|
||
+ include_directories(${PYTHON_INCLUDE_PATH})
|
||
+
|
||
+ boost_library_project(
|
||
+ Python
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS python.hpp python
|
||
+ MODULARIZED
|
||
+ DESCRIPTION "A framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler."
|
||
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
|
||
+ )
|
||
+else ()
|
||
+ colormsg(RED "+-- disabled since PYTHON_FOUND is false")
|
||
+endif ()
|
||
diff --git a/libs/python/module.cmake b/libs/python/module.cmake
|
||
new file mode 100644
|
||
index 0000000..5bfa0c7
|
||
--- /dev/null
|
||
+++ b/libs/python/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(python DEPENDS graph numeric)
|
||
+
|
||
+# numeric is there because of boost/cast.hpp from libs/python/src/errors.cpp:11
|
||
\ No newline at end of file
|
||
diff --git a/libs/python/src/CMakeLists.txt b/libs/python/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e4326a4
|
||
--- /dev/null
|
||
+++ b/libs/python/src/CMakeLists.txt
|
||
@@ -0,0 +1,70 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+if (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON)
|
||
+ # We have detected that there might be Python debug libraries
|
||
+ # available, but check for ourselves whether this is true by trying
|
||
+ # to compile/link a program against them.
|
||
+ set(CMAKE_REQUIRED_DEFINITIONS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG")
|
||
+ get_directory_property(CMAKE_REQUIRED_INCLUDES INCLUDE_DIRECTORIES)
|
||
+ set(CMAKE_REQUIRED_LIBRARIES ${PYTHON_DEBUG_LIBRARIES})
|
||
+ set(CHECK_PYDEBUG_SOURCE
|
||
+ "#include <boost/python/object.hpp>")
|
||
+ check_cxx_source_compiles(
|
||
+ "#include <boost/python/object.hpp>
|
||
+ void check(PyObject *obj) { Py_INCREF(obj); } int main() { }"
|
||
+ PYDEBUG_CAN_BUILD)
|
||
+
|
||
+ # Setup an option to enable/disable building variants with Python
|
||
+ # debugging. If we were able to link against the debug libraries,
|
||
+ # default to ON; otherwise, default to OFF.
|
||
+ option(BUILD_PYTHON_DEBUG
|
||
+ "Build an additional Boost.Python library with Python debugging enabled"
|
||
+ ${PYDEBUG_CAN_BUILD})
|
||
+endif (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON)
|
||
+
|
||
+# Always build the non-debug variants of the boost_python library
|
||
+set(BUILD_PYTHON_NODEBUG ON)
|
||
+
|
||
+boost_add_library(python
|
||
+ numeric.cpp
|
||
+ list.cpp
|
||
+ long.cpp
|
||
+ dict.cpp
|
||
+ tuple.cpp
|
||
+ str.cpp
|
||
+ slice.cpp
|
||
+ converter/from_python.cpp
|
||
+ converter/registry.cpp
|
||
+ converter/type_id.cpp
|
||
+ object/enum.cpp
|
||
+ object/class.cpp
|
||
+ object/function.cpp
|
||
+ object/inheritance.cpp
|
||
+ object/life_support.cpp
|
||
+ object/pickle_support.cpp
|
||
+ errors.cpp
|
||
+ module.cpp
|
||
+ converter/builtin_converters.cpp
|
||
+ converter/arg_to_python_base.cpp
|
||
+ object/iterator.cpp
|
||
+ object/stl_iterator.cpp
|
||
+ object_protocol.cpp
|
||
+ object_operators.cpp
|
||
+ wrapper.cpp
|
||
+ import.cpp
|
||
+ exec.cpp
|
||
+ object/function_doc_signature.cpp
|
||
+
|
||
+ STATIC_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB"
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE"
|
||
+ PYTHON_NODEBUG_LINK_LIBS "${PYTHON_LIBRARIES}"
|
||
+
|
||
+ # Support for Python debugging
|
||
+ EXTRA_VARIANTS PYTHON_NODEBUG:PYTHON_DEBUG
|
||
+ PYTHON_DEBUG_COMPILE_FLAGS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG"
|
||
+ PYTHON_DEBUG_LINK_LIBS "${PYTHON_DEBUG_LIBRARIES}"
|
||
+ )
|
||
diff --git a/libs/python/test/CMakeLists.txt b/libs/python/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1a27e71
|
||
--- /dev/null
|
||
+++ b/libs/python/test/CMakeLists.txt
|
||
@@ -0,0 +1,246 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+include_directories(${PYTHON_INCLUDE_PATH})
|
||
+
|
||
+macro(bpl_test TESTNAME)
|
||
+ parse_arguments(BPL_TEST
|
||
+ "ARGS"
|
||
+ ""
|
||
+ ${ARGN})
|
||
+
|
||
+ # Determine the Python and C++ source files for this test
|
||
+ if (BPL_TEST_DEFAULT_ARGS)
|
||
+ # First argument is the Python source we will run, the rest are
|
||
+ # either extra Python sources we're dependent on or C++ files from
|
||
+ # which we will build extension modules.
|
||
+ car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS})
|
||
+ cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS})
|
||
+
|
||
+ get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE)
|
||
+
|
||
+ # Process all the .cpp file and extension module names
|
||
+ foreach(SRC ${BPL_TEST_DEFAULT_ARGS})
|
||
+ get_filename_component(BPL_SRC_EXT ${SRC} EXT)
|
||
+ if (BPL_SRC_EXT STREQUAL ".cpp")
|
||
+
|
||
+ # Build a Python extension module from this source file
|
||
+ get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE)
|
||
+
|
||
+ if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
|
||
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext)
|
||
+ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
|
||
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME})
|
||
+ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
|
||
+
|
||
+ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC})
|
||
+
|
||
+ else (BPL_SRC_EXT STREQUAL ".cpp")
|
||
+ set(BPL_EXTENSION_MODULE ${SRC})
|
||
+
|
||
+ endif (BPL_SRC_EXT STREQUAL ".cpp")
|
||
+
|
||
+ endforeach(SRC ${BPL_TEST_DEFAULT_ARGS})
|
||
+
|
||
+ else (BPL_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ set(BPL_TEST_PYSOURCE "${TESTNAME}.py")
|
||
+
|
||
+ # Build a Python extension module from this source file
|
||
+ boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp")
|
||
+
|
||
+ endif(BPL_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ # We'll need the full patch to run the Python test
|
||
+ set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE})
|
||
+
|
||
+ # Run the test itself
|
||
+
|
||
+ if(WIN32)
|
||
+
|
||
+ get_target_property(THIS_TEST_LOCATION ${TESTNAME}_ext-mt-shared
|
||
+ LOCATION)
|
||
+ get_filename_component(THIS_TEST_LOCATION ${THIS_TEST_LOCATION} PATH)
|
||
+
|
||
+ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
|
||
+ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}")
|
||
+
|
||
+ set(PYTHONPATH ${THIS_TEST_LOCATION})
|
||
+ else()
|
||
+ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH)
|
||
+ endif()
|
||
+
|
||
+ if(WIN32 AND NOT UNIX)
|
||
+ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}")
|
||
+ endif(WIN32 AND NOT UNIX)
|
||
+ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME})
|
||
+ add_test(${FULL_TESTNAME}
|
||
+ ${VALGRIND_EXECUTABLE}
|
||
+ ${VALGRIND_FLAGS}
|
||
+ ${PYTHON_EXECUTABLE}
|
||
+ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py"
|
||
+ "${PYTHONPATH}"
|
||
+ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS})
|
||
+
|
||
+ set_tests_properties(${FULL_TESTNAME}
|
||
+ PROPERTIES
|
||
+ LABELS "${PROJECT_NAME}"
|
||
+ )
|
||
+endmacro(bpl_test)
|
||
+
|
||
+macro(py_run TESTNAME)
|
||
+ boost_test_run(${TESTNAME}
|
||
+ ${TESTNAME}.cpp
|
||
+ DEPENDS boost_python STATIC
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES})
|
||
+endmacro(py_run)
|
||
+
|
||
+boost_test_run(exec
|
||
+ DEPENDS boost_python STATIC
|
||
+ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py"
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES})
|
||
+boost_test_run(exec-dynamic
|
||
+ exec.cpp
|
||
+ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py"
|
||
+ DEPENDS boost_python SHARED
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES})
|
||
+
|
||
+bpl_test(crossmod_exception
|
||
+ crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp)
|
||
+
|
||
+bpl_test(injected)
|
||
+bpl_test(properties)
|
||
+bpl_test(return_arg)
|
||
+bpl_test(staticmethod)
|
||
+bpl_test(shared_ptr)
|
||
+bpl_test(andreas_beyer)
|
||
+bpl_test(polymorphism)
|
||
+bpl_test(polymorphism2)
|
||
+
|
||
+bpl_test(wrapper_held_type)
|
||
+bpl_test(polymorphism2_auto_ptr)
|
||
+
|
||
+bpl_test(auto_ptr)
|
||
+
|
||
+bpl_test(minimal)
|
||
+bpl_test(args)
|
||
+bpl_test(raw_ctor)
|
||
+bpl_test(numpy numpy.py printer.py numeric_tests.py numarray_tests.py numpy.cpp)
|
||
+bpl_test(enum)
|
||
+bpl_test(exception_translator)
|
||
+bpl_test(pearu1 test_cltree.py cltree.cpp)
|
||
+bpl_test(try newtest.py m1.cpp m2.cpp)
|
||
+bpl_test(const_argument)
|
||
+bpl_test(keywords keywords_test.py keywords.cpp)
|
||
+
|
||
+boost_python_extension(builtin_converters_ext test_builtin_converters.cpp)
|
||
+bpl_test(builtin_converters test_builtin_converters.py builtin_converters_ext)
|
||
+
|
||
+#
|
||
+# See the contents of this file for more details on an existing
|
||
+# overload resoluton bug.
|
||
+#
|
||
+# boost_python_extension(overload_resolution test_overload_resolution.cpp)
|
||
+#
|
||
+
|
||
+bpl_test(test_pointer_adoption)
|
||
+bpl_test(operators)
|
||
+bpl_test(callbacks)
|
||
+bpl_test(defaults)
|
||
+
|
||
+bpl_test(object)
|
||
+bpl_test(list)
|
||
+bpl_test(long)
|
||
+bpl_test(dict)
|
||
+bpl_test(str)
|
||
+bpl_test(slice)
|
||
+
|
||
+bpl_test(virtual_functions)
|
||
+bpl_test(back_reference)
|
||
+bpl_test(implicit)
|
||
+bpl_test(data_members)
|
||
+
|
||
+bpl_test(ben_scott1)
|
||
+
|
||
+bpl_test(bienstman1)
|
||
+bpl_test(bienstman2)
|
||
+bpl_test(bienstman3)
|
||
+
|
||
+bpl_test(multi_arg_constructor)
|
||
+# TODO: A bug in the Win32 intel compilers causes compilation of one
|
||
+# of our tests to take forever when debug symbols are
|
||
+# enabled. This rule turns them off when added to the requirements
|
||
+# section
|
||
+# <toolset>intel-win:<debug-symbols>off
|
||
+
|
||
+bpl_test(iterator iterator.py iterator.cpp input_iterator.cpp)
|
||
+
|
||
+bpl_test(stl_iterator stl_iterator.py stl_iterator.cpp)
|
||
+
|
||
+bpl_test(extract)
|
||
+
|
||
+bpl_test (crossmod_opaque
|
||
+ crossmod_opaque.py crossmod_opaque_a.cpp crossmod_opaque_b.cpp)
|
||
+
|
||
+bpl_test(opaque)
|
||
+bpl_test(voidptr)
|
||
+
|
||
+bpl_test(pickle1)
|
||
+bpl_test(pickle2)
|
||
+bpl_test(pickle3)
|
||
+bpl_test(pickle4)
|
||
+
|
||
+bpl_test(nested)
|
||
+
|
||
+bpl_test(docstring)
|
||
+
|
||
+bpl_test(vector_indexing_suite)
|
||
+
|
||
+bpl_test(pointer_vector)
|
||
+# TODO: Turn off this test on HP CXX, as the test hangs when executing.
|
||
+# Whenever the cause for the failure of the polymorphism test is found
|
||
+# and fixed, this should be retested.
|
||
+# <toolset>hp_cxx:<build>no
|
||
+
|
||
+boost_python_extension(map_indexing_suite_ext
|
||
+ map_indexing_suite.cpp int_map_indexing_suite.cpp a_map_indexing_suite.cpp)
|
||
+
|
||
+bpl_test(map_indexing_suite
|
||
+ map_indexing_suite.py map_indexing_suite_ext)
|
||
+
|
||
+
|
||
+# --- unit tests of library components ---
|
||
+
|
||
+boost_test_compile(indirect_traits_test)
|
||
+boost_test_run(destroy_test)
|
||
+py_run(pointer_type_id_test)
|
||
+py_run(bases)
|
||
+boost_test_run(if_else)
|
||
+py_run(pointee)
|
||
+boost_test_run(result)
|
||
+
|
||
+boost_test_compile(string_literal)
|
||
+boost_test_compile(borrowed)
|
||
+boost_test_compile(object_manager)
|
||
+boost_test_compile(copy_ctor_mutates_rhs)
|
||
+
|
||
+py_run(upcast)
|
||
+
|
||
+boost_test_compile(select_holder)
|
||
+
|
||
+boost_test_run(select_from_python_test
|
||
+ select_from_python_test.cpp ../src/converter/type_id.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_PYTHON_STATIC_LIB"
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES})
|
||
+
|
||
+boost_test_compile(select_arg_to_python_test)
|
||
+
|
||
+boost_test_compile_fail(raw_pyobject_fail1)
|
||
+boost_test_compile_fail(raw_pyobject_fail2)
|
||
+boost_test_compile_fail(as_to_python_function)
|
||
+boost_test_compile_fail(object_fail1)
|
||
+
|
||
+bpl_test(tuple)
|
||
diff --git a/libs/random/CMakeLists.txt b/libs/random/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1d9e48d
|
||
--- /dev/null
|
||
+++ b/libs/random/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ random.hpp
|
||
+ random
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ random
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A complete system for random number generation."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jens Maurer <Jens.Maurer -at- gmx.net>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/random/module.cmake b/libs/random/module.cmake
|
||
new file mode 100644
|
||
index 0000000..0aad03b
|
||
--- /dev/null
|
||
+++ b/libs/random/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(random DEPENDS detail integer type_traits static_assert)
|
||
+
|
||
+
|
||
diff --git a/libs/random/src/CMakeLists.txt b/libs/random/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..08f889e
|
||
--- /dev/null
|
||
+++ b/libs/random/src/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DBOOST_DATE_TIME_NO_LIB=1)
|
||
+boost_add_library(
|
||
+ random
|
||
+ random_device.cpp
|
||
+ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1
|
||
+ )
|
||
diff --git a/libs/random/test/CMakeLists.txt b/libs/random/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..3511057
|
||
--- /dev/null
|
||
+++ b/libs/random/test/CMakeLists.txt
|
||
@@ -0,0 +1,52 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(random BOOST_DEPENDS test)
|
||
+
|
||
+foreach(urngs
|
||
+ rand48
|
||
+ minstd_rand0
|
||
+ minstd_rand
|
||
+ ecuyer1988
|
||
+ kreutzer1986
|
||
+ hellekalek1995
|
||
+ mt11213b
|
||
+ mt19937
|
||
+ lagged_fibonacci
|
||
+ lagged_fibonacci607
|
||
+ ranlux3
|
||
+ ranlux4
|
||
+ ranlux3_01
|
||
+ ranlux4_01
|
||
+ ranlux64_3_01
|
||
+ ranlux64_4_01
|
||
+ taus88)
|
||
+ boost_test_run(test_${urngs}
|
||
+ instantiate.cpp
|
||
+ COMPILE_FLAGS -DBOOST_RANDOM_URNG_TEST=${urngs}
|
||
+ )
|
||
+endforeach()
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_RANDOM_STATIC_LINK
|
||
+
|
||
+SET(TESTS test_random_device)
|
||
+
|
||
+FOREACH(test ${TESTS})
|
||
+ boost_test_run(${test}_static
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_random STATIC
|
||
+ COMPILE_FLAGS -DBOOST_RANDOM_STATIC_LINK)
|
||
+ boost_test_run(${test}_dynamic
|
||
+ ${test}.cpp
|
||
+ DEPENDS boost_random SHARED
|
||
+ COMPILE_FLAGS -DBOOST_RANDOM_DYN_LINK)
|
||
+ENDFOREACH(test ${TESTS})
|
||
+
|
||
+boost_test_run(random_demo ../example/random_demo.cpp)
|
||
+boost_test_run(random_test random_test.cpp)
|
||
+boost_test_run(validate validate.cpp)
|
||
+#boost_test_run(test_random_device test_random_device.cpp)
|
||
+#boost_test_run(statistic_tests statistic_tests.cpp)
|
||
diff --git a/libs/range/CMakeLists.txt b/libs/range/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..44214cf
|
||
--- /dev/null
|
||
+++ b/libs/range/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ range.hpp
|
||
+ range
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ range
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ DOCDIRS doc
|
||
+ DESCRIPTION "A new infrastructure for generic algorithms that builds on top of the new iterator concepts."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/range/doc/CMakeLists.txt b/libs/range/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2a15cc3
|
||
--- /dev/null
|
||
+++ b/libs/range/doc/CMakeLists.txt
|
||
@@ -0,0 +1,7 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_documentation(boost_range.qbk)
|
||
\ No newline at end of file
|
||
diff --git a/libs/range/module.cmake b/libs/range/module.cmake
|
||
new file mode 100644
|
||
index 0000000..49c9bc9
|
||
--- /dev/null
|
||
+++ b/libs/range/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(range DEPENDS algorithm)
|
||
\ No newline at end of file
|
||
diff --git a/libs/range/test/CMakeLists.txt b/libs/range/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0907adc
|
||
--- /dev/null
|
||
+++ b/libs/range/test/CMakeLists.txt
|
||
@@ -0,0 +1,25 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(range BOOST_DEPENDS test)
|
||
+
|
||
+message(STATUS "libs/range/test: need -Wall -Wunused here when under gcc")
|
||
+set( test_compile_flags "")
|
||
+IF(CMAKE_COMPILER_IS_GNUCC)
|
||
+ SET(test_compile_flags "-Wall -Wunused")
|
||
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
|
||
+
|
||
+boost_test_run(array DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(iterator_pair DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(std_container DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(string DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(iterator_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(sub_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(partial_workaround DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(algorithm_example DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(reversible_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(const_ranges DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
+boost_test_run(extension_mechanism DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
|
||
diff --git a/libs/rational/CMakeLists.txt b/libs/rational/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..53c440d
|
||
--- /dev/null
|
||
+++ b/libs/rational/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ rational.hpp
|
||
+
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ rational
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/rational/module.cmake b/libs/rational/module.cmake
|
||
new file mode 100644
|
||
index 0000000..94a8c9f
|
||
--- /dev/null
|
||
+++ b/libs/rational/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module (rational DEPENDS config math static_assert utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/rational/test/CMakeLists.txt b/libs/rational/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2e0850f
|
||
--- /dev/null
|
||
+++ b/libs/rational/test/CMakeLists.txt
|
||
@@ -0,0 +1,14 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(gil BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_run(rational_example rational_example.cpp)
|
||
+boost_test_run(rational_test
|
||
+ rational_test.cpp
|
||
+ DEPENDS boost_unit_test_framework
|
||
+ )
|
||
diff --git a/libs/regex/CMakeLists.txt b/libs/regex/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..481417e
|
||
--- /dev/null
|
||
+++ b/libs/regex/CMakeLists.txt
|
||
@@ -0,0 +1,51 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ regex.h
|
||
+ regex.hpp
|
||
+ regex_fwd.hpp
|
||
+ regex
|
||
+ cregex.hpp
|
||
+)
|
||
+
|
||
+# TODO: Default to multi-threaded?
|
||
+#
|
||
+# Used in test/ and examples/
|
||
+#
|
||
+macro(regex_test TESTNAME)
|
||
+ parse_arguments(REGEX_TEST "" "" ${ARGN})
|
||
+
|
||
+ if (REGEX_TEST_DEFAULT_ARGS)
|
||
+ set(REGEX_TEST_SOURCES ${REGEX_TEST_DEFAULT_ARGS})
|
||
+ else (REGEX_TEST_DEFAULT_ARGS)
|
||
+ set(REGEX_TEST_SOURCES "${TESTNAME}.cpp")
|
||
+ endif (REGEX_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ boost_test_run(${TESTNAME} ${REGEX_TEST_SOURCES}
|
||
+ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
|
||
+ DEPENDS boost_regex
|
||
+ EXTRA_OPTIONS SHARED)
|
||
+endmacro(regex_test)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ regex
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ EXAMPLEDIRS example
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A regular expression library"
|
||
+ MODULARIZED
|
||
+ AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/regex/example/CMakeLists.txt b/libs/regex/example/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5c3d442
|
||
--- /dev/null
|
||
+++ b/libs/regex/example/CMakeLists.txt
|
||
@@ -0,0 +1,76 @@
|
||
+# # copyright John Maddock 2003
|
||
+# # 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.
|
||
+#
|
||
+# project
|
||
+# : requirements
|
||
+# <threading>multi
|
||
+# <link>shared:<define>BOOST_REGEX_DYN_LINK=1
|
||
+# # There are unidentified linker problems on these platforms:
|
||
+# <toolset>mipspro-7.4:<link>static
|
||
+# <toolset>sun-5.9:<link>static
|
||
+# ;
|
||
+#
|
||
+#
|
||
+# rule regex-test-run ( sources + : input * : name * )
|
||
+# {
|
||
+# return [
|
||
+# run
|
||
+# # sources
|
||
+# $(sources)
|
||
+# # dependencies
|
||
+# ../build//boost_regex
|
||
+# : # additional args
|
||
+# $(input)
|
||
+# : # test-files
|
||
+# : # requirements
|
||
+# <toolset>msvc-7.1:<define>TEST_MFC=1 <toolset>msvc-7.0:<define>TEST_MFC=1
|
||
+# : # test name
|
||
+# $(name)
|
||
+# ] ;
|
||
+# }
|
||
+#
|
||
+# test-suite regex-examples :
|
||
+
|
||
+
|
||
+
|
||
+regex_test(regex_timer timer/regex_timer.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/example/timer/input_script.txt )
|
||
+#regex_test(regex-test-run grep/grep.cpp ../../program_options/build//boost_program_options/<link>static -n -b ${CMAKE_SOURCE_DIR}/boost/regex.hpp ${CMAKE_SOURCE_DIR}/boost/type_traits.hpp : test_grep )
|
||
+regex_test(credit_card_example snippets/credit_card_example.cpp DEPENDS boost_regex)
|
||
+regex_test(mfc_example snippets/mfc_example.cpp )
|
||
+regex_test(icu_example snippets/icu_example.cpp )
|
||
+regex_test(partial_regex_grep snippets/partial_regex_grep.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm )
|
||
+regex_test(partial_regex_iterate snippets/partial_regex_iterate.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm )
|
||
+regex_test(partial_regex_match snippets/partial_regex_match.cpp ARGS 1234-5678-8765-4 )
|
||
+regex_test(regex_grep_example_1 snippets/regex_grep_example_1.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_grep_example_2 snippets/regex_grep_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_grep_example_3 snippets/regex_grep_example_3.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_grep_example_4 snippets/regex_grep_example_4.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_match_example snippets/regex_match_example.cpp ARGS -auto )
|
||
+regex_test(regex_merge_example snippets/regex_merge_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_replace_example snippets/regex_replace_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_search_example snippets/regex_search_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+regex_test(regex_split_example_1 snippets/regex_split_example_1.cpp ARGS -auto )
|
||
+regex_test(regex_split_example_2 snippets/regex_split_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html )
|
||
+regex_test(regex_token_iterator_eg_1 snippets/regex_token_iterator_eg_1.cpp ARGS -auto )
|
||
+regex_test(regex_token_iterator_eg_2 snippets/regex_token_iterator_eg_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html )
|
||
+regex_test(regex_iterator_example snippets/regex_iterator_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
|
||
+
|
||
+#boost_test_run(run snippets/captures_example.cpp
|
||
+# ../test/captures//boost_regex_extra
|
||
+# : : : <threading>multi <define>BOOST_REGEX_MATCH_EXTRA=1 ]
|
||
+
|
||
+#;
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+
|
||
diff --git a/libs/regex/module.cmake b/libs/regex/module.cmake
|
||
new file mode 100644
|
||
index 0000000..3c9c0ae
|
||
--- /dev/null
|
||
+++ b/libs/regex/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(regex DEPENDS date_time thread)
|
||
\ No newline at end of file
|
||
diff --git a/libs/regex/src/CMakeLists.txt b/libs/regex/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..12bf067
|
||
--- /dev/null
|
||
+++ b/libs/regex/src/CMakeLists.txt
|
||
@@ -0,0 +1,51 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+set(BOOST_REGEX_ICU_LIBRARIES)
|
||
+
|
||
+if (ICU_FOUND AND ICU_I18N_FOUND)
|
||
+
|
||
+ add_definitions(-DBOOST_HAS_ICU=1)
|
||
+ include_directories(${ICU_INCLUDE_DIRS})
|
||
+ set(BOOST_REGEX_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
|
||
+ colormsg(GREEN "+-- ICU (unicode) available, enabling support.")
|
||
+ set(NO_STATIC_IF_ICU_FOUND "NO_STATIC")
|
||
+
|
||
+else()
|
||
+
|
||
+ colormsg(CYAN "+-- ICU (unicode) not available, disabling support.")
|
||
+
|
||
+endif()
|
||
+
|
||
+boost_add_library(regex
|
||
+
|
||
+ c_regex_traits.cpp
|
||
+ cpp_regex_traits.cpp
|
||
+ cregex.cpp
|
||
+ fileiter.cpp
|
||
+ icu.cpp
|
||
+ instances.cpp
|
||
+ posix_api.cpp
|
||
+ regex.cpp
|
||
+ regex_debug.cpp
|
||
+ regex_raw_buffer.cpp
|
||
+ regex_traits_defaults.cpp
|
||
+ static_mutex.cpp
|
||
+ w32_regex_traits.cpp
|
||
+ wc_regex_traits.cpp
|
||
+ wide_posix_api.cpp
|
||
+ winstances.cpp
|
||
+ usinstances.cpp
|
||
+
|
||
+ LINK_LIBS ${BOOST_REGEX_ICU_LIBRARIES}
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1
|
||
+ ${NO_STATIC_IF_ICU_FOUND}
|
||
+ )
|
||
+
|
||
+
|
||
+
|
||
+
|
||
diff --git a/libs/regex/test/CMakeLists.txt b/libs/regex/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5c55149
|
||
--- /dev/null
|
||
+++ b/libs/regex/test/CMakeLists.txt
|
||
@@ -0,0 +1,93 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(regex BOOST_DEPENDS test)
|
||
+
|
||
+set(R_SOURCES
|
||
+ regress/basic_tests.cpp
|
||
+ regress/main.cpp
|
||
+ regress/test_alt.cpp
|
||
+ regress/test_anchors.cpp
|
||
+ regress/test_asserts.cpp
|
||
+ regress/test_backrefs.cpp
|
||
+ regress/test_deprecated.cpp
|
||
+ regress/test_emacs.cpp
|
||
+ regress/test_escapes.cpp
|
||
+ regress/test_grep.cpp
|
||
+ regress/test_locale.cpp
|
||
+ regress/test_mfc.cpp
|
||
+ regress/test_non_greedy_repeats.cpp
|
||
+ regress/test_perl_ex.cpp
|
||
+ regress/test_replace.cpp
|
||
+ regress/test_sets.cpp
|
||
+ regress/test_simple_repeats.cpp
|
||
+ regress/test_tricky_cases.cpp
|
||
+ regress/test_icu.cpp
|
||
+ regress/test_unicode.cpp
|
||
+ regress/test_overloads.cpp
|
||
+ regress/test_operators.cpp
|
||
+ )
|
||
+
|
||
+if (NOT ICU_FOUND)
|
||
+ # static tests eliminiated if ICU is found
|
||
+ boost_test_run(regex_regress ${R_SOURCES}
|
||
+ DEPENDS boost_regex STATIC)
|
||
+endif()
|
||
+
|
||
+boost_test_run(regex_regress_dll ${R_SOURCES}
|
||
+ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
|
||
+ DEPENDS boost_regex
|
||
+ EXTRA_OPTIONS SHARED)
|
||
+
|
||
+boost_test_run(regex_regress_threaded ${R_SOURCES}
|
||
+ COMPILE_FLAGS "-DTEST_THREADS -DBOOST_REGEX_DYN_LINK=1"
|
||
+ DEPENDS boost_regex boost_thread
|
||
+ EXTRA_OPTIONS SHARED MULTI_THREADED)
|
||
+
|
||
+regex_test(posix_api_check c_compiler_checks/posix_api_check.c)
|
||
+boost_test_compile(wide_posix_api_check_c c_compiler_checks/wide_posix_api_check.c)
|
||
+regex_test(posix_api_check_cpp c_compiler_checks/wide_posix_api_check.cpp)
|
||
+regex_test(bad_expression_test pathology/bad_expression_test.cpp)
|
||
+regex_test(recursion_test pathology/recursion_test.cpp)
|
||
+regex_test(unicode_iterator_test unicode/unicode_iterator_test.cpp)
|
||
+
|
||
+boost_test_run(static_mutex_test static_mutex/static_mutex_test.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
|
||
+ DEPENDS boost_regex boost_thread
|
||
+ EXTRA_OPTIONS MULTI_THREADED SHARED)
|
||
+
|
||
+regex_test(object_cache_test object_cache/object_cache_test.cpp)
|
||
+
|
||
+if(NOT ICU_FOUND)
|
||
+ boost_test_run(regex_config_info config_info/regex_config_info.cpp
|
||
+ DEPENDS boost_regex
|
||
+ EXTRA_OPTIONS STATIC)
|
||
+endif()
|
||
+
|
||
+boost_test_run(regex_dll_config_info config_info/regex_config_info.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
|
||
+ DEPENDS boost_regex
|
||
+ EXTRA_OPTIONS SHARED)
|
||
+
|
||
+regex_test(test_collate_info collate_info/collate_info.cpp)
|
||
+
|
||
+boost_test_compile(concept_check concepts/concept_check.cpp)
|
||
+boost_test_compile(ice_concept_check concepts/icu_concept_check.cpp)
|
||
+
|
||
+# TODO: Deal with this
|
||
+ # [ run
|
||
+ # sources
|
||
+# captures/captures_test.cpp
|
||
+ # captures//boost_regex_extra
|
||
+ #: # additional args
|
||
+ #: # test-files
|
||
+ #: # requirements
|
||
+ # <threading>multi
|
||
+ # <define>BOOST_REGEX_MATCH_EXTRA=1
|
||
+ # <define>BOOST_REGEX_NO_LIB=1
|
||
+# : # test name
|
||
+ # captures_test
|
||
+# ]
|
||
diff --git a/libs/serialization/CMakeLists.txt b/libs/serialization/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..938c5f4
|
||
--- /dev/null
|
||
+++ b/libs/serialization/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ serialization
|
||
+ archive
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ serialization
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Serialization for persistence and marshalling."
|
||
+ MODULARIZED
|
||
+ AUTHORS "<ramey -at- rrsd.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/serialization/module.cmake b/libs/serialization/module.cmake
|
||
new file mode 100644
|
||
index 0000000..d640eb1
|
||
--- /dev/null
|
||
+++ b/libs/serialization/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(serialization DEPENDS spirit io bind array variant)
|
||
+
|
||
+# bind is in there because we have a dependency on boost/mem_fn.hpp
|
||
diff --git a/libs/serialization/src/CMakeLists.txt b/libs/serialization/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..fec7fe5
|
||
--- /dev/null
|
||
+++ b/libs/serialization/src/CMakeLists.txt
|
||
@@ -0,0 +1,56 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+boost_add_library(serialization
|
||
+
|
||
+ basic_archive.cpp
|
||
+ basic_iarchive.cpp
|
||
+ basic_iserializer.cpp
|
||
+ basic_oarchive.cpp
|
||
+ basic_oserializer.cpp
|
||
+ basic_pointer_iserializer.cpp
|
||
+ basic_pointer_oserializer.cpp
|
||
+ basic_serializer_map.cpp
|
||
+ basic_text_iprimitive.cpp
|
||
+ basic_text_oprimitive.cpp
|
||
+ basic_xml_archive.cpp
|
||
+ binary_iarchive.cpp
|
||
+ binary_oarchive.cpp
|
||
+ extended_type_info.cpp
|
||
+ extended_type_info_typeid.cpp
|
||
+ extended_type_info_no_rtti.cpp
|
||
+ polymorphic_iarchive.cpp
|
||
+ polymorphic_oarchive.cpp
|
||
+ stl_port.cpp
|
||
+ text_iarchive.cpp
|
||
+ text_oarchive.cpp
|
||
+ void_cast.cpp
|
||
+ archive_exception.cpp
|
||
+ xml_grammar.cpp
|
||
+ xml_iarchive.cpp
|
||
+ xml_oarchive.cpp
|
||
+ xml_archive_exception.cpp
|
||
+ shared_ptr_helper.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1
|
||
+ )
|
||
+
|
||
+boost_add_library(wserialization
|
||
+
|
||
+ basic_text_wiprimitive.cpp
|
||
+ basic_text_woprimitive.cpp
|
||
+ text_wiarchive.cpp
|
||
+ text_woarchive.cpp
|
||
+ utf8_codecvt_facet.cpp
|
||
+ xml_wgrammar.cpp
|
||
+ xml_wiarchive.cpp
|
||
+ xml_woarchive.cpp
|
||
+ codecvt_null.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1
|
||
+ DEPENDS boost_serialization
|
||
+ )
|
||
diff --git a/libs/serialization/test/CMakeLists.txt b/libs/serialization/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a0dc65e
|
||
--- /dev/null
|
||
+++ b/libs/serialization/test/CMakeLists.txt
|
||
@@ -0,0 +1,184 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# The set of archives that we will use for testing the Serialization
|
||
+# library
|
||
+set(BOOST_ARCHIVE_LIST
|
||
+ "text_archive"
|
||
+ "text_warchive"
|
||
+ "binary_archive"
|
||
+ "xml_archive"
|
||
+ "xml_warchive"
|
||
+ )
|
||
+
|
||
+# The serialization_test macro declares a set of tests of the
|
||
+# serialization library. For each invocation of serialization_test,
|
||
+# this macro will build separate static and dynamic tests.
|
||
+macro(serialization_test testname)
|
||
+ parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN})
|
||
+
|
||
+ if(NOT BSL_TEST_DEFAULT_ARGS)
|
||
+ set(BSL_TEST_SOURCES "${testname}.cpp")
|
||
+ else(NOT BSL_TEST_DEFAULT_ARGS)
|
||
+ set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}")
|
||
+ endif(NOT BSL_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ if (BSL_TEST_POLYMORPHIC)
|
||
+ set(BSL_TEST_POLY "polymorphic_")
|
||
+ elseif(BSL_TEST_POLYMORPHIC)
|
||
+ set(BSL_TEST_POLY "")
|
||
+ endif(BSL_TEST_POLYMORPHIC)
|
||
+
|
||
+ set(BSL_TEST_LIBRARIES)
|
||
+ if(NOT BSL_NO_LIBS)
|
||
+ set(BSL_TEST_LIBRARIES "boost_serialization")
|
||
+ endif(NOT BSL_NO_LIBS)
|
||
+
|
||
+ # Tests linking against the static serialization library
|
||
+ boost_test_run("${testname}"
|
||
+ ${BSL_TEST_SOURCES}
|
||
+ STATIC
|
||
+ DEPENDS ${BSL_TEST_LIBRARIES}
|
||
+ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1")
|
||
+
|
||
+ # Tests linking against the shared serialization library
|
||
+ boost_test_run("${testname}_dll"
|
||
+ ${BSL_TEST_SOURCES}
|
||
+ SHARED
|
||
+ DEPENDS ${BSL_TEST_LIBRARIES}
|
||
+ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1")
|
||
+endmacro(serialization_test)
|
||
+
|
||
+# Like serialization_test, but runs the same test for all archive types.
|
||
+macro(serialization_test_allarchives testname)
|
||
+ parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN})
|
||
+
|
||
+ if(NOT BSL_TEST_DEFAULT_ARGS)
|
||
+ set(BSL_TEST_SOURCES "${testname}.cpp")
|
||
+ else(NOT BSL_TEST_DEFAULT_ARGS)
|
||
+ set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}")
|
||
+ endif(NOT BSL_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ if (BSL_TEST_POLYMORPHIC)
|
||
+ set(BSL_TEST_POLY "polymorphic_")
|
||
+ elseif(BSL_TEST_POLYMORPHIC)
|
||
+ set(BSL_TEST_POLY "")
|
||
+ endif(BSL_TEST_POLYMORPHIC)
|
||
+
|
||
+ foreach(ARCHIVE ${BOOST_ARCHIVE_LIST})
|
||
+ set(BSL_TEST_LIBRARIES)
|
||
+ if(NOT BSL_NO_LIBS)
|
||
+ set(BSL_TEST_LIBRARIES "boost_serialization")
|
||
+ if(ARCHIVE MATCHES ".*warchive")
|
||
+ set(BSL_TEST_LIBRARIES "boost_wserialization" ${BSL_TEST_LIBRARIES})
|
||
+ endif(ARCHIVE MATCHES ".*warchive")
|
||
+ endif(NOT BSL_NO_LIBS)
|
||
+
|
||
+ # Tests linking against the static serialization library
|
||
+ boost_test_run("${testname}_${ARCHIVE}"
|
||
+ ${BSL_TEST_SOURCES}
|
||
+ STATIC
|
||
+ DEPENDS ${BSL_TEST_LIBRARIES}
|
||
+ COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1")
|
||
+
|
||
+ # Tests linking against the shared serialization library
|
||
+ boost_test_run("${testname}_${ARCHIVE}_dll"
|
||
+ ${BSL_TEST_SOURCES}
|
||
+ SHARED
|
||
+ DEPENDS ${BSL_TEST_LIBRARIES}
|
||
+ COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1")
|
||
+ endforeach(ARCHIVE ${BOOST_ARCHIVE_LIST})
|
||
+endmacro(serialization_test_allarchives)
|
||
+
|
||
+boost_additional_test_dependencies(serialization BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+serialization_test_allarchives(test_array test_array.cpp A.cpp)
|
||
+serialization_test_allarchives(test_binary)
|
||
+serialization_test_allarchives(test_complex)
|
||
+serialization_test_allarchives(test_contained_class test_contained_class.cpp A.cpp)
|
||
+serialization_test_allarchives(test_cyclic_ptrs test_cyclic_ptrs.cpp A.cpp)
|
||
+serialization_test_allarchives(test_delete_pointer)
|
||
+serialization_test_allarchives(test_deque test_deque.cpp A.cpp)
|
||
+# serialization_test_allarchives(test_derived)
|
||
+serialization_test_allarchives(test_derived_class test_derived_class.cpp A.cpp)
|
||
+serialization_test_allarchives(test_derived_class_ptr test_derived_class_ptr.cpp A.cpp)
|
||
+serialization_test_allarchives(test_diamond)
|
||
+serialization_test_allarchives(test_exported test_exported.cpp polymorphic_base.cpp)
|
||
+serialization_test_allarchives(test_class_info_save)
|
||
+serialization_test_allarchives(test_class_info_load)
|
||
+serialization_test_allarchives(test_object)
|
||
+serialization_test_allarchives(test_primitive)
|
||
+serialization_test_allarchives(test_list test_list.cpp A.cpp)
|
||
+serialization_test_allarchives(test_list_ptrs test_list_ptrs.cpp A.cpp)
|
||
+serialization_test_allarchives(test_map test_map.cpp A.cpp)
|
||
+serialization_test_allarchives(test_mi)
|
||
+serialization_test_allarchives(test_multiple_ptrs test_multiple_ptrs.cpp A.cpp)
|
||
+serialization_test_allarchives(test_no_rtti test_no_rtti.cpp
|
||
+ polymorphic_base.cpp polymorphic_derived1.cpp polymorphic_derived2.cpp)
|
||
+serialization_test_allarchives(test_non_intrusive)
|
||
+serialization_test_allarchives(test_non_default_ctor)
|
||
+serialization_test_allarchives(test_non_default_ctor2)
|
||
+serialization_test_allarchives(test_null_ptr)
|
||
+serialization_test_allarchives(test_nvp test_nvp.cpp A.cpp)
|
||
+serialization_test_allarchives(test_recursion test_recursion.cpp A.cpp)
|
||
+serialization_test_allarchives(test_registered)
|
||
+serialization_test_allarchives(test_set test_set.cpp A.cpp)
|
||
+serialization_test_allarchives(test_simple_class test_simple_class.cpp A.cpp)
|
||
+serialization_test_allarchives(test_simple_class_ptr test_simple_class_ptr.cpp A.cpp)
|
||
+serialization_test_allarchives(test_split)
|
||
+serialization_test_allarchives(test_tracking)
|
||
+serialization_test_allarchives(test_unregistered)
|
||
+serialization_test_allarchives(test_valarray)
|
||
+serialization_test_allarchives(test_variant test_variant.cpp A.cpp)
|
||
+serialization_test_allarchives(test_vector test_vector.cpp A.cpp)
|
||
+serialization_test_allarchives(test_optional)
|
||
+serialization_test_allarchives(test_shared_ptr)
|
||
+serialization_test_allarchives(test_shared_ptr_132)
|
||
+serialization_test_allarchives(test_polymorphic POLYMORPHIC
|
||
+ test_polymorphic.cpp test_polymorphic_A.cpp A.cpp)
|
||
+
|
||
+serialization_test(test_private_ctor)
|
||
+serialization_test(test_reset_object_address test_reset_object_address.cpp A.cpp)
|
||
+serialization_test(test_void_cast)
|
||
+serialization_test(test_mult_archive_types)
|
||
+
|
||
+serialization_test(test_iterators NO_LIBS)
|
||
+serialization_test(test_iterators_base64 NO_LIBS)
|
||
+serialization_test(test_inclusion NO_LIBS)
|
||
+serialization_test(test_smart_cast NO_LIBS)
|
||
+
|
||
+serialization_test(test_utf8_codecvt
|
||
+ test_utf8_codecvt.cpp ../src/utf8_codecvt_facet.cpp NO_LIBS)
|
||
+
|
||
+serialization_test(test_serialization_iterators test_iterators.cpp NO_LIBS)
|
||
+serialization_test(test_static_warning NO_LIBS)
|
||
+serialization_test(test_codecvt_null
|
||
+ test_codecvt_null.cpp ../src/codecvt_null.cpp NO_LIBS)
|
||
+
|
||
+# should fail compilation
|
||
+boost_test_compile_fail(test_not_serializable)
|
||
+boost_test_compile_fail(test_traits_fail)
|
||
+boost_test_compile_fail(test_const_load_fail1)
|
||
+boost_test_compile_fail(test_const_load_fail2)
|
||
+boost_test_compile_fail(test_const_load_fail3)
|
||
+boost_test_compile_fail(test_const_load_fail1_nvp)
|
||
+boost_test_compile_fail(test_const_load_fail2_nvp)
|
||
+boost_test_compile_fail(test_const_load_fail3_nvp)
|
||
+
|
||
+boost_test_compile(test_static_warning)
|
||
+boost_test_compile(test_const_save_warn1)
|
||
+boost_test_compile(test_const_save_warn2)
|
||
+boost_test_compile(test_const_save_warn3)
|
||
+
|
||
+# note - library unable to detect there errors for now
|
||
+#boost_test_compile_fail(test_const_save_fail1_nvp)
|
||
+#boost_test_compile_fail(test_const_save_fail2_nvp)
|
||
+#boost_test_compile_fail(test_const_save_fail3_nvp)
|
||
+
|
||
+# should compile
|
||
+boost_test_compile(test_traits_pass)
|
||
+boost_test_compile(test_const_pass)
|
||
diff --git a/libs/signals/CMakeLists.txt b/libs/signals/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b8cb463
|
||
--- /dev/null
|
||
+++ b/libs/signals/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ signals.hpp
|
||
+ signal.hpp
|
||
+ signals
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ signals
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Managed signals & slots callback implementation."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Douglas Gregor <doug.gregor -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/signals/module.cmake b/libs/signals/module.cmake
|
||
new file mode 100644
|
||
index 0000000..0c18da8
|
||
--- /dev/null
|
||
+++ b/libs/signals/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(signals DEPENDS smart_ptr any intrusive bind)
|
||
+
|
||
+# bind is here due to a dependency on /boost/mem_fn.hpp
|
||
diff --git a/libs/signals/src/CMakeLists.txt b/libs/signals/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d4d4769
|
||
--- /dev/null
|
||
+++ b/libs/signals/src/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DBOOST_SIGNALS_NO_LIB=1)
|
||
+
|
||
+boost_add_library(
|
||
+ signals
|
||
+ trackable.cpp connection.cpp named_slot_map.cpp signal_base.cpp slot.cpp
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_SIGNALS_DYN_LINK=1"
|
||
+ )
|
||
diff --git a/libs/signals/test/CMakeLists.txt b/libs/signals/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..91c513b
|
||
--- /dev/null
|
||
+++ b/libs/signals/test/CMakeLists.txt
|
||
@@ -0,0 +1,15 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)
|
||
+
|
||
+
|
||
+boost_test_run(dead_slot_test DEPENDS boost_signals)
|
||
+boost_test_run(deletion_test DEPENDS boost_signals)
|
||
+boost_test_run(ordering_test DEPENDS boost_signals)
|
||
+boost_test_run(signal_n_test DEPENDS boost_signals)
|
||
+boost_test_run(signal_test DEPENDS boost_signals)
|
||
+boost_test_run(trackable_test DEPENDS boost_signals)
|
||
diff --git a/libs/signals2/CMakeLists.txt b/libs/signals2/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1e7910d
|
||
--- /dev/null
|
||
+++ b/libs/signals2/CMakeLists.txt
|
||
@@ -0,0 +1,19 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ signals2
|
||
+ TESTDIRS test
|
||
+ HEADERS signals2.hpp signals2
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "The Boost.Signals2 library is an implementation of a managed signals and slots system. Signals represent callbacks with multiple targets, and are also called publishers or events in similar systems. Signals are connected to some set of slots, which are callback receivers (also called event targets or subscribers), which are called when the signal is \"emitted.\""
|
||
+ MODULARIZED
|
||
+ AUTHORS "Frank Mori Hess <fmhess -at- users.sourceforge.net>"
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/signals2/module.cmake b/libs/signals2/module.cmake
|
||
new file mode 100644
|
||
index 0000000..7b720d8
|
||
--- /dev/null
|
||
+++ b/libs/signals2/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(signals2 DEPENDS thread)
|
||
\ No newline at end of file
|
||
diff --git a/libs/signals2/test/CMakeLists.txt b/libs/signals2/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5e0b610
|
||
--- /dev/null
|
||
+++ b/libs/signals2/test/CMakeLists.txt
|
||
@@ -0,0 +1,26 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+foreach(test
|
||
+ connection_test
|
||
+ dead_slot_test
|
||
+ deconstruct_test
|
||
+ deletion_test
|
||
+ ordering_test
|
||
+ regression_test
|
||
+ shared_connection_block_test
|
||
+ signal_n_test
|
||
+ signal_test
|
||
+ signal_type_test
|
||
+ slot_compile_test
|
||
+ trackable_test
|
||
+ track_test
|
||
+ )
|
||
+ boost_test_run(${test} DEPENDS boost_test_exec_monitor)
|
||
+endforeach()
|
||
+
|
||
+boost_test_run(mutex_test DEPENDS boost_thread)
|
||
+boost_test_run(threading_models_test DEPENDS boost_thread)
|
||
diff --git a/libs/smart_ptr/CMakeLists.txt b/libs/smart_ptr/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1c039fc
|
||
--- /dev/null
|
||
+++ b/libs/smart_ptr/CMakeLists.txt
|
||
@@ -0,0 +1,36 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ enable_shared_from_this.hpp
|
||
+ pointer_cast.hpp
|
||
+ scoped_array.hpp
|
||
+ scoped_ptr.hpp
|
||
+ shared_array.hpp
|
||
+ shared_ptr.hpp
|
||
+ weak_ptr.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ smart_ptr
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Five smart pointer class templates."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Greg Colvin"
|
||
+ "Beman Dawes <bdawes -at- acm.org>"
|
||
+ "Peter Dimov <pdimov -at- mmltd.net>"
|
||
+ "Darin Adler"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/smart_ptr/module.cmake b/libs/smart_ptr/module.cmake
|
||
new file mode 100644
|
||
index 0000000..d83266c
|
||
--- /dev/null
|
||
+++ b/libs/smart_ptr/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(smart_ptr DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/smart_ptr/test/CMakeLists.txt b/libs/smart_ptr/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b89394e
|
||
--- /dev/null
|
||
+++ b/libs/smart_ptr/test/CMakeLists.txt
|
||
@@ -0,0 +1,56 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test intrusive)
|
||
+
|
||
+
|
||
+boost_test_run(smart_ptr_test)
|
||
+boost_test_run(shared_ptr_basic_test)
|
||
+boost_test_run(shared_ptr_test)
|
||
+boost_test_run(weak_ptr_test)
|
||
+boost_test_run(shared_from_this_test)
|
||
+boost_test_run(get_deleter_test)
|
||
+boost_test_run(intrusive_ptr_test)
|
||
+boost_test_run(atomic_count_test)
|
||
+boost_test_run(lw_mutex_test)
|
||
+boost_test_compile_fail(shared_ptr_assign_fail)
|
||
+boost_test_compile_fail(shared_ptr_delete_fail)
|
||
+boost_test_compile_fail(shared_ptr_compare_fail)
|
||
+boost_test_run(shared_ptr_alloc2_test)
|
||
+boost_test_run(pointer_cast_test)
|
||
+boost_test_compile(pointer_to_other_test)
|
||
+boost_test_run(auto_ptr_rv_test)
|
||
+boost_test_run(shared_ptr_alias_test)
|
||
+boost_test_run(shared_ptr_rv_test)
|
||
+boost_test_run(shared_ptr_move_test)
|
||
+boost_test_compile_fail(shared_ptr_pv_fail)
|
||
+boost_test_run(sp_unary_addr_test)
|
||
+boost_test_compile_fail(scoped_ptr_eq_fail)
|
||
+boost_test_compile_fail(scoped_array_eq_fail)
|
||
+boost_test_run(esft_regtest)
|
||
+boost_test_run(yield_k_test)
|
||
+message(STATUS "!!!> yield_k_test multhreaded")
|
||
+boost_test_run(spinlock_test)
|
||
+boost_test_run(spinlock_try_test)
|
||
+message(STATUS "!!!> spinlock_try_test multithreaded")
|
||
+boost_test_run(spinlock_pool_test)
|
||
+boost_test_run(make_shared_test)
|
||
+boost_test_run(sp_convertible_test)
|
||
+boost_test_run(wp_convertible_test)
|
||
+boost_test_run(ip_convertible_test)
|
||
+boost_test_run(allocate_shared_test)
|
||
+boost_test_run(sp_atomic_test)
|
||
+boost_test_run(esft_void_test)
|
||
+boost_test_run(esft_second_ptr_test)
|
||
+boost_test_run(make_shared_esft_test)
|
||
+boost_test_run(allocate_shared_esft_test)
|
||
+boost_test_run(sp_recursive_assign_test)
|
||
+boost_test_run(sp_recursive_assign2_test)
|
||
+boost_test_run(sp_recursive_assign_rv_test)
|
||
+boost_test_run(sp_recursive_assign2_rv_test)
|
||
+boost_test_compile_fail(auto_ptr_lv_fail)
|
||
+boost_test_run(atomic_count_test2)
|
||
+
|
||
diff --git a/libs/spirit/CMakeLists.txt b/libs/spirit/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d70794c
|
||
--- /dev/null
|
||
+++ b/libs/spirit/CMakeLists.txt
|
||
@@ -0,0 +1,46 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ spirit.hpp
|
||
+ spirit
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ spirit
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ EXAMPLEDIRS
|
||
+ example/qi/calc6
|
||
+ example/qi/calc7
|
||
+ example/qi
|
||
+ example/qi/mini_c
|
||
+ example/lex/static_lexer
|
||
+ example/lex
|
||
+ example/karma
|
||
+ example/support
|
||
+ # example/scheme/test/qi
|
||
+ example/scheme/test/utree
|
||
+ example/scheme/test/scheme
|
||
+ example/scheme/example/sexpr
|
||
+ # example/scheme/example/generate_qiexpr
|
||
+ example/scheme/example/scheme
|
||
+ # example/scheme/example/parse_qiexpr
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "LL parser framework represents parsers directly as EBNF grammars in inlined C++."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
|
||
+ "Hartmut Kaiser <hartmut.kaiser -at- gmail.com>"
|
||
+ "Dan Nuffer"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/spirit/example/karma/CMakeLists.txt b/libs/spirit/example/karma/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..eefcf36
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/karma/CMakeLists.txt
|
||
@@ -0,0 +1,37 @@
|
||
+foreach(
|
||
+ example
|
||
+ complex_number
|
||
+ # complex_number_adapt
|
||
+ # calc2_ast_dump
|
||
+ generate_code
|
||
+ quick_start1
|
||
+ customize_use_as_container
|
||
+ # printf_style_double_format
|
||
+ num_list1
|
||
+ num_list2
|
||
+ num_list3
|
||
+ classify_char
|
||
+ customize_counter
|
||
+ # calc2_ast_vm
|
||
+ # simple_columns_directive
|
||
+ escaped_string
|
||
+ reorder_struct
|
||
+ actions
|
||
+ complex_number_easier
|
||
+ # auto_facilities
|
||
+ num_matrix
|
||
+ customize_embedded_container
|
||
+ # reference
|
||
+ mini_xml_karma
|
||
+ key_value_sequence
|
||
+ quoted_strings
|
||
+ # calc2_ast_rpn
|
||
+ # basic_facilities
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ TARGET_PREFIX
|
||
+ "karma-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/lex/CMakeLists.txt b/libs/spirit/example/lex/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4219473
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/lex/CMakeLists.txt
|
||
@@ -0,0 +1,25 @@
|
||
+foreach(
|
||
+ example
|
||
+ word_count_functor_flex
|
||
+ #word_count
|
||
+ #word_count_lexer
|
||
+ #strip_comments
|
||
+ #strip_comments_lexer
|
||
+ #example1
|
||
+ #example2
|
||
+ #example3
|
||
+ #example4
|
||
+ #example5
|
||
+ #example6
|
||
+ reference
|
||
+ #custom_token_attribute
|
||
+ #print_numbers
|
||
+ #word_count_functor
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ TARGET_PREFIX
|
||
+ "lex-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/lex/static_lexer/CMakeLists.txt b/libs/spirit/example/lex/static_lexer/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2d6903c
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/lex/static_lexer/CMakeLists.txt
|
||
@@ -0,0 +1,12 @@
|
||
+foreach(
|
||
+ example
|
||
+ word_count_lexer_generate
|
||
+ word_count_generate
|
||
+ word_count_lexer_static
|
||
+ word_count_static
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/qi/CMakeLists.txt b/libs/spirit/example/qi/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ccb61c5
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/qi/CMakeLists.txt
|
||
@@ -0,0 +1,43 @@
|
||
+foreach(
|
||
+ example
|
||
+ employee
|
||
+ complex_number
|
||
+ mini_xml1
|
||
+ mini_xml2
|
||
+ mini_xml3
|
||
+ porting_guide_qi
|
||
+ key_value_sequence_empty_value
|
||
+ parse_date
|
||
+ # adapt_template_struct
|
||
+ num_list1
|
||
+ num_list2
|
||
+ num_list3
|
||
+ num_list4
|
||
+ calc2_ast
|
||
+ iter_pos_parser
|
||
+ display_attribute_type
|
||
+ reorder_struct
|
||
+ key_value_sequence_ordered
|
||
+ sum
|
||
+ actions
|
||
+ calc1
|
||
+ calc2
|
||
+ calc3
|
||
+ calc4
|
||
+ calc5
|
||
+ calc4_debug
|
||
+ # reference
|
||
+ # boost_array
|
||
+ roman
|
||
+ nabialek
|
||
+ typeof
|
||
+ key_value_sequence
|
||
+ porting_guide_classic
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ TARGET_PREFIX
|
||
+ "qi-"
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/qi/calc6/CMakeLists.txt b/libs/spirit/example/qi/calc6/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d1bd010
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/qi/calc6/CMakeLists.txt
|
||
@@ -0,0 +1,7 @@
|
||
+boost_add_executable(
|
||
+ calc6
|
||
+ calc6.cpp
|
||
+ calc6a.cpp
|
||
+ calc6b.cpp
|
||
+ calc6c.cpp
|
||
+)
|
||
diff --git a/libs/spirit/example/qi/calc7/CMakeLists.txt b/libs/spirit/example/qi/calc7/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f967fe4
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/qi/calc7/CMakeLists.txt
|
||
@@ -0,0 +1,7 @@
|
||
+boost_add_executable(
|
||
+ calc7
|
||
+ calc7.cpp
|
||
+ calc7a.cpp
|
||
+ calc7b.cpp
|
||
+ calc7c.cpp
|
||
+)
|
||
diff --git a/libs/spirit/example/qi/mini_c/CMakeLists.txt b/libs/spirit/example/qi/mini_c/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8ddb7d6
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/qi/mini_c/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+boost_add_executable(
|
||
+ mini_c
|
||
+ mini_c.cpp
|
||
+ mini_ca.cpp
|
||
+ mini_cb.cpp
|
||
+ mini_cc.cpp
|
||
+ mini_cd.cpp
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..1008458
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt
|
||
@@ -0,0 +1,7 @@
|
||
+boost_add_executable(
|
||
+ generate_qi_test
|
||
+ generate_qi_test.cpp
|
||
+ generate_qiexpr.cpp
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5f361e8
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+boost_add_executable(
|
||
+ parse_qi_test
|
||
+ parse_qi_test.cpp
|
||
+ generate_sexpr_to_ostream.cpp
|
||
+ parse_qiexpr.cpp
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/example/scheme/CMakeLists.txt b/libs/spirit/example/scheme/example/scheme/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ca7c00e
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/example/scheme/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ try_scheme
|
||
+ factorial1
|
||
+ factorial2
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f8f0aeb
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ # sexpr_output_test
|
||
+ sexpr_input_test
|
||
+ sexpr_error_test
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/test/qi/CMakeLists.txt b/libs/spirit/example/scheme/test/qi/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..376b5a6
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/test/qi/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+foreach(
|
||
+ example
|
||
+ qi_interpreter
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/test/scheme/CMakeLists.txt b/libs/spirit/example/scheme/test/scheme/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5063398
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/test/scheme/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+foreach(
|
||
+ example
|
||
+ scheme_test1
|
||
+ scheme_test2
|
||
+ scheme_test3
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/scheme/test/utree/CMakeLists.txt b/libs/spirit/example/scheme/test/utree/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9b058dd
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/scheme/test/utree/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+foreach(
|
||
+ example
|
||
+ utree_test
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+ COMPILE_FLAGS
|
||
+ "-I../.."
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/example/support/CMakeLists.txt b/libs/spirit/example/support/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..725363f
|
||
--- /dev/null
|
||
+++ b/libs/spirit/example/support/CMakeLists.txt
|
||
@@ -0,0 +1,9 @@
|
||
+foreach(
|
||
+ example
|
||
+ multi_pass
|
||
+)
|
||
+boost_add_executable(
|
||
+ ${example}
|
||
+)
|
||
+endforeach(
|
||
+)
|
||
diff --git a/libs/spirit/module.cmake b/libs/spirit/module.cmake
|
||
new file mode 100644
|
||
index 0000000..895f666
|
||
--- /dev/null
|
||
+++ b/libs/spirit/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(spirit DEPENDS xpressive optional foreach array unordered pool)
|
||
\ No newline at end of file
|
||
diff --git a/libs/spirit/test/CMakeLists.txt b/libs/spirit/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..46265c9
|
||
--- /dev/null
|
||
+++ b/libs/spirit/test/CMakeLists.txt
|
||
@@ -0,0 +1,121 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(spirit
|
||
+ BOOST_DEPENDS
|
||
+ test variant function_types intrusive
|
||
+ lambda assign iostreams math random dynamic_bitset fusion
|
||
+ )
|
||
+
|
||
+set( test_compile_flags "")
|
||
+
|
||
+if(CMAKE_COMPILER_IS_GNUCC)
|
||
+ set(test_compile_flags "-ftemplate-depth-300")
|
||
+endif()
|
||
+
|
||
+
|
||
+boost_test_run(qi_actions qi/actions.cpp COMPILE_FLAGS ${test_compile_flags} BOOST_LIB spirit COMPILE_FLAGS ${test_compile_flags} )
|
||
+
|
||
+foreach(qi_run_test
|
||
+ char
|
||
+ char_class
|
||
+ lit
|
||
+ int
|
||
+ uint
|
||
+ real
|
||
+ eps
|
||
+ lazy
|
||
+ tst
|
||
+ symbols
|
||
+ range_run
|
||
+ no_case
|
||
+ lexeme
|
||
+ raw
|
||
+ sequence
|
||
+ alternative
|
||
+ sequential_or
|
||
+ permutation
|
||
+ difference
|
||
+ list
|
||
+ optional
|
||
+ kleene
|
||
+ plus
|
||
+ and_predicate
|
||
+ not_predicate
|
||
+ expect
|
||
+ rule
|
||
+ grammar
|
||
+ match_manip
|
||
+ binary
|
||
+ debug
|
||
+ end)
|
||
+ boost_test_run(qi_${qi_run_test} qi/${qi_run_test}.cpp COMPILE_FLAGS ${test_compile_flags})
|
||
+endforeach()
|
||
+
|
||
+foreach(qi_compile_fail_test
|
||
+ qi_grammar_fail
|
||
+ qi_rule_fail)
|
||
+ boost_test_compile_fail(${qi_compile_fail_test} qi/${qi_compiler_fail_test}.cpp
|
||
+ COMPILE_FLAGS ${test_compile_flags})
|
||
+endforeach()
|
||
+
|
||
+foreach(karma_run_test
|
||
+ actions
|
||
+ alternative
|
||
+ binary
|
||
+ case_handling
|
||
+ center_alignment
|
||
+ char
|
||
+ delimiter
|
||
+ eol
|
||
+ eps
|
||
+ format_manip
|
||
+ grammar
|
||
+ int_numerics
|
||
+ kleene
|
||
+ lazy
|
||
+ left_alignment
|
||
+ list
|
||
+ lit
|
||
+ optional
|
||
+ pattern
|
||
+ real_numerics
|
||
+ right_alignment
|
||
+ sequence)
|
||
+ boost_test_run(karma_${karma_run_test} karma/${karma_run_test}.cpp COMPILE_FLAGS ${test_compile_flags})
|
||
+endforeach()
|
||
+
|
||
+foreach(karma_compile_fail_test
|
||
+ karma_grammar_fail
|
||
+ karma_rule_fail)
|
||
+ boost_test_compile_fail(${karma_compile_fail_test}
|
||
+ karma/${karma_compile_fail_test}.cpp
|
||
+ COMPILE_FLAGS ${test_compile_flags})
|
||
+endforeach()
|
||
+
|
||
+# boost_test_run(support_hold_any support/hold_any.cpp COMPILE_FLAGS ${test_compile_flags})
|
||
+
|
||
+# the multi_pass tests are not completed yet
|
||
+# [ run support/multi_pass_compile.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ]
|
||
+# [ run support/multi_pass.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ]
|
||
+
|
||
+if(CMAKE_COMPILER_IS_INTEL)
|
||
+ list(APPEND test_compile_flags "-no-vec")
|
||
+endif()
|
||
+
|
||
+foreach(lex_run_test
|
||
+ lexertl1
|
||
+ lexertl2
|
||
+ lexertl3
|
||
+ lexertl4
|
||
+ lexertl5
|
||
+ state_switcher_test)
|
||
+ boost_test_run(lex_${lex_run_test} lex/${lex_run_test}.cpp
|
||
+ COMPILE_FLAGS ${test_compile_flags})
|
||
+endforeach()
|
||
+
|
||
+
|
||
+
|
||
diff --git a/libs/statechart/CMakeLists.txt b/libs/statechart/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7f97e3b
|
||
--- /dev/null
|
||
+++ b/libs/statechart/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ statechart
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ statechart
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test example
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Andreas Huber <ahd6974-boostorg -at- yahoo.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/statechart/example/CMakeLists.txt b/libs/statechart/example/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2a6281e
|
||
--- /dev/null
|
||
+++ b/libs/statechart/example/CMakeLists.txt
|
||
@@ -0,0 +1,31 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+macro(statechart_example TESTNAME)
|
||
+ set(SOURCES)
|
||
+ foreach(ARG ${ARGN})
|
||
+ set(SOURCES ${SOURCES} "${TESTNAME}/${ARG}.cpp")
|
||
+ endforeach(ARG ${ARGN})
|
||
+
|
||
+ if (NOT SOURCES)
|
||
+ set(SOURCES "${TESTNAME}/${TESTNAME}.cpp")
|
||
+ endif ()
|
||
+
|
||
+ boost_test_link("${TESTNAME}Example"
|
||
+ ${SOURCES}
|
||
+ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS"
|
||
+ )
|
||
+endmacro(statechart_example)
|
||
+
|
||
+statechart_example(BitMachine)
|
||
+#statechart_example(Camera
|
||
+# : Camera : Camera Configuring Main Shooting)
|
||
+#statechart_example(Handcrafted : Handcrafted : Handcrafted)
|
||
+#statechart_example(Keyboard : Keyboard : Keyboard :)
|
||
+#statechart_example(Performance : Performance : Performance)
|
||
+#statechart_example(PingPong : PingPong : PingPong)
|
||
+#statechart_example(StopWatch : StopWatch : StopWatch)
|
||
+#statechart_example(StopWatch2 : StopWatch : StopWatch2) ;
|
||
diff --git a/libs/statechart/module.cmake b/libs/statechart/module.cmake
|
||
new file mode 100644
|
||
index 0000000..9462b13
|
||
--- /dev/null
|
||
+++ b/libs/statechart/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module (statechart DEPENDS type_traits mpl static_assert intrusive smart_ptr bind function numeric)
|
||
diff --git a/libs/statechart/test/CMakeLists.txt b/libs/statechart/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a661a74
|
||
--- /dev/null
|
||
+++ b/libs/statechart/test/CMakeLists.txt
|
||
@@ -0,0 +1,93 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(statechart BOOST_DEPENDS test numeric)
|
||
+
|
||
+
|
||
+
|
||
+macro(statechart_compile_fail TESTNAME)
|
||
+ boost_test_compile_fail("${TESTNAME}Normal"
|
||
+ ${TESTNAME}.cpp
|
||
+ )
|
||
+ boost_test_compile_fail("${TESTNAME}Native"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI"
|
||
+ )
|
||
+ boost_test_compile_fail("${TESTNAME}Relaxed"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
|
||
+ )
|
||
+ boost_test_compile_fail("${TESTNAME}Both"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
|
||
+ )
|
||
+endmacro(statechart_compile_fail)
|
||
+
|
||
+macro(statechart_run TESTNAME)
|
||
+ boost_test_run("${TESTNAME}Normal"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS"
|
||
+ DEPENDS boost_test_exec_monitor
|
||
+ )
|
||
+ boost_test_run("${TESTNAME}Native"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI"
|
||
+ DEPENDS boost_test_exec_monitor
|
||
+ )
|
||
+ boost_test_run("${TESTNAME}Relaxed"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
|
||
+ DEPENDS boost_test_exec_monitor
|
||
+ )
|
||
+ boost_test_run("${TESTNAME}Both"
|
||
+ ${TESTNAME}.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
|
||
+ DEPENDS boost_test_exec_monitor
|
||
+ )
|
||
+endmacro(statechart_run)
|
||
+
|
||
+
|
||
+statechart_compile_fail(InvalidChartTest1)
|
||
+statechart_compile_fail(InvalidChartTest2)
|
||
+statechart_compile_fail(InvalidChartTest3)
|
||
+statechart_run(TransitionTest)
|
||
+statechart_compile_fail(InvalidTransitionTest1)
|
||
+statechart_compile_fail(InvalidTransitionTest2)
|
||
+statechart_run(InStateReactionTest)
|
||
+statechart_run(TerminationTest)
|
||
+statechart_run(DeferralTest)
|
||
+statechart_run(CustomReactionTest)
|
||
+statechart_compile_fail(InvalidResultAssignTest)
|
||
+statechart_compile_fail(InvalidResultDefCtorTest)
|
||
+statechart_run(InvalidResultCopyTest)
|
||
+statechart_run(UnconsumedResultTest)
|
||
+statechart_run(HistoryTest)
|
||
+statechart_compile_fail(InconsistentHistoryTest1)
|
||
+statechart_compile_fail(InconsistentHistoryTest2)
|
||
+statechart_compile_fail(InconsistentHistoryTest3)
|
||
+statechart_compile_fail(InconsistentHistoryTest4)
|
||
+statechart_compile_fail(InconsistentHistoryTest5)
|
||
+statechart_compile_fail(InconsistentHistoryTest6)
|
||
+statechart_compile_fail(InconsistentHistoryTest7)
|
||
+statechart_compile_fail(InconsistentHistoryTest8)
|
||
+statechart_compile_fail(UnsuppDeepHistoryTest)
|
||
+statechart_run(StateCastTest)
|
||
+statechart_run(TypeInfoTest)
|
||
+statechart_run(StateIterationTest)
|
||
+statechart_run(FifoSchedulerTest)
|
||
+
|
||
+message(STATUS "Statechart Testing needs intermediate libraries created")
|
||
+# TODO: We need to create some libraries (just for testing!?), then link
|
||
+# and run tests against them. Ick.
|
||
+#statechart-st-lib-run LibTestNormal
|
||
+# : TuTestMain : TuTest : <link>static $(normal))
|
||
+#statechart-st-lib-run LibTestNative
|
||
+# : TuTestMain : TuTest : <link>static $(native))
|
||
+#statechart-st-lib-run DllTestNormal
|
||
+# : TuTestMain : TuTest : <link>shared $(normal))
|
||
+#statechart-st-lib-run DllTestNative
|
||
+# : TuTestMain : TuTest : <link>shared $(native))
|
||
+
|
||
diff --git a/libs/static_assert/CMakeLists.txt b/libs/static_assert/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..dbc799c
|
||
--- /dev/null
|
||
+++ b/libs/static_assert/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ static_assert.hpp
|
||
+
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ static_assert
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/static_assert/module.cmake b/libs/static_assert/module.cmake
|
||
new file mode 100644
|
||
index 0000000..e68fe53
|
||
--- /dev/null
|
||
+++ b/libs/static_assert/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(static_assert DEPENDS config detail)
|
||
\ No newline at end of file
|
||
diff --git a/libs/static_assert/test/CMakeLists.txt b/libs/static_assert/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a9afaf2
|
||
--- /dev/null
|
||
+++ b/libs/static_assert/test/CMakeLists.txt
|
||
@@ -0,0 +1,19 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_test_run(static_assert_test ../static_assert_test.cpp)
|
||
+boost_test_run(static_assert_example_2 ../static_assert_example_2.cpp)
|
||
+boost_test_run(static_assert_example_3 ../static_assert_example_3.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_1 ../static_assert_test_fail_1.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_2 ../static_assert_test_fail_2.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_3 ../static_assert_test_fail_3.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_4 ../static_assert_test_fail_4.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_5 ../static_assert_test_fail_5.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_6 ../static_assert_test_fail_6.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_7 ../static_assert_test_fail_7.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_8 ../static_assert_test_fail_8.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_9 ../static_assert_test_fail_9.cpp)
|
||
+boost_test_compile_fail(static_assert_test_fail_10 ../static_assert_test_fail_10.cpp)
|
||
diff --git a/libs/system/CMakeLists.txt b/libs/system/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b4f92f3
|
||
--- /dev/null
|
||
+++ b/libs/system/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ system
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ system
|
||
+ SRCDIRS src
|
||
+ # TESTDIRS
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/system/module.cmake b/libs/system/module.cmake
|
||
new file mode 100644
|
||
index 0000000..9a50a96
|
||
--- /dev/null
|
||
+++ b/libs/system/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(system DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/system/src/CMakeLists.txt b/libs/system/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..66f7c9f
|
||
--- /dev/null
|
||
+++ b/libs/system/src/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(
|
||
+ system
|
||
+ error_code.cpp
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_SYSTEM_DYN_LINK=1"
|
||
+ STATIC_COMPILE_FLAGS "-DBOOST_SYSTEM_STATIC_LINK=1"
|
||
+ )
|
||
+
|
||
diff --git a/libs/test/CMakeLists.txt b/libs/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..556dbbc
|
||
--- /dev/null
|
||
+++ b/libs/test/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ test
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ test
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Support for simple program testing, full unit testing, and for program execution monitoring."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Gennadiy Rozental <gennadiy.rozental -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/test/module.cmake b/libs/test/module.cmake
|
||
new file mode 100644
|
||
index 0000000..39ee26e
|
||
--- /dev/null
|
||
+++ b/libs/test/module.cmake
|
||
@@ -0,0 +1,5 @@
|
||
+#
|
||
+# module.cmake for test
|
||
+#
|
||
+boost_module(test DEPENDS smart_ptr timer io bind numeric)
|
||
+
|
||
diff --git a/libs/test/src/CMakeLists.txt b/libs/test/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..45ec7c6
|
||
--- /dev/null
|
||
+++ b/libs/test/src/CMakeLists.txt
|
||
@@ -0,0 +1,70 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# Test library configuration
|
||
+# add_definitions(-DBOOST_TEST_NO_AUTO_LINK=1)
|
||
+
|
||
+# Compiler-specific configuration
|
||
+set(BOOST_SHARED_COMPILE_FLAGS "")
|
||
+if(MSVC)
|
||
+ add_definitions(/EHac)
|
||
+ set(BOOST_SHARED_COMPILE_FLAGS "${BOOST_SHARED_COMPILE_FLAGS} -wd4275")
|
||
+endif(MSVC)
|
||
+
|
||
+if (BORLAND)
|
||
+ add_definitions(-w-8080)
|
||
+endif(BORLAND)
|
||
+
|
||
+boost_add_library(prg_exec_monitor
|
||
+ execution_monitor.cpp
|
||
+ debug.cpp
|
||
+ cpp_main.cpp
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS})
|
||
+
|
||
+boost_add_library(test_exec_monitor
|
||
+ compiler_log_formatter.cpp
|
||
+ debug.cpp
|
||
+ execution_monitor.cpp
|
||
+ framework.cpp
|
||
+ plain_report_formatter.cpp
|
||
+ progress_monitor.cpp
|
||
+ results_collector.cpp
|
||
+ results_reporter.cpp
|
||
+ test_main.cpp
|
||
+ test_tools.cpp
|
||
+ unit_test_log.cpp
|
||
+ unit_test_main.cpp
|
||
+ unit_test_monitor.cpp
|
||
+ unit_test_parameters.cpp
|
||
+ unit_test_suite.cpp
|
||
+ xml_log_formatter.cpp
|
||
+ xml_report_formatter.cpp
|
||
+ NO_SHARED
|
||
+ )
|
||
+
|
||
+boost_add_library(unit_test_framework
|
||
+ compiler_log_formatter.cpp
|
||
+ debug.cpp
|
||
+ exception_safety.cpp
|
||
+ execution_monitor.cpp
|
||
+ framework.cpp
|
||
+ interaction_based.cpp
|
||
+ logged_expectations.cpp
|
||
+ plain_report_formatter.cpp
|
||
+ progress_monitor.cpp
|
||
+ results_collector.cpp
|
||
+ results_reporter.cpp
|
||
+ test_tools.cpp
|
||
+ unit_test_log.cpp
|
||
+ unit_test_main.cpp
|
||
+ unit_test_monitor.cpp
|
||
+ unit_test_parameters.cpp
|
||
+ unit_test_suite.cpp
|
||
+ xml_log_formatter.cpp
|
||
+ xml_report_formatter.cpp
|
||
+ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS}
|
||
+ )
|
||
+
|
||
diff --git a/libs/thread/CMakeLists.txt b/libs/thread/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7b3935a
|
||
--- /dev/null
|
||
+++ b/libs/thread/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ thread.hpp
|
||
+ thread
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ thread
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ EXAMPLEDIRS example
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Boost.Thread"
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/thread/example/CMakeLists.txt b/libs/thread/example/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7d4b8bd
|
||
--- /dev/null
|
||
+++ b/libs/thread/example/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+foreach(example
|
||
+
|
||
+ monitor
|
||
+ starvephil
|
||
+ # tennis this doesn't build on linux for some stupid reason
|
||
+ condition
|
||
+ mutex
|
||
+ once
|
||
+ recursive_mutex
|
||
+ thread
|
||
+ thread_group
|
||
+ tss
|
||
+ xtime)
|
||
+
|
||
+ boost_add_executable(${example} DEPENDS boost_thread MULTI_THREADED)
|
||
+
|
||
+endforeach()
|
||
\ No newline at end of file
|
||
diff --git a/libs/thread/module.cmake b/libs/thread/module.cmake
|
||
new file mode 100644
|
||
index 0000000..32b0535
|
||
--- /dev/null
|
||
+++ b/libs/thread/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(thread DEPENDS date_time bind optional range)
|
||
\ No newline at end of file
|
||
diff --git a/libs/thread/src/CMakeLists.txt b/libs/thread/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d02c4b0
|
||
--- /dev/null
|
||
+++ b/libs/thread/src/CMakeLists.txt
|
||
@@ -0,0 +1,20 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+if (WIN32)
|
||
+ set(THREAD_SOURCES win32/thread.cpp win32/tss_dll.cpp win32/tss_pe.cpp)
|
||
+else (WIN32)
|
||
+ set(THREAD_SOURCES pthread/thread.cpp pthread/once.cpp)
|
||
+endif (WIN32)
|
||
+
|
||
+boost_add_library(
|
||
+ thread
|
||
+ ${THREAD_SOURCES}
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1"
|
||
+ STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1"
|
||
+ NO_SINGLE_THREADED
|
||
+ )
|
||
+
|
||
diff --git a/libs/thread/test/CMakeLists.txt b/libs/thread/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..23f2939
|
||
--- /dev/null
|
||
+++ b/libs/thread/test/CMakeLists.txt
|
||
@@ -0,0 +1,39 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(thread BOOST_DEPENDS test )
|
||
+
|
||
+
|
||
+
|
||
+set(TESTS
|
||
+test_thread
|
||
+test_thread_id
|
||
+test_hardware_concurrency
|
||
+test_thread_move
|
||
+test_thread_launching
|
||
+test_thread_mf
|
||
+test_move_function
|
||
+test_mutex
|
||
+test_condition_notify_one
|
||
+test_condition_timed_wait_times_out
|
||
+test_condition_notify_all
|
||
+test_condition
|
||
+test_tss
|
||
+test_once
|
||
+test_xtime
|
||
+test_barrier
|
||
+test_shared_mutex
|
||
+test_shared_mutex_part_2
|
||
+test_shared_mutex_timed_locks
|
||
+test_lock_concept
|
||
+test_generic_locks)
|
||
+
|
||
+foreach (TEST ${TESTS})
|
||
+ boost_test_run(${TEST} MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
|
||
+endforeach (TEST ${TESTS})
|
||
+
|
||
+boost_test_compile_fail(no_implicit_move_from_lvalue_thread)
|
||
+boost_test_compile_fail(no_implicit_assign_from_lvalue_thread)
|
||
diff --git a/libs/timer/CMakeLists.txt b/libs/timer/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..02967a6
|
||
--- /dev/null
|
||
+++ b/libs/timer/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ timer.hpp
|
||
+
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ timer
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/timer/module.cmake b/libs/timer/module.cmake
|
||
new file mode 100644
|
||
index 0000000..0ce8984
|
||
--- /dev/null
|
||
+++ b/libs/timer/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(timer DEPENDS config)
|
||
diff --git a/libs/timer/test/CMakeLists.txt b/libs/timer/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..bfa115a
|
||
--- /dev/null
|
||
+++ b/libs/timer/test/CMakeLists.txt
|
||
@@ -0,0 +1,9 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# boost_additional_test_dependencies(timer BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_compile(timer_test ../timer_test.cpp)
|
||
diff --git a/libs/tokenizer/CMakeLists.txt b/libs/tokenizer/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b9bc1ba
|
||
--- /dev/null
|
||
+++ b/libs/tokenizer/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ tokenizer.hpp
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ tokenizer
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/tokenizer/module.cmake b/libs/tokenizer/module.cmake
|
||
new file mode 100644
|
||
index 0000000..068d901
|
||
--- /dev/null
|
||
+++ b/libs/tokenizer/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(tokenizer DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/tokenizer/test/CMakeLists.txt b/libs/tokenizer/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a2743d2
|
||
--- /dev/null
|
||
+++ b/libs/tokenizer/test/CMakeLists.txt
|
||
@@ -0,0 +1,15 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test config detail iterator utility array intrusive)
|
||
+
|
||
+boost_test_run(examples examples.cpp
|
||
+ DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(simple_example_1 simple_example_1.cpp)
|
||
+boost_test_run(simple_example_2 simple_example_2.cpp)
|
||
+boost_test_run(simple_example_3 simple_example_3.cpp)
|
||
+boost_test_run(simple_example_4 simple_example_4.cpp)
|
||
+boost_test_run(simple_example_5 simple_example_5.cpp)
|
||
diff --git a/libs/tr1/CMakeLists.txt b/libs/tr1/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..58727a7
|
||
--- /dev/null
|
||
+++ b/libs/tr1/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ tr1
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ tr1
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "An implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1."
|
||
+ MODULARIZED
|
||
+ AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/tr1/module.cmake b/libs/tr1/module.cmake
|
||
new file mode 100644
|
||
index 0000000..c2aa4c2
|
||
--- /dev/null
|
||
+++ b/libs/tr1/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(tr1 DEPENDS fusion random math functional)
|
||
diff --git a/libs/tr1/test/CMakeLists.txt b/libs/tr1/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d60bdb9
|
||
--- /dev/null
|
||
+++ b/libs/tr1/test/CMakeLists.txt
|
||
@@ -0,0 +1,75 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(tr1 BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1)
|
||
+include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1)
|
||
+
|
||
+if (BORLAND)
|
||
+ # Borland's broken include mechanism needs these extra headers:
|
||
+ include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1/bcc32)
|
||
+ include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1/bcc32)
|
||
+endif (BORLAND)
|
||
+
|
||
+macro(boost_glob_test_compile path glob_par compile_flags)
|
||
+ list_contains(WITH_STD "WITH_STD" ${ARGN})
|
||
+ list_contains(STD_HEADER_TEST "STD_HEADER_TEST" ${ARGN})
|
||
+ file(GLOB file_list ${path}/${glob_par})
|
||
+ foreach (current_file ${file_list})
|
||
+ get_filename_component(file_name ${current_file} NAME_WE)
|
||
+ set(test_name "${file_name}")
|
||
+ if (${STD_HEADER_TEST})
|
||
+ set(test_name "${file_name}_header")
|
||
+ endif ()
|
||
+ boost_test_compile(${test_name} ${path}/${file_name}.cpp
|
||
+ COMPILE_FLAGS "${compile_flags}")
|
||
+ if (WITH_STD)
|
||
+ boost_test_compile(${file_name}_std ${path}/${file_name}.cpp
|
||
+ COMPILE_FLAGS ${compile_flags} -DTEST_STD_HEADERS=1)
|
||
+ endif (WITH_STD)
|
||
+ endforeach (current_file)
|
||
+endmacro(boost_glob_test_compile)
|
||
+
|
||
+macro(boost_glob_test_compile_fail patch glob_par compile_flags)
|
||
+ file(GLOB file_list ${glob_par})
|
||
+ foreach (current_file ${file_list})
|
||
+ get_filename_component(file_name ${current_file} NAME_WE)
|
||
+ boost_test_compile_fail(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}")
|
||
+ endforeach (current_file)
|
||
+endmacro(boost_glob_test_compile_fail)
|
||
+
|
||
+macro(boost_glob_test_run path glob_par compile_flags)
|
||
+ list_contains(WITH_STD "WITH_STD" ${ARGN})
|
||
+ file(GLOB file_list ${path}/${glob_par})
|
||
+ foreach (current_file ${file_list})
|
||
+ get_filename_component(file_name ${current_file} NAME_WE)
|
||
+ boost_test_run(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}")
|
||
+ if (WITH_STD)
|
||
+ boost_test_run(${file_name}_std ${path}/${file_name}.cpp
|
||
+ COMPILE_FLAGS ${compile_flags} -DTEST_STD_HEADERS=1)
|
||
+ endif (WITH_STD)
|
||
+ endforeach (current_file)
|
||
+endmacro(boost_glob_test_run)
|
||
+
|
||
+
|
||
+boost_glob_test_compile(. test*.cpp "" WITH_STD)
|
||
+boost_glob_test_run(. run*.cpp "" WITH_STD)
|
||
+boost_glob_test_compile_fail(config tr1_has_tr1*fail.cpp "")
|
||
+boost_glob_test_compile(config tr1_has_tr1*pass.cpp "")
|
||
+boost_glob_test_run(type_traits *.cpp "")
|
||
+
|
||
+# TODO: there's a problem here where the testing code is generating duplicate
|
||
+# target names.
|
||
+message(STATUS "TR1 tests need some love")
|
||
+# boost_glob_test_compile(std_headers *.cpp "-DTEST_STD=1" STD_HEADER_TEST)
|
||
+boost_glob_test_compile(cyclic_depend *.cpp "")
|
||
+
|
||
+# Known failures
|
||
+boost_test_known_failures(test_cmath_tricky_std "gcc-4.0.[0-9]-.*")
|
||
+boost_test_known_failures(test_mem_fn_tricky_std "gcc-4.0.[0-9]-.*")
|
||
+boost_test_known_failures(test_ref_wrapper_tricky_std "gcc-4.0.[0-9]-.*")
|
||
\ No newline at end of file
|
||
diff --git a/libs/tuple/CMakeLists.txt b/libs/tuple/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a0321f4
|
||
--- /dev/null
|
||
+++ b/libs/tuple/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ tuple
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ tuple
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Ease definition of functions returning multiple values, and more."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Jaakko Jarvi <jarvi -at- cs.tamu.edu>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/tuple/module.cmake b/libs/tuple/module.cmake
|
||
new file mode 100644
|
||
index 0000000..4c52344
|
||
--- /dev/null
|
||
+++ b/libs/tuple/module.cmake
|
||
@@ -0,0 +1,2 @@
|
||
+boost_module(tuple DEPENDS static_assert)
|
||
+
|
||
diff --git a/libs/tuple/test/CMakeLists.txt b/libs/tuple/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0896726
|
||
--- /dev/null
|
||
+++ b/libs/tuple/test/CMakeLists.txt
|
||
@@ -0,0 +1,11 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(tuple BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+boost_test_run(tuple_test_bench DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(io_test DEPENDS boost_test_exec_monitor)
|
||
diff --git a/libs/type_traits/CMakeLists.txt b/libs/type_traits/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..951be8e
|
||
--- /dev/null
|
||
+++ b/libs/type_traits/CMakeLists.txt
|
||
@@ -0,0 +1,40 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ type_traits.hpp
|
||
+ type_traits
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ type_traits
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Templates for fundamental properties of types."
|
||
+ MODULARIZED
|
||
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
|
||
+ "Steve Cleary"
|
||
+ "Beman Dawes <bdawes -at- acm.org>"
|
||
+ "Aleksey Gurtovoy <agurtovoy -at- meta-comm.com>"
|
||
+ "Howard Hinnant"
|
||
+ "Jesse Jones"
|
||
+ "Mat Marcus"
|
||
+ "Itay Maman"
|
||
+ "John Maddock <john -at- johnmaddock.co.uk>"
|
||
+ "Alexander Nasonov <alexander.nasonov -at- gmail.com>"
|
||
+ "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
|
||
+ "Robert Ramey <ramey -at- rrsd.com>"
|
||
+ "Jeremy Siek <jeremy.siek -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/type_traits/module.cmake b/libs/type_traits/module.cmake
|
||
new file mode 100644
|
||
index 0000000..c1f1b3c
|
||
--- /dev/null
|
||
+++ b/libs/type_traits/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(type_traits DEPENDS config static_assert)
|
||
\ No newline at end of file
|
||
diff --git a/libs/type_traits/test/CMakeLists.txt b/libs/type_traits/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..69fc8b9
|
||
--- /dev/null
|
||
+++ b/libs/type_traits/test/CMakeLists.txt
|
||
@@ -0,0 +1,13 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+file(GLOB TEST_FILES "*_test.cpp")
|
||
+foreach(TEST_FILE ${TEST_FILES})
|
||
+ get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE)
|
||
+ boost_test_run(${TEST_NAME})
|
||
+endforeach(TEST_FILE ${TEST_FILES})
|
||
+
|
||
+boost_test_run(udt_specialisations)
|
||
diff --git a/libs/typeof/CMakeLists.txt b/libs/typeof/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a912c12
|
||
--- /dev/null
|
||
+++ b/libs/typeof/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ typeof
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ typeof
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/typeof/module.cmake b/libs/typeof/module.cmake
|
||
new file mode 100644
|
||
index 0000000..41dc168
|
||
--- /dev/null
|
||
+++ b/libs/typeof/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(typeof DEPENDS mpl config detail preprocessor)
|
||
\ No newline at end of file
|
||
diff --git a/libs/typeof/test/CMakeLists.txt b/libs/typeof/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..417d1be
|
||
--- /dev/null
|
||
+++ b/libs/typeof/test/CMakeLists.txt
|
||
@@ -0,0 +1,30 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(typeof BOOST_DEPENDS test)
|
||
+
|
||
+
|
||
+file(GLOB TEST_FILES "*.cpp")
|
||
+foreach(TEST_FILE ${TEST_FILES})
|
||
+ if (TEST_FILE MATCHES "odr.*cpp")
|
||
+ # Skip ODR tests; we'll handle them separately
|
||
+ else (TEST_FILE MATCHES "odr.*cpp")
|
||
+ get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE)
|
||
+ boost_test_compile("${TEST_NAME}_native"
|
||
+ "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE")
|
||
+ boost_test_compile("${TEST_NAME}_emulation"
|
||
+ "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION")
|
||
+ endif (TEST_FILE MATCHES "odr.*cpp")
|
||
+endforeach(TEST_FILE ${TEST_FILES})
|
||
+
|
||
+boost_test_run(odr_native
|
||
+ odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE")
|
||
+boost_test_run(odr_emulation
|
||
+ odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION")
|
||
+boost_test_run(odr_no_uns
|
||
+ odr_no_uns1.cpp odr_no_uns2.cpp
|
||
+ COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION")
|
||
+
|
||
diff --git a/libs/units/CMakeLists.txt b/libs/units/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e28a106
|
||
--- /dev/null
|
||
+++ b/libs/units/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ units
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ units
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Zero-overhead dimensional analysis and unit/quantity manipulation and conversion."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Matthias Schabel <boost -at- schabel-family.org>"
|
||
+ "Steven Watanabe <steven -at- providere-consulting.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/units/doc/CMakeLists.txt b/libs/units/doc/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5591ef5
|
||
--- /dev/null
|
||
+++ b/libs/units/doc/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+message(STATUS "libs/units/doc needs love")
|
||
+
|
||
diff --git a/libs/units/module.cmake b/libs/units/module.cmake
|
||
new file mode 100644
|
||
index 0000000..c72828e
|
||
--- /dev/null
|
||
+++ b/libs/units/module.cmake
|
||
@@ -0,0 +1,2 @@
|
||
+boost_module(units DEPENDS math serialization lambda)
|
||
+
|
||
diff --git a/libs/units/test/CMakeLists.txt b/libs/units/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c3b9e17
|
||
--- /dev/null
|
||
+++ b/libs/units/test/CMakeLists.txt
|
||
@@ -0,0 +1,80 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(units BOOST_DEPENDS test)
|
||
+
|
||
+set(COMPILE_TESTS
|
||
+ test_predicates
|
||
+ test_negative_denominator
|
||
+ test_dimensionless_ice1
|
||
+ test_dimensionless_ice2
|
||
+ test_mixed_value_types
|
||
+ test_complicated_system
|
||
+ test_reduce_unit
|
||
+ test_unscale
|
||
+ test_constants
|
||
+ )
|
||
+
|
||
+foreach(C ${COMPILE_TESTS})
|
||
+ boost_test_compile(${C})
|
||
+endforeach(C ${COMPILE_TESTS})
|
||
+
|
||
+set(RUN_TESTS
|
||
+ test_dimensionless_quantity
|
||
+ test_implicit_conversion
|
||
+ test_quantity
|
||
+ test_unit
|
||
+ test_base_dimension
|
||
+ test_absolute
|
||
+ test_default_conversion
|
||
+ test_cmath
|
||
+ test_limits
|
||
+ test_custom_unit
|
||
+ test_scaled_conversion
|
||
+ test_lambda
|
||
+ )
|
||
+
|
||
+foreach(R ${RUN_TESTS})
|
||
+ boost_test_run(${R})
|
||
+endforeach(R ${RUN_TESTS})
|
||
+
|
||
+set(RUN_TESTS_WITH_DEPS
|
||
+ test_conversion
|
||
+ test_scaled_unit
|
||
+ test_output
|
||
+ test_trig
|
||
+)
|
||
+
|
||
+foreach(RD ${RUN_TESTS_WITH_DEPS})
|
||
+ boost_test_run(${RD} DEPENDS boost_unit_test_framework)
|
||
+endforeach(RD ${RUN_TESTS_WITH_DEPS})
|
||
+
|
||
+set(COMPILE_FAIL_TESTS
|
||
+ fail_implicit_conversion
|
||
+ fail_quantity_construct
|
||
+ fail_quantity_assign
|
||
+ fail_quantity_add
|
||
+ fail_quantity_subtract
|
||
+ fail_quantity_add_assign
|
||
+ fail_quantity_sub_assign
|
||
+ fail_quantity_scalar_add
|
||
+ fail_quantity_scalar_sub
|
||
+ fail_quantity_unit_add
|
||
+ fail_quantity_unit_subtract
|
||
+ fail_scalar_quantity_add
|
||
+ fail_scalar_quantity_sub
|
||
+ fail_unit_quantity_add
|
||
+ fail_unit_quantity_subtract
|
||
+ fail_adl_detail
|
||
+ fail_heterogeneous_unit
|
||
+ fail_base_dimension
|
||
+ fail_add_temperature
|
||
+ fail_quantity_non_unit
|
||
+ )
|
||
+
|
||
+foreach(F ${COMPILE_FAIL_TESTS})
|
||
+ boost_test_compile_fail(${F})
|
||
+endforeach(F ${COMPILE_FAIL_TESTS})
|
||
diff --git a/libs/unordered/CMakeLists.txt b/libs/unordered/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b7dd577
|
||
--- /dev/null
|
||
+++ b/libs/unordered/CMakeLists.txt
|
||
@@ -0,0 +1,29 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ unordered_map.hpp
|
||
+ unordered_set.hpp
|
||
+ unordered
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ unordered
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/unordered/module.cmake b/libs/unordered/module.cmake
|
||
new file mode 100644
|
||
index 0000000..30e2769
|
||
--- /dev/null
|
||
+++ b/libs/unordered/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(unordered DEPENDS config functional)
|
||
diff --git a/libs/unordered/test/CMakeLists.txt b/libs/unordered/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a941b96
|
||
--- /dev/null
|
||
+++ b/libs/unordered/test/CMakeLists.txt
|
||
@@ -0,0 +1,24 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(unordered BOOST_DEPENDS test)
|
||
+
|
||
+# GCC Compilers
|
||
+IF(CMAKE_COMPILER_IS_GNUCC)
|
||
+ SET(test_compile_flags "-Wsign-promo -Wunused-parameter")
|
||
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
|
||
+
|
||
+# Intel Compiler flags
|
||
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
|
||
+ SET(test_compile_flags "${test_compile_flags} -strict_ansi -cxxlib-icc")
|
||
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
|
||
+
|
||
+set (swap_compile_flags "${test_compile_flags} -DBOOST_UNORDERED_SWAP_METHOD=2")
|
||
+
|
||
+
|
||
+
|
||
+add_subdirectory(exception)
|
||
+add_subdirectory(unordered)
|
||
\ No newline at end of file
|
||
diff --git a/libs/unordered/test/exception/CMakeLists.txt b/libs/unordered/test/exception/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..aacdf3d
|
||
--- /dev/null
|
||
+++ b/libs/unordered/test/exception/CMakeLists.txt
|
||
@@ -0,0 +1,25 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(test
|
||
+ constructor_exception_tests
|
||
+ copy_exception_tests
|
||
+ assign_exception_tests
|
||
+ insert_exception_tests
|
||
+ erase_exception_tests
|
||
+ rehash_exception_tests
|
||
+ )
|
||
+ boost_test_run(${test}
|
||
+ COMPILE_FLAGS ${test_compile_flags}
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+endforeach(test ${unordered_tests})
|
||
+
|
||
+#-- run the swap test
|
||
+boost_test_run(swap_exception_tests
|
||
+ COMPILE_FLAGS ${swap_compile_flags}
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+
|
||
diff --git a/libs/unordered/test/unordered/CMakeLists.txt b/libs/unordered/test/unordered/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..68d92be
|
||
--- /dev/null
|
||
+++ b/libs/unordered/test/unordered/CMakeLists.txt
|
||
@@ -0,0 +1,43 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#-------------------------------------------------------------------------------
|
||
+# Unordered Tests
|
||
+foreach(test
|
||
+ fwd_set_test
|
||
+ fwd_map_test
|
||
+ compile_set
|
||
+ compile_map
|
||
+ simple_tests
|
||
+ equivalent_keys_tests
|
||
+ constructor_tests
|
||
+ copy_tests
|
||
+ move_tests
|
||
+ assign_tests
|
||
+ insert_tests
|
||
+ insert_stable_tests
|
||
+ unnecessary_copy_tests
|
||
+ erase_tests
|
||
+ erase_equiv_tests
|
||
+ find_tests
|
||
+ at_tests
|
||
+ bucket_tests
|
||
+ load_factor_tests
|
||
+ rehash_tests
|
||
+ equality_tests
|
||
+ )
|
||
+ boost_test_run(${test}
|
||
+ COMPILE_FLAGS ${test_compile_flags}
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+endforeach()
|
||
+
|
||
+boost_test_run(link_test link_test_1.cpp link_test_2.cpp)
|
||
+
|
||
+#-- run the swap test
|
||
+boost_test_run(swap_tests
|
||
+ COMPILE_FLAGS ${swap_compile_flags}
|
||
+ DEPENDS boost_unit_test_framework)
|
||
+
|
||
diff --git a/libs/utility/CMakeLists.txt b/libs/utility/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f6285c4
|
||
--- /dev/null
|
||
+++ b/libs/utility/CMakeLists.txt
|
||
@@ -0,0 +1,37 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ assert.hpp
|
||
+ call_traits.hpp
|
||
+ checked_delete.hpp
|
||
+ compressed_pair.hpp
|
||
+ current_function.hpp
|
||
+ operators.hpp
|
||
+ throw_exception.hpp
|
||
+ utility.hpp
|
||
+ utility
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ utility
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test swap/test enable_if/test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Various small utilities for C++ programming."
|
||
+ MODULARIZED
|
||
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
|
||
+ "Brad King"
|
||
+ "Douglas Gregor <doug.gregor -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/utility/enable_if/test/CMakeLists.txt b/libs/utility/enable_if/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..be95145
|
||
--- /dev/null
|
||
+++ b/libs/utility/enable_if/test/CMakeLists.txt
|
||
@@ -0,0 +1,20 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+foreach(T
|
||
+ constructors
|
||
+ dummy_arg_disambiguation
|
||
+ lazy
|
||
+ lazy_test
|
||
+ member_templates
|
||
+ namespace_disambiguation
|
||
+ no_disambiguation
|
||
+ partial_specializations
|
||
+ )
|
||
+ boost_test_run(${T} DEPENDS boost_test_exec_monitor)
|
||
+endforeach()
|
||
+
|
||
+
|
||
diff --git a/libs/utility/module.cmake b/libs/utility/module.cmake
|
||
new file mode 100644
|
||
index 0000000..4d78340
|
||
--- /dev/null
|
||
+++ b/libs/utility/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(utility DEPENDS iterator exception detail )
|
||
\ No newline at end of file
|
||
diff --git a/libs/utility/swap/test/CMakeLists.txt b/libs/utility/swap/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2562313
|
||
--- /dev/null
|
||
+++ b/libs/utility/swap/test/CMakeLists.txt
|
||
@@ -0,0 +1,41 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(T
|
||
+ root_header_1 root_header_2
|
||
+ lib_header_1 lib_header_2
|
||
+ mixed_headers_1 mixed_headers_2)
|
||
+ boost_test_compile(${T})
|
||
+endforeach()
|
||
+
|
||
+
|
||
+# [ run primitive.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
|
||
+
|
||
+
|
||
+foreach(T
|
||
+ primitive
|
||
+ specialized_in_boost
|
||
+ specialized_in_global
|
||
+ specialized_in_other
|
||
+ specialized_in_std
|
||
+ specialized_in_boost_and_other
|
||
+ std_bitset
|
||
+ std_dateorder
|
||
+ std_string
|
||
+ std_typeinfo_ptr
|
||
+ std_vector_of_boost
|
||
+ std_vector_of_global
|
||
+ std_vector_of_other
|
||
+ no_ambiguity_in_boost
|
||
+ array_of_array_of_class
|
||
+ array_of_array_of_int
|
||
+ array_of_class
|
||
+ array_of_int
|
||
+ array_of_template)
|
||
+ boost_test_run(${T} DEPENDS boost_test_exec_monitor)
|
||
+endforeach()
|
||
+
|
||
diff --git a/libs/utility/test/CMakeLists.txt b/libs/utility/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4ed28b6
|
||
--- /dev/null
|
||
+++ b/libs/utility/test/CMakeLists.txt
|
||
@@ -0,0 +1,47 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(utility BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(addressof_fn_test ../addressof_fn_test.cpp)
|
||
+boost_test_run(addressof_test ../addressof_test.cpp)
|
||
+boost_test_run(addressof_test2 ../addressof_test2.cpp)
|
||
+boost_test_run(assert_test ../assert_test.cpp)
|
||
+boost_test_run(base_from_member_test ../base_from_member_test.cpp)
|
||
+boost_test_run(binary_search_test ../binary_search_test.cpp)
|
||
+boost_test_run(call_traits_test ../call_traits_test.cpp ARGS -u)
|
||
+boost_test_compile_fail(checked_delete_test ../checked_delete_test.cpp)
|
||
+boost_test_run(compressed_pair_test
|
||
+ ../compressed_pair_test
|
||
+ DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(current_function_test ../current_function_test.cpp)
|
||
+boost_test_run(iterators_test
|
||
+ ../iterators_test.cpp
|
||
+ DEPENDS boost_test_exec_monitor)
|
||
+boost_test_run(next_prior_test DEPENDS boost_test_exec_monitor)
|
||
+boost_test_compile_fail(noncopyable_test ../noncopyable_test.cpp)
|
||
+boost_test_run(numeric_traits_test ../numeric_traits_test.cpp)
|
||
+if (${CMAKE_SYSTEM} MATCHES "FreeBSD-.*")
|
||
+boost_test_compile_fail("operators_test_compilerbug")
|
||
+elseif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*")
|
||
+boost_test_run(operators_test
|
||
+ ../operators_test.cpp
|
||
+ DEPENDS boost_test_exec_monitor)
|
||
+endif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*")
|
||
+boost_test_compile(ref_ct_test ../ref_ct_test.cpp)
|
||
+boost_test_run(ref_test
|
||
+ ../ref_test.cpp
|
||
+ DEPENDS boost_test_exec_monitor)
|
||
+boost_test_compile(result_of_test)
|
||
+boost_test_run(shared_iterator_test ../shared_iterator_test.cpp)
|
||
+boost_test_run(value_init_test ../value_init_test.cpp)
|
||
+boost_test_compile_fail(value_init_test_fail1
|
||
+ ../value_init_test_fail1.cpp)
|
||
+boost_test_compile_fail(value_init_test_fail2
|
||
+ ../value_init_test_fail2.cpp)
|
||
+boost_test_compile_fail(value_init_test_fail3
|
||
+ ../value_init_test_fail3.cpp)
|
||
+boost_test_run(verify_test ../verify_test.cpp)
|
||
\ No newline at end of file
|
||
diff --git a/libs/uuid/CMakeLists.txt b/libs/uuid/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..7e68b86
|
||
--- /dev/null
|
||
+++ b/libs/uuid/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright (c) 2010 Isidor Zeuner
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ uuid
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ uuid
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "The header uuid.hpp provides an implementation of Universally Unique Identifiers."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Andy Tompkins"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/uuid/module.cmake b/libs/uuid/module.cmake
|
||
new file mode 100644
|
||
index 0000000..dd00dfc
|
||
--- /dev/null
|
||
+++ b/libs/uuid/module.cmake
|
||
@@ -0,0 +1,3 @@
|
||
+boost_module(uuid)
|
||
+
|
||
+
|
||
diff --git a/libs/uuid/test/CMakeLists.txt b/libs/uuid/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..fe5475d
|
||
--- /dev/null
|
||
+++ b/libs/uuid/test/CMakeLists.txt
|
||
@@ -0,0 +1,52 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(uuid BOOST_DEPENDS test serialization)
|
||
+
|
||
+
|
||
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_UUID_STATIC_LINK)
|
||
+
|
||
+
|
||
+# Make sure each header file is self-contained
|
||
+SET(UUID_SUFFIXES uuid uuid_io uuid_serialize uuid_generators nil_generator
|
||
+ name_generator string_generator random_generator)
|
||
+
|
||
+FOREACH(uuid_suffix ${UUID_SUFFIXES})
|
||
+ boost_test_compile(compile_${uuid_suffix} compile_${uuid_suffix}.cpp)
|
||
+ENDFOREACH(uuid_suffix ${UUID_SUFFIXES})
|
||
+
|
||
+boost_test_compile(compile_uuid_no_type_traits
|
||
+ compile_uuid.cpp
|
||
+ COMPILE_FLAGS -DBOOST_UUID_NO_TYPE_TRAITS
|
||
+ )
|
||
+
|
||
+#
|
||
+SET(TEST_SUFFIXES
|
||
+ uuid # main test
|
||
+ io # uuid_io.hpp
|
||
+ nil_generator name_generator string_generator random_generator # generators
|
||
+ tagging # tagging an object
|
||
+ uuid_class # test uuid class
|
||
+ sha1 # test sha1 hash function
|
||
+ )
|
||
+
|
||
+FOREACH(test_suffix ${TEST_SUFFIXES})
|
||
+ boost_test_run(test_${test_suffix} test_${test_suffix}.cpp)
|
||
+ENDFOREACH(test_suffix ${TEST_SUFFIXES})
|
||
+
|
||
+# Test inclucing all .hpp files in 2 translations units
|
||
+# to look for issues when using multiple translation units
|
||
+# eg. missing inline on a global functionstate is not missing
|
||
+boost_test_run(test_include test_include1.cpp test_include2.cpp)
|
||
+
|
||
+# Test serializing uuids
|
||
+boost_test_run(test_serialization test_serialization.cpp
|
||
+ DEPENDS boost_serialization SHARED)
|
||
+
|
||
+# TODO - This test fails to like with boost_wserialization
|
||
+#boost_test_run(test_serialization test_serialization.cpp
|
||
+# DEPENDS boost_serialization boost_wserialization SHARED
|
||
+# COMPILE_FLAGS -DBOOST_NO_STD_WSTREAMBUF)
|
||
diff --git a/libs/variant/CMakeLists.txt b/libs/variant/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..cbd2edb
|
||
--- /dev/null
|
||
+++ b/libs/variant/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ variant.hpp
|
||
+ variant
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ variant
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/variant/module.cmake b/libs/variant/module.cmake
|
||
new file mode 100644
|
||
index 0000000..0d9b7c3
|
||
--- /dev/null
|
||
+++ b/libs/variant/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(variant DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/libs/variant/test/CMakeLists.txt b/libs/variant/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ec6ec1c
|
||
--- /dev/null
|
||
+++ b/libs/variant/test/CMakeLists.txt
|
||
@@ -0,0 +1,15 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_additional_test_dependencies(variant BOOST_DEPENDS test)
|
||
+
|
||
+boost_test_run(test1 test1.cpp class_a.cpp)
|
||
+boost_test_run(test4 test4.cpp class_a.cpp)
|
||
+set(tests test2 test3 test5 test6 test7 test8 recursive_variant_test variant_reference_test variant_comparison_test variant_visit_test)
|
||
+
|
||
+foreach(test ${tests})
|
||
+ boost_test_run(${test})
|
||
+endforeach(test ${tests})
|
||
diff --git a/libs/wave/CMakeLists.txt b/libs/wave/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0190577
|
||
--- /dev/null
|
||
+++ b/libs/wave/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ wave.hpp
|
||
+ wave
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(wave
|
||
+
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "A standards-conformant and highly-configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Hartmut Kaiser <hartmut.kaiser -at- gmail.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/wave/module.cmake b/libs/wave/module.cmake
|
||
new file mode 100644
|
||
index 0000000..32a3502
|
||
--- /dev/null
|
||
+++ b/libs/wave/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(wave DEPENDS filesystem program_options spirit thread intrusive)
|
||
\ No newline at end of file
|
||
diff --git a/libs/wave/src/CMakeLists.txt b/libs/wave/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..63a2115
|
||
--- /dev/null
|
||
+++ b/libs/wave/src/CMakeLists.txt
|
||
@@ -0,0 +1,24 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(wave
|
||
+
|
||
+ instantiate_cpp_exprgrammar.cpp
|
||
+ instantiate_cpp_grammar.cpp
|
||
+ instantiate_cpp_literalgrs.cpp
|
||
+ instantiate_defined_grammar.cpp
|
||
+ instantiate_predef_macros.cpp
|
||
+ instantiate_re2c_lexer.cpp
|
||
+ instantiate_re2c_lexer_str.cpp
|
||
+ token_ids.cpp
|
||
+ wave_config_constant.cpp
|
||
+ cpplexer/re2clex/aq.cpp
|
||
+ cpplexer/re2clex/cpp_re.cpp
|
||
+
|
||
+ DEPENDS boost_filesystem boost_thread boost_date_time
|
||
+ SHARED_COMPILE_FLAGS "-DBOOST_ALL_DYN_LINK=1"
|
||
+ NO_SINGLE_THREADED
|
||
+ )
|
||
diff --git a/libs/wave/test/CMakeLists.txt b/libs/wave/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..880cf8d
|
||
--- /dev/null
|
||
+++ b/libs/wave/test/CMakeLists.txt
|
||
@@ -0,0 +1,8 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+message(STATUS "wave tests need love")
|
||
+
|
||
diff --git a/libs/xpressive/CMakeLists.txt b/libs/xpressive/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..c59fcaa
|
||
--- /dev/null
|
||
+++ b/libs/xpressive/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ xpressive
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ xpressive
|
||
+ # SRCDIRS
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ DESCRIPTION "Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars."
|
||
+ MODULARIZED
|
||
+ AUTHORS "Eric Niebler <eric -at- boost-consulting.com>"
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/libs/xpressive/module.cmake b/libs/xpressive/module.cmake
|
||
new file mode 100644
|
||
index 0000000..ecd1f5e
|
||
--- /dev/null
|
||
+++ b/libs/xpressive/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(xpressive DEPENDS fusion proto intrusive numeric)
|
||
\ No newline at end of file
|
||
diff --git a/libs/xpressive/test/CMakeLists.txt b/libs/xpressive/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..66cb9d3
|
||
--- /dev/null
|
||
+++ b/libs/xpressive/test/CMakeLists.txt
|
||
@@ -0,0 +1,84 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# : requirements
|
||
+# <toolset>intel:<debug-symbols>off
|
||
+# <toolset>msvc,<stdlib>stlport:<define>_STLP_EXPOSE_GLOBALS_IMPLEMENTATION
|
||
+
|
||
+# [ linkp multiple_defs1.cpp multiple_defs2.cpp : : multiple_defs ]
|
||
+
|
||
+# TODO: Fix these
|
||
+# boost_test_fail("multipledefs")
|
||
+# boost_test_fail("msvc-stlport")
|
||
+boost_additional_test_dependencies(xpressive BOOST_DEPENDS test intrusive numeric range typeof function_types)
|
||
+
|
||
+if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||
+ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data")
|
||
+ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/xpressive/test/regress.txt" "${CMAKE_CURRENT_BINARY_DIR}")
|
||
+endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||
+
|
||
+SET(runtests
|
||
+ regress
|
||
+ c_traits
|
||
+ test1
|
||
+ test2
|
||
+ test3
|
||
+ test4
|
||
+ test5
|
||
+ test6
|
||
+ test7
|
||
+ test8
|
||
+ test9
|
||
+ test10
|
||
+ test11
|
||
+ test1u
|
||
+ test2u
|
||
+ test3u
|
||
+ test4u
|
||
+ test5u
|
||
+ test6u
|
||
+ test7u
|
||
+ test8u
|
||
+ test9u
|
||
+ test10u
|
||
+ test11u
|
||
+ misc1
|
||
+ misc2
|
||
+ test_format
|
||
+ test_cycles
|
||
+ test_non_char
|
||
+ test_static
|
||
+ test_actions
|
||
+ test_assert
|
||
+ test_symbols
|
||
+ test_dynamic
|
||
+ test_dynamic_grammar
|
||
+ test_skip
|
||
+ )
|
||
+
|
||
+foreach(runtest ${runtests})
|
||
+ boost_test_run(${runtest} DEPENDS boost_unit_test_framework )
|
||
+endforeach(runtest ${runtests})
|
||
+
|
||
+boost_test_link(multiple_defs multiple_defs1.cpp multiple_defs2.cpp)
|
||
+
|
||
+set(compiletests
|
||
+ test_basic_regex
|
||
+ test_match_results
|
||
+ test_regex_algorithms
|
||
+ test_regex_compiler
|
||
+ test_regex_constants
|
||
+ test_regex_error
|
||
+ test_regex_iterator
|
||
+ test_regex_primitives
|
||
+ test_regex_token_iterator
|
||
+ test_regex_traits
|
||
+ test_sub_match
|
||
+ )
|
||
+
|
||
+foreach(compiletest ${compiletests})
|
||
+ boost_test_compile(${compiletest})
|
||
+endforeach(compiletest ${compiletests})
|
||
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..31ac39f
|
||
--- /dev/null
|
||
+++ b/tools/CMakeLists.txt
|
||
@@ -0,0 +1,122 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim, Doug Gregor
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+macro(boost_collect_lib_dependencies varname filename)
|
||
+ #message(STATUS "boost_collect_lib_dependencies.... ${Boost_SOURCE_DIR}/libs")
|
||
+ file(GLOB BOOST_LIBRARY_CMAKE_FILES
|
||
+ RELATIVE "${CMAKE_LIBS_SOURCE_DIR}" "${BOOST_LIBS_SOURCE_DIR}/*/${filename}")
|
||
+ foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
|
||
+ #message(STATUS "-- BOOST_LIB_CMAKE_FILE: ${BOOST_LIB_CMAKE_FILE}")
|
||
+ get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH)
|
||
+ set(${varname} ${${varname}} ${BOOST_LIB_DIR})
|
||
+ endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
|
||
+endmacro(boost_collect_lib_dependencies varname)
|
||
+
|
||
+
|
||
+# Find all of the subdirectories with .cmake files in them. These are
|
||
+# the libraries with dependencies.
|
||
+boost_collect_lib_dependencies(BOOST_MODULE_DIRS "module.cmake")
|
||
+foreach(subdir ${BOOST_MODULE_DIRS})
|
||
+ #message("BOOST_MODULE_DIRS=${BOOST_MODULE_DIRS}")
|
||
+ include("${subdir}/module.cmake")
|
||
+endforeach(subdir)
|
||
+
|
||
+
|
||
+###############################################################################
|
||
+# This macro is an internal utility macro
|
||
+# TODO: Document this if it stays around
|
||
+#
|
||
+# example usage:
|
||
+# boost_tool_dependencies( BOOST_DEPENDS test)
|
||
+#
|
||
+macro(boost_tool_dependencies)
|
||
+ parse_arguments(BOOST_TEST
|
||
+ "BOOST_DEPENDS"
|
||
+ ""
|
||
+ ${ARGN}
|
||
+ )
|
||
+ set (THIS_TEST_DEPENDS_ALL "")
|
||
+ # message (STATUS "BOOST_TEST_BOOST_DEPENDS: ${BOOST_TEST_BOOST_DEPENDS}")
|
||
+ foreach(libname ${BOOST_TEST_BOOST_DEPENDS})
|
||
+ # message(STATUS "libname: ${libname}")
|
||
+ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
|
||
+ # message(STATUS "${THIS_PROJECT_DEPENDS}: ${${THIS_PROJECT_DEPENDS}}")
|
||
+ # set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} )
|
||
+ # message(STATUS "${THIS_TEST_DEPENDS_ALL}: ${${THIS_TEST_DEPENDS_ALL}}")
|
||
+
|
||
+ list(FIND THIS_TEST_DEPENDS_ALL ${libname} DEPDEP_INDEX)
|
||
+ if (DEPDEP_INDEX EQUAL -1)
|
||
+ list(APPEND THIS_TEST_DEPENDS_ALL ${libname})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ endif()
|
||
+ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
|
||
+ # message(STATUS "${additional_lib}: ===> ${${THIS_PROJECT_DEPENDS}}")
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ while (ADDED_DEPS)
|
||
+ set(ADDED_DEPS FALSE)
|
||
+ foreach(DEP ${THIS_TEST_DEPENDS_ALL})
|
||
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
|
||
+ foreach(DEPDEP ${${DEP_DEPENDS}})
|
||
+ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
|
||
+ if (DEPDEP_INDEX EQUAL -1)
|
||
+ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ endif()
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+ endwhile()
|
||
+ # message(STATUS "-> Dependencies for ${libname}")
|
||
+ # message(STATUS "-> THIS_TEST_DEPENDS_ALL: ${THIS_TEST_DEPENDS_ALL}")
|
||
+
|
||
+ endforeach(libname ${BOOST_TEST_BOOST_DEPENDS})
|
||
+ foreach (include ${THIS_TEST_DEPENDS_ALL})
|
||
+ #
|
||
+ # Modularization temporarily disabled
|
||
+ #
|
||
+ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
|
||
+ #
|
||
+ endforeach (include ${includes})
|
||
+
|
||
+endmacro(boost_tool_dependencies)
|
||
+#
|
||
+###############################################################################
|
||
+
|
||
+set(BUILD_TOOLS "NONE" CACHE STRING "Semicolon-separated list of tools to build")
|
||
+
|
||
+message(STATUS "")
|
||
+if (BUILD_TOOLS STREQUAL "NONE")
|
||
+
|
||
+ colormsg(HIGRAY "BUILD_TOOLS is NONE: skipping tools.")
|
||
+
|
||
+else()
|
||
+
|
||
+ colormsg(_HIBLUE_ "Reading tools...")
|
||
+ message(STATUS "")
|
||
+
|
||
+ file(GLOB BOOST_TOOL_CMAKE_FILES
|
||
+ RELATIVE "${CMAKE_TOOLS_PARENT_DIR}" "${BOOST_TOOLS_PARENT_DIR}/*/CMakeLists.txt")
|
||
+ foreach(BOOST_TOOL_CMAKE_FILE ${BOOST_TOOL_CMAKE_FILES})
|
||
+ get_filename_component(BOOST_TOOL_DIR ${BOOST_TOOL_CMAKE_FILE} PATH)
|
||
+ set(tooldirs ${tooldirs} ${BOOST_TOOL_DIR})
|
||
+ endforeach()
|
||
+
|
||
+ foreach(tooldir
|
||
+ ${tooldirs}
|
||
+ )
|
||
+ get_filename_component(tooldirname ${tooldir} NAME)
|
||
+ list(FIND BUILD_TOOLS ${tooldir} THIS_BUILD_TOOLS_INDEX)
|
||
+ if ((THIS_BUILD_TOOLS_INDEX GREATER -1) OR (BUILD_TOOLS STREQUAL "ALL"))
|
||
+ message(STATUS "+ ${tooldirname}")
|
||
+ add_subdirectory(${tooldir})
|
||
+ endif()
|
||
+
|
||
+ endforeach()
|
||
+
|
||
+endif()
|
||
+
|
||
+message(STATUS "")
|
||
+
|
||
diff --git a/tools/bcp/CMakeLists.txt b/tools/bcp/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8c435b7
|
||
--- /dev/null
|
||
+++ b/tools/bcp/CMakeLists.txt
|
||
@@ -0,0 +1,32 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_tool_project(bcp
|
||
+ DESCRIPTION "The bcp utility is a tool for extracting subsets of Boost."
|
||
+ AUTHORS "John Maddock"
|
||
+ )
|
||
+
|
||
+add_definitions(-DBOOST_REGEX_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1)
|
||
+
|
||
+boost_add_executable( bcp
|
||
+
|
||
+ add_path.cpp
|
||
+ bcp_imp.cpp
|
||
+ copy_path.cpp
|
||
+ file_types.cpp
|
||
+ fileview.cpp
|
||
+ main.cpp
|
||
+ path_operations.cpp
|
||
+ scan_cvs_path.cpp
|
||
+ licence_info.cpp
|
||
+ scan_licence.cpp
|
||
+ output_licence_info.cpp
|
||
+
|
||
+ DEPENDS boost_system boost_filesystem boost_prg_exec_monitor boost_regex
|
||
+ STATIC_COMPILE_FLAGS -DBOOST_SYSTEM_STATIC_LINK=1
|
||
+ RELEASE
|
||
+ STATIC
|
||
+ )
|
||
diff --git a/tools/build/CMake/BoostConfig.cmake b/tools/build/CMake/BoostConfig.cmake
|
||
new file mode 100644
|
||
index 0000000..3519294
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/BoostConfig.cmake
|
||
@@ -0,0 +1,249 @@
|
||
+##########################################################################
|
||
+# Boost Configuration Support #
|
||
+##########################################################################
|
||
+# Copyright (C) 2007 Douglas Gregor <doug.gregor@gmail.com> #
|
||
+# Copyright (C) 2007 Troy Straszheim #
|
||
+# #
|
||
+# 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 #
|
||
+##########################################################################
|
||
+# This module defines several variables that provide information about #
|
||
+# the target compiler and platform. #
|
||
+# #
|
||
+# Variables defined: #
|
||
+# #
|
||
+# BOOST_TOOLSET: #
|
||
+# The Boost toolset name, used by the library version mechanism to #
|
||
+# encode the compiler and version into the name of the #
|
||
+# library. This toolset name will correspond with Boost.Build #
|
||
+# version 2's toolset name, including version number. #
|
||
+# #
|
||
+# MULTI_THREADED_COMPILE_FLAGS: #
|
||
+# Compilation flags when building multi-threaded programs. #
|
||
+# #
|
||
+# MULTI_THREADED_LINK_FLAGS: #
|
||
+# Linker flags when building multi-threaded programs. #
|
||
+##########################################################################
|
||
+include(CheckCXXSourceCompiles)
|
||
+
|
||
+
|
||
+# Toolset detection.
|
||
+if (NOT BOOST_TOOLSET)
|
||
+ set(BOOST_TOOLSET "unknown")
|
||
+ if (MSVC60)
|
||
+ set(BOOST_TOOLSET "vc6")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "6.0")
|
||
+ elseif(MSVC70)
|
||
+ set(BOOST_TOOLSET "vc7")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "7.0")
|
||
+ elseif(MSVC71)
|
||
+ set(BOOST_TOOLSET "vc71")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "7.1")
|
||
+ elseif(MSVC80)
|
||
+ set(BOOST_TOOLSET "vc80")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "8.0")
|
||
+ elseif(MSVC90)
|
||
+ set(BOOST_TOOLSET "vc90")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "9.0")
|
||
+ elseif(MSVC)
|
||
+ set(BOOST_TOOLSET "vc")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "unknown")
|
||
+ elseif(BORLAND)
|
||
+ set(BOOST_TOOLSET "bcb")
|
||
+ set(BOOST_COMPILER "msvc")
|
||
+ set(BOOST_COMPILER_VERSION "unknown")
|
||
+ elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
|
||
+ set(BOOST_COMPILER "gcc")
|
||
+
|
||
+ # Execute GCC with the -dumpversion option, to give us a version string
|
||
+ execute_process(
|
||
+ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion"
|
||
+ OUTPUT_VARIABLE GCC_VERSION_STRING)
|
||
+
|
||
+ # Match only the major and minor versions of the version string
|
||
+ string(REGEX MATCH "[0-9]+.[0-9]+" GCC_MAJOR_MINOR_VERSION_STRING
|
||
+ "${GCC_VERSION_STRING}")
|
||
+
|
||
+ # Match the full compiler version for the build name
|
||
+ string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" BOOST_COMPILER_VERSION
|
||
+ "${GCC_VERSION_STRING}")
|
||
+
|
||
+ # Strip out the period between the major and minor versions
|
||
+ string(REGEX REPLACE "\\." "" BOOST_VERSIONING_GCC_VERSION
|
||
+ "${GCC_MAJOR_MINOR_VERSION_STRING}")
|
||
+
|
||
+ # Set the GCC versioning toolset
|
||
+ set(BOOST_TOOLSET "gcc${BOOST_VERSIONING_GCC_VERSION}")
|
||
+ elseif(CMAKE_CXX_COMPILER MATCHES "/icpc$"
|
||
+ OR CMAKE_CXX_COMPILER MATCHES "/icpc.exe$"
|
||
+ OR CMAKE_CXX_COMPILER MATCHES "/icl.exe$")
|
||
+ set(BOOST_TOOLSET "intel")
|
||
+ set(BOOST_COMPILER "intel")
|
||
+ set(CMAKE_COMPILER_IS_INTEL ON)
|
||
+ execute_process(
|
||
+ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion"
|
||
+ OUTPUT_VARIABLE INTEL_VERSION_STRING
|
||
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
+ set(BOOST_COMPILER_VERSION ${INTEL_VERSION_STRING})
|
||
+ endif(MSVC60)
|
||
+endif (NOT BOOST_TOOLSET)
|
||
+
|
||
+boost_report_pretty("Boost compiler" BOOST_COMPILER)
|
||
+boost_report_pretty("Boost toolset" BOOST_TOOLSET)
|
||
+
|
||
+# create cache entry
|
||
+set(BOOST_PLATFORM "unknown")
|
||
+
|
||
+# Multi-threading support
|
||
+if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthreads")
|
||
+ set(MULTI_THREADED_LINK_LIBS rt)
|
||
+ set(BOOST_PLATFORM "sunos")
|
||
+elseif(CMAKE_SYSTEM_NAME STREQUAL "BeOS")
|
||
+ # No threading options necessary for BeOS
|
||
+ set(BOOST_PLATFORM "beos")
|
||
+elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD")
|
||
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthread")
|
||
+ set(MULTI_THREADED_LINK_LIBS pthread)
|
||
+ set(BOOST_PLATFORM "bsd")
|
||
+elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly")
|
||
+ # DragonFly is a FreeBSD bariant
|
||
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthread")
|
||
+ set(BOOST_PLATFORM "dragonfly")
|
||
+elseif(CMAKE_SYSTEM_NAME STREQUAL "IRIX")
|
||
+ # TODO: GCC on Irix doesn't support multi-threading?
|
||
+ set(BOOST_PLATFORM "irix")
|
||
+elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
|
||
+ # TODO: gcc on HP-UX does not support multi-threading?
|
||
+ set(BOOST_PLATFORM "hpux")
|
||
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||
+ # No threading options necessary for Mac OS X
|
||
+ set(BOOST_PLATFORM "macos")
|
||
+elseif(UNIX)
|
||
+ # Assume -pthread and -lrt on all other variants
|
||
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthread -D_REENTRANT")
|
||
+ set(MULTI_THREADED_LINK_FLAGS "")
|
||
+ set(MULTI_THREADED_LINK_LIBS pthread rt)
|
||
+
|
||
+ if (MINGW)
|
||
+ set(BOOST_PLATFORM "mingw")
|
||
+ elseif(CYGWIN)
|
||
+ set(BOOST_PLATFORM "cygwin")
|
||
+ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||
+ set(BOOST_PLATFORM "linux")
|
||
+ else()
|
||
+ set(BOOST_PLATFORM "unix")
|
||
+ endif()
|
||
+elseif(WIN32)
|
||
+ set(BOOST_PLATFORM "windows")
|
||
+else()
|
||
+ set(BOOST_PLATFORM "unknown")
|
||
+endif()
|
||
+
|
||
+# create cache entry
|
||
+set(BOOST_PLATFORM ${BOOST_PLATFORM} CACHE STRING "Boost platform name")
|
||
+
|
||
+boost_report_pretty("Boost platform" BOOST_PLATFORM)
|
||
+
|
||
+# Setup DEBUG_COMPILE_FLAGS, RELEASE_COMPILE_FLAGS, DEBUG_LINK_FLAGS and
|
||
+# and RELEASE_LINK_FLAGS based on the CMake equivalents
|
||
+if(CMAKE_CXX_FLAGS_DEBUG)
|
||
+ if(MSVC)
|
||
+ # Eliminate the /MDd flag; we'll add it back when we need it
|
||
+ string(REPLACE "/MDd" "" CMAKE_CXX_FLAGS_DEBUG
|
||
+ "${CMAKE_CXX_FLAGS_DEBUG}")
|
||
+ endif(MSVC)
|
||
+ set(DEBUG_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Compilation flags for debug libraries")
|
||
+endif(CMAKE_CXX_FLAGS_DEBUG)
|
||
+if(CMAKE_CXX_FLAGS_RELEASE)
|
||
+ if(MSVC)
|
||
+ # Eliminate the /MD flag; we'll add it back when we need it
|
||
+ string(REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE
|
||
+ "${CMAKE_CXX_FLAGS_RELEASE}")
|
||
+ endif(MSVC)
|
||
+ set(RELEASE_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "Compilation flags for release libraries")
|
||
+endif(CMAKE_CXX_FLAGS_RELEASE)
|
||
+if(CMAKE_SHARED_LINKER_FLAGS_DEBUG)
|
||
+ set(DEBUG_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING "Linker flags for debug libraries")
|
||
+endif(CMAKE_SHARED_LINKER_FLAGS_DEBUG)
|
||
+if(CMAKE_SHARED_LINKER_FLAGS_RELEASE)
|
||
+ set(RELEASE_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" CACHE STRING "Link flags for release libraries")
|
||
+endif(CMAKE_SHARED_LINKER_FLAGS_RELEASE)
|
||
+
|
||
+# Set DEBUG_EXE_LINK_FLAGS, RELEASE_EXE_LINK_FLAGS
|
||
+if (CMAKE_EXE_LINKER_FLAGS_DEBUG)
|
||
+ set(DEBUG_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
|
||
+endif (CMAKE_EXE_LINKER_FLAGS_DEBUG)
|
||
+if (CMAKE_EXE_LINKER_FLAGS_RELEASE)
|
||
+ set(RELEASE_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
|
||
+endif (CMAKE_EXE_LINKER_FLAGS_RELEASE)
|
||
+
|
||
+# Tweak the configuration and build types appropriately.
|
||
+if(CMAKE_CONFIGURATION_TYPES)
|
||
+ # Limit CMAKE_CONFIGURATION_TYPES to Debug and Release
|
||
+ set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Semicolon-separate list of supported configuration types" FORCE)
|
||
+else(CMAKE_CONFIGURATION_TYPES)
|
||
+ # Build in release mode by default
|
||
+ if (NOT CMAKE_BUILD_TYPE)
|
||
+ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are Release or Debug" FORCE)
|
||
+ endif (NOT CMAKE_BUILD_TYPE)
|
||
+endif(CMAKE_CONFIGURATION_TYPES)
|
||
+
|
||
+# Clear out the built-in C++ compiler and link flags for each of the
|
||
+# configurations.
|
||
+set(CMAKE_CXX_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_CXX_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
|
||
+set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
|
||
+
|
||
+# Set the build name
|
||
+set(BUILDNAME "${BOOST_COMPILER}-${BOOST_COMPILER_VERSION}-${BOOST_PLATFORM}")
|
||
+boost_report_pretty("Build name" BUILDNAME)
|
||
+
|
||
+set(BUILD_EXAMPLES "NONE" CACHE STRING "Semicolon-separated list of lowercase project names that should have their examples built, or \"ALL\"")
|
||
+
|
||
+set(BUILD_PROJECTS "ALL" CACHE STRING "Semicolon-separated list of project to build, or \"ALL\"")
|
||
+
|
||
+set(LIB_SUFFIX "" CACHE STRING "Name of suffix on 'lib' directory to which libs will be installed (e.g. add '64' here on certain 64 bit unices)")
|
||
+if(LIB_SUFFIX)
|
||
+ boost_report_pretty("Lib suffix" LIB_SUFFIX)
|
||
+endif()
|
||
+
|
||
+#
|
||
+# Only modify these if you're testing the cmake build itself
|
||
+#
|
||
+if(BOOST_CMAKE_SELFTEST)
|
||
+ colormsg(HIMAG "***")
|
||
+ colormsg(HIMAG "*** SELFTEST ENABLED")
|
||
+ colormsg(HIMAG "***")
|
||
+ set(root "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/test")
|
||
+ set(BOOST_CMAKE_SELFTEST_ROOT ${root})
|
||
+else()
|
||
+ set(root "${CMAKE_CURRENT_SOURCE_DIR}")
|
||
+endif()
|
||
+
|
||
+set(BOOST_LIBS_PARENT_DIR "${root}/libs" CACHE INTERNAL
|
||
+ "Directory to glob tools from... only change to test the build system itself")
|
||
+
|
||
+set(BOOST_TOOLS_PARENT_DIR "${root}/tools" CACHE INTERNAL
|
||
+ "Directory to glob tools from... only change to test the build system itself")
|
||
+
|
||
diff --git a/tools/build/CMake/BoostCore.cmake b/tools/build/CMake/BoostCore.cmake
|
||
new file mode 100644
|
||
index 0000000..5c810c6
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/BoostCore.cmake
|
||
@@ -0,0 +1,1579 @@
|
||
+##########################################################################
|
||
+# Core Functionality for Boost #
|
||
+##########################################################################
|
||
+# Copyright (C) 2007-2009 Douglas Gregor <doug.gregor@gmail.com> #
|
||
+# Copyright (C) 2007-2009 Troy Straszheim <troy@resophonic.com> #
|
||
+# #
|
||
+# 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 #
|
||
+##########################################################################
|
||
+# Important developer macros in this file: #
|
||
+# #
|
||
+# boost_library_project: Defines a Boost library project (e.g., #
|
||
+# Boost.Python). #
|
||
+# #
|
||
+# boost_add_library: Builds library binaries for Boost libraries #
|
||
+# with compiled sources (e.g., boost_filesystem). #
|
||
+# #
|
||
+# boost_add_executable: Builds executables. #
|
||
+##########################################################################
|
||
+
|
||
+# Defines a Boost library project (e.g., for Boost.Python). Use as:
|
||
+#
|
||
+# boost_library_project(libname
|
||
+# [SRCDIRS srcdir1 srcdir2 ...]
|
||
+# [TESTDIRS testdir1 testdir2 ...]
|
||
+# [DEPENDS lib1 lib2 ...]
|
||
+# [DESCRIPTION description]
|
||
+# [AUTHORS author1 author2 ...]
|
||
+# [MAINTAINERS maint1 maint2 ...]
|
||
+# [MODULARIZED])
|
||
+#
|
||
+# where libname is the name of the library (e.g., Python, or
|
||
+# Filesystem), srcdir1, srcdir2, etc, are subdirectories containing
|
||
+# library sources (for Boost libraries that build actual library
|
||
+# binaries), and testdir1, testdir2, etc, are subdirectories
|
||
+# containing regression tests. DEPENDS lists the names of the other
|
||
+# Boost libraries that this library depends on. If the dependencies
|
||
+# are not satisfied (e.g., because the library isn't present or its
|
||
+# build is turned off), this library won't be built.
|
||
+#
|
||
+# DESCRIPTION provides a brief description of the library, which can
|
||
+# be used to summarize the behavior of the library for a user. AUTHORS
|
||
+# lists the authors of the library, while MAINTAINERS lists the active
|
||
+# maintainers. If MAINTAINERS is left empty, it is assumed that the
|
||
+# authors are still maintaining the library. Both authors and maintainers
|
||
+# should have their name followed by their current e-mail address in
|
||
+# angle brackets, with -at- instead of the at sign, e.g.,
|
||
+# Douglas Gregor <doug.gregor -at- gmail.com>
|
||
+#
|
||
+# Example:
|
||
+# boost_library_project(
|
||
+# Thread
|
||
+# SRCDIRS src
|
||
+# TESTDIRS test
|
||
+# )
|
||
+macro(boost_library_project LIBNAME)
|
||
+ parse_arguments(THIS_PROJECT
|
||
+ "SRCDIRS;TESTDIRS;EXAMPLEDIRS;HEADERS;DOCDIRS;DESCRIPTION;AUTHORS;MAINTAINERS"
|
||
+ "MODULARIZED"
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its
|
||
+ # dependencies, its dependencies' dependencies, etc., transitively.
|
||
+ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_PROJECT_DEPENDS)
|
||
+ set(THIS_PROJECT_DEPENDS_ALL ${${THIS_PROJECT_DEPENDS}})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ while (ADDED_DEPS)
|
||
+ set(ADDED_DEPS FALSE)
|
||
+ foreach(DEP ${THIS_PROJECT_DEPENDS_ALL})
|
||
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
|
||
+ foreach(DEPDEP ${${DEP_DEPENDS}})
|
||
+ list(FIND THIS_PROJECT_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
|
||
+ if (DEPDEP_INDEX EQUAL -1)
|
||
+ list(APPEND THIS_PROJECT_DEPENDS_ALL ${DEPDEP})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ endif()
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+ endwhile()
|
||
+
|
||
+ string(TOLOWER "${LIBNAME}" libname)
|
||
+ string(TOLOWER "${LIBNAME}" BOOST_PROJECT_NAME)
|
||
+ string(TOUPPER "${LIBNAME}" ULIBNAME)
|
||
+ project(${LIBNAME})
|
||
+
|
||
+
|
||
+ if (THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS)
|
||
+
|
||
+ # We only build a component group for modularized libraries or libraries
|
||
+ # that have compiled parts.
|
||
+ if (COMMAND cpack_add_component_group)
|
||
+ # Compute a reasonable description for this library.
|
||
+ if (THIS_PROJECT_DESCRIPTION)
|
||
+ set(THIS_PROJECT_DESCRIPTION "Boost.${LIBNAME}\n\n${THIS_PROJECT_DESCRIPTION}")
|
||
+
|
||
+ if (THIS_PROJECT_AUTHORS)
|
||
+ list(LENGTH THIS_PROJECT_AUTHORS THIS_PROJECT_NUM_AUTHORS)
|
||
+ if (THIS_PROJECT_NUM_AUTHORS EQUAL 1)
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n\nAuthor: ")
|
||
+ else()
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n\nAuthors: ")
|
||
+ endif()
|
||
+ set(THIS_PROJECT_FIRST_AUTHOR TRUE)
|
||
+ foreach(AUTHOR ${THIS_PROJECT_AUTHORS})
|
||
+ string(REGEX REPLACE " *-at- *" "@" AUTHOR ${AUTHOR})
|
||
+ if (THIS_PROJECT_FIRST_AUTHOR)
|
||
+ set(THIS_PROJECT_FIRST_AUTHOR FALSE)
|
||
+ else()
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n ")
|
||
+ endif()
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}${AUTHOR}")
|
||
+ endforeach(AUTHOR)
|
||
+ endif (THIS_PROJECT_AUTHORS)
|
||
+
|
||
+ if (THIS_PROJECT_MAINTAINERS)
|
||
+ list(LENGTH THIS_PROJECT_MAINTAINERS THIS_PROJECT_NUM_MAINTAINERS)
|
||
+ if (THIS_PROJECT_NUM_MAINTAINERS EQUAL 1)
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\nMaintainer: ")
|
||
+ else()
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\nMaintainers: ")
|
||
+ endif()
|
||
+ set(THIS_PROJECT_FIRST_MAINTAINER TRUE)
|
||
+ foreach(MAINTAINER ${THIS_PROJECT_MAINTAINERS})
|
||
+ string(REGEX REPLACE " *-at- *" "@" MAINTAINER ${MAINTAINER})
|
||
+ if (THIS_PROJECT_FIRST_MAINTAINER)
|
||
+ set(THIS_PROJECT_FIRST_MAINTAINER FALSE)
|
||
+ else()
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n ")
|
||
+ endif()
|
||
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}${MAINTAINER}")
|
||
+ endforeach(MAINTAINER)
|
||
+ endif (THIS_PROJECT_MAINTAINERS)
|
||
+ endif (THIS_PROJECT_DESCRIPTION)
|
||
+
|
||
+ # Create a component group for this library
|
||
+ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname})
|
||
+ cpack_add_component_group(${CPACK_COMPONENT_GROUP_NAME}
|
||
+ DISPLAY_NAME "${LIBNAME}"
|
||
+ DESCRIPTION ${THIS_PROJECT_DESCRIPTION})
|
||
+ endif () # COMMAND cpake_add_component_group
|
||
+ endif () # THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS
|
||
+
|
||
+ if (THIS_PROJECT_MODULARIZED)
|
||
+ #
|
||
+ # Don't add this module's include directory
|
||
+ # until modularization makes sense
|
||
+ #
|
||
+ # include_directories("${Boost_SOURCE_DIR}/libs/${libname}/include")
|
||
+
|
||
+ #
|
||
+ # Horrible hackery. Make install of headers from modularized directories
|
||
+ # OPTIONAL, which only works on cmake >= 2.7
|
||
+ #
|
||
+ #
|
||
+ # TDS 20091009: disable this modularized stuff, as forcing
|
||
+ # people to make modularize (which wastes your source directory)
|
||
+ # is a huge hassle and anyway it looks like the 'modularization'
|
||
+ # of boost is dead for a while.
|
||
+ #
|
||
+
|
||
+ # if (${CMAKE_MAJOR_VERSION} GREATER 1 AND ${CMAKE_MINOR_VERSION} GREATER 6)
|
||
+ # # Install this module's headers
|
||
+ # install(DIRECTORY include/boost
|
||
+ # DESTINATION ${BOOST_HEADER_DIR}
|
||
+ # ${_INSTALL_OPTIONAL}
|
||
+ # COMPONENT ${libname}_headers
|
||
+ # PATTERN "CVS" EXCLUDE
|
||
+ # PATTERN ".svn" EXCLUDE)
|
||
+ # else()
|
||
+ # if (EXISTS include/boost)
|
||
+ # # Install this module's headers
|
||
+ # install(DIRECTORY include/boost
|
||
+ # DESTINATION ${BOOST_HEADER_DIR}
|
||
+ # ${_INSTALL_OPTIONAL}
|
||
+ # COMPONENT ${libname}_headers
|
||
+ # PATTERN "CVS" EXCLUDE
|
||
+ # PATTERN ".svn" EXCLUDE)
|
||
+ # endif()
|
||
+ # endif()
|
||
+
|
||
+
|
||
+ if (COMMAND cpack_add_component)
|
||
+ # Determine the header dependencies
|
||
+ set(THIS_PROJECT_HEADER_DEPENDS)
|
||
+ foreach(DEP ${${THIS_PROJECT_DEPENDS}})
|
||
+ string(TOLOWER ${DEP} dep)
|
||
+ if (${dep} STREQUAL "serialization")
|
||
+ # TODO: Ugly, ugly hack until the serialization library is modularized
|
||
+ elseif (${dep} STREQUAL "thread")
|
||
+ else()
|
||
+ list(APPEND THIS_PROJECT_HEADER_DEPENDS ${dep}_headers)
|
||
+ endif()
|
||
+ endforeach(DEP)
|
||
+
|
||
+ # Tell CPack about the headers component
|
||
+ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname})
|
||
+ cpack_add_component(${libname}_headers
|
||
+ DISPLAY_NAME "Header files"
|
||
+ GROUP ${CPACK_COMPONENT_GROUP_NAME}
|
||
+ DEPENDS ${THIS_PROJECT_HEADER_DEPENDS})
|
||
+ endif ()
|
||
+ endif () # THIS_PROJECT_MODULARIZED
|
||
+
|
||
+ #-- This is here to debug the modularize code
|
||
+ set(modularize_debug FALSE)
|
||
+ if (modularize_debug)
|
||
+ set(modularize_output ${Boost_BINARY_DIR})
|
||
+ set(modularize_libs_dir "modularize")
|
||
+ else (modularize_debug)
|
||
+ set(modularize_output ${Boost_SOURCE_DIR})
|
||
+ set(modularize_libs_dir "libs")
|
||
+ endif(modularize_debug)
|
||
+
|
||
+ #
|
||
+ # Modularization code
|
||
+ #
|
||
+ if(THIS_PROJECT_HEADERS)
|
||
+ set(${LIBNAME}-modularize-commands)
|
||
+ foreach(item ${THIS_PROJECT_HEADERS})
|
||
+ if(EXISTS "${Boost_SOURCE_DIR}/boost/${item}")
|
||
+ if(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}")
|
||
+ list(APPEND ${LIBNAME}-modularize-commands
|
||
+ COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||
+ "${Boost_SOURCE_DIR}/boost/${item}"
|
||
+ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}"
|
||
+ )
|
||
+ if (NOT modularize_debug)
|
||
+ list(APPEND ${LIBNAME}-modularize-commands
|
||
+ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${Boost_SOURCE_DIR}/boost/${item}"
|
||
+ )
|
||
+ endif (NOT modularize_debug)
|
||
+ else(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}")
|
||
+ list(APPEND ${LIBNAME}-modularize-commands
|
||
+ COMMAND "${CMAKE_COMMAND}" -E copy
|
||
+ "${Boost_SOURCE_DIR}/boost/${item}"
|
||
+ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}"
|
||
+ )
|
||
+ if (NOT modularize_debug)
|
||
+ list(APPEND ${LIBNAME}-modularize-commands
|
||
+ COMMAND "${CMAKE_COMMAND}" -E remove "${Boost_SOURCE_DIR}/boost/${item}"
|
||
+ )
|
||
+ endif (NOT modularize_debug)
|
||
+
|
||
+ endif(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}")
|
||
+ elseif(EXISTS "${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/include/boost/${item}")
|
||
+ # Okay; already modularized
|
||
+ else()
|
||
+ message(SEND_ERROR
|
||
+ "Header or directory boost/${item} does not exist. The HEADERS argument in ${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/CMakeLists.txt should be updated.")
|
||
+ endif()
|
||
+ endforeach(item)
|
||
+
|
||
+ if (${LIBNAME}-modularize-commands)
|
||
+ set(${LIBNAME}-modularize-commands
|
||
+ # COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/libs/${libname}/include"
|
||
+ COMMAND "${CMAKE_COMMAND}" -E make_directory
|
||
+ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost"
|
||
+ ${${LIBNAME}-modularize-commands}
|
||
+ )
|
||
+ if (NOT modularize_debug)
|
||
+ set(${LIBNAME}-modularize-commands
|
||
+ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/${modularize_libs_dir}/${libname}/include"
|
||
+ ${${LIBNAME}-modularize-commands}
|
||
+ )
|
||
+ endif (NOT modularize_debug)
|
||
+ # disable modularization
|
||
+ # add_custom_target(${LIBNAME}-modularize
|
||
+ # ${${LIBNAME}-modularize-commands}
|
||
+ # COMMENT "Modularizing ${LIBNAME} headers to project-local dir from monolithic boost dir"
|
||
+ # )
|
||
+
|
||
+ if(THIS_PROJECT_MODULARIZED)
|
||
+ #
|
||
+ # Temporarily disable modularization
|
||
+ #
|
||
+ # add_dependencies(modularize ${LIBNAME}-modularize)
|
||
+ #
|
||
+ endif(THIS_PROJECT_MODULARIZED)
|
||
+ endif()
|
||
+ endif(THIS_PROJECT_HEADERS)
|
||
+
|
||
+ # For each of the modular libraries on which this project depends,
|
||
+ # add the include path for that library.
|
||
+ set(THIS_PROJECT_HAS_HEADER_DEPENDS FALSE)
|
||
+ # Temporarily disable modularization stuff.
|
||
+ # foreach(DEP ${THIS_PROJECT_DEPENDS_ALL})
|
||
+ # include_directories("${modularize_output}/${modularize_libs_dir}/${DEP}/include")
|
||
+ # endforeach(DEP)
|
||
+
|
||
+ # TODO: is this still necessary?
|
||
+ if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests)
|
||
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests)
|
||
+ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests)
|
||
+ if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME})
|
||
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME})
|
||
+ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME})
|
||
+
|
||
+ # Include each of the source directories
|
||
+ if(THIS_PROJECT_SRCDIRS)
|
||
+ foreach(SUBDIR ${THIS_PROJECT_SRCDIRS})
|
||
+ add_subdirectory(${SUBDIR})
|
||
+ endforeach(SUBDIR ${THIS_PROJECT_SRCDIRS})
|
||
+ endif()
|
||
+
|
||
+ set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE)
|
||
+
|
||
+ #set(BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS} PARENT_SCOPE)
|
||
+ #message("BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS}")
|
||
+ #set(BOOST_ALL_COMPONENTS ${LIBNAME} ${BOOST_ALL_COMPONENTS} PARENT_SCOPE)
|
||
+
|
||
+ list(FIND BUILD_TESTS ${libname} BUILD_TESTS_INDEX)
|
||
+ if ((BUILD_TESTS_INDEX GREATER -1) OR (BUILD_TESTS STREQUAL "ALL"))
|
||
+ # set the tests directories list for later inclusion
|
||
+ # project(${libname}-tests)
|
||
+ if (THIS_PROJECT_TESTDIRS)
|
||
+ set(BOOST_TEST_PROJECTS ${ULIBNAME} ${BOOST_TEST_PROJECTS} PARENT_SCOPE)
|
||
+ endif()
|
||
+ foreach(SUBDIR ${THIS_PROJECT_TESTDIRS})
|
||
+ # message(STATUS "+-- ${SUBDIR}")
|
||
+ # add_subdirectory(${SUBDIR})
|
||
+ set(BOOST_${ULIBNAME}_TESTDIRS
|
||
+ ${BOOST_${ULIBNAME}_TESTDIRS}
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR}
|
||
+ PARENT_SCOPE)
|
||
+ endforeach()
|
||
+ endif()
|
||
+
|
||
+ list(FIND BUILD_EXAMPLES ${libname} BUILD_EXAMPLES_INDEX)
|
||
+ if ((BUILD_EXAMPLES_INDEX GREATER -1) OR (BUILD_EXAMPLES STREQUAL "ALL"))
|
||
+ project(${libname}-examples)
|
||
+ # Include the example directories.
|
||
+ foreach(SUBDIR ${THIS_PROJECT_EXAMPLEDIRS})
|
||
+ message(STATUS "+-- ${SUBDIR}")
|
||
+ add_subdirectory(${SUBDIR})
|
||
+ endforeach()
|
||
+ endif()
|
||
+
|
||
+ if (BUILD_DOCUMENTATION AND THIS_PROJECT_DOCDIRS)
|
||
+ foreach(SUBDIR ${THIS_PROJECT_DOCDIRS})
|
||
+ add_subdirectory(${SUBDIR})
|
||
+ endforeach(SUBDIR)
|
||
+ endif ()
|
||
+endmacro(boost_library_project)
|
||
+
|
||
+macro(boost_tool_project TOOLNAME)
|
||
+ parse_arguments(THIS_PROJECT
|
||
+ "DESCRIPTION;AUTHORS;MAINTAINERS"
|
||
+ ""
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ set(THIS_PROJECT_IS_TOOL TRUE)
|
||
+
|
||
+ string(TOUPPER ${TOOLNAME} UTOOLNAME)
|
||
+ project(${TOOLNAME})
|
||
+
|
||
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||
+
|
||
+ set(THIS_PROJECT_OKAY ON)
|
||
+ set(THIS_PROJECT_FAILED_DEPS "")
|
||
+
|
||
+ # message(">>> ${BOOST_${UTOOLNAME}_DEPENDS}")
|
||
+ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS})
|
||
+ # get_target_property(dep_location boost_${DEP} TYPE)
|
||
+ # message("${DEP} TYPE=${dep_location}")
|
||
+ # if (NOT ${dep_location})
|
||
+ # set(THIS_PROJECT_OKAY OFF)
|
||
+ # set(THIS_PROJECT_FAILED_DEPS "${THIS_PROJECT_FAILED_DEPS} ${DEP}\n")
|
||
+ # endif (NOT ${dep_location})
|
||
+ # endforeach(DEP)
|
||
+ #
|
||
+ # if (NOT THIS_PROJECT_OKAY)
|
||
+ # #if (BUILD_${UTOOLNAME})
|
||
+ # # The user explicitly turned on this tool in a prior
|
||
+ # # iteration, but it can no longer be built because one of the
|
||
+ # # dependencies was turned off. Force this option off and
|
||
+ # # complain about it.
|
||
+ # set(BUILD_${UTOOLNAME} OFF CACHE BOOL "Build ${TOOLNAME}" FORCE)
|
||
+ # message(SEND_ERROR "Cannot build ${TOOLNAME} due to missing library dependencies:\n${THIS_PROJECT_FAILED_DEPS}")
|
||
+ # #endif ()
|
||
+ # endif (NOT THIS_PROJECT_OKAY)
|
||
+ #
|
||
+ # if(BUILD_${UTOOLNAME} AND THIS_PROJECT_OKAY)
|
||
+ # string(TOLOWER "${TOOLNAME}" toolname)
|
||
+ #
|
||
+ # # Add this module's include directory
|
||
+ #
|
||
+ # # For each of the modular libraries on which this project depends,
|
||
+ # # add the include path for that library.
|
||
+ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS})
|
||
+ # string(TOUPPER ${DEP} UDEP)
|
||
+ # #
|
||
+ # # Modularization disabled
|
||
+ # #
|
||
+ # # include_directories("${Boost_SOURCE_DIR}/libs/${DEP}/include")
|
||
+ # #
|
||
+ # endforeach(DEP)
|
||
+ # endif()
|
||
+endmacro(boost_tool_project)
|
||
+
|
||
+#TODO: Finish this documentation
|
||
+# Defines dependencies of a boost project and testing targets. Use as:
|
||
+#
|
||
+# boost_module(libname
|
||
+# DEPENDS srcdir1 srcdir2 ...
|
||
+# TEST_DEPENDS testdir1 testdir2 ...
|
||
+#
|
||
+# Example:
|
||
+# boost_library_project(
|
||
+# Thread
|
||
+# SRCDIRS src
|
||
+# TESTDIRS test
|
||
+# )
|
||
+#
|
||
+macro(boost_module LIBNAME)
|
||
+ parse_arguments(THIS_MODULE
|
||
+ "DEPENDS"
|
||
+ ""
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ # Export BOOST_${LIBNAME}_DEPENDS
|
||
+ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_MODULE_LIBNAME_DEPENDS)
|
||
+ set(${THIS_MODULE_LIBNAME_DEPENDS} ${THIS_MODULE_DEPENDS})
|
||
+
|
||
+ # message(STATUS "----------------------------------------------------------------")
|
||
+ # message(STATUS "LIBNAME: ${LIBNAME}")
|
||
+ # message(STATUS "THIS_MODULE_DEPENDS: ${THIS_MODULE_DEPENDS}")
|
||
+ # message(STATUS "THIS_MODULE_LIBNAME_DEPENDS: ${THIS_MODULE_LIBNAME_DEPENDS}")
|
||
+ # message(STATUS "${THIS_MODULE_LIBNAME_DEPENDS}: ${${THIS_MODULE_LIBNAME_DEPENDS}}")
|
||
+ # message(STATUS "THIS_MODULE_TEST_DEPENDS: ${THIS_MODULE_TEST_DEPENDS}")
|
||
+ # message(STATUS "THIS_MODULE_LIBNAME_TEST_DEPENDS: ${THIS_MODULE_LIBNAME_TEST_DEPENDS}")
|
||
+ # message(STATUS "${THIS_MODULE_LIBNAME_TEST_DEPENDS}: ${${THIS_MODULE_LIBNAME_TEST_DEPENDS}}")
|
||
+endmacro(boost_module)
|
||
+
|
||
+# This macro is an internal utility macro that builds the name of a
|
||
+# particular variant of a library
|
||
+#
|
||
+# boost_library_variant_target_name(feature1 feature2 ...)
|
||
+#
|
||
+# where feature1, feature2, etc. are the names of features to be
|
||
+# included in this variant, e.g., MULTI_THREADED, DEBUG.
|
||
+#
|
||
+# This macro sets three macros:
|
||
+#
|
||
+# VARIANT_TARGET_NAME: The suffix that should be appended to the
|
||
+# name of the library target to name this variant of the
|
||
+# library. For example, this might be "-mt-static" for a static,
|
||
+# multi-threaded variant. It should be used to name the CMake
|
||
+# library target, e.g., boost_signals-mt-static.
|
||
+#
|
||
+# VARIANT_VERSIONED_NAME: The suffix that will be added to the name
|
||
+# of the generated library, containing information about the
|
||
+# particular version of the library and the toolset used to build
|
||
+# this library. For example, this might be "-gcc41-mt-1_34" for the
|
||
+# multi-threaded, release variant of the library in Boost 1.34.0 as
|
||
+# compiled with GCC 4.1. If option MANGLE_LIBNAMES is OFF, this
|
||
+# variable is set to the empty string.
|
||
+#
|
||
+# VARIANT_DISPLAY_NAME: The display name that describes this
|
||
+# variant, e.g., "Debug, static, multi-threaded".
|
||
+#
|
||
+macro(boost_library_variant_target_name)
|
||
+ set(VARIANT_TARGET_NAME "")
|
||
+
|
||
+ # The versioned name starts with the full Boost toolset
|
||
+ if(WINMANGLE_LIBNAMES)
|
||
+ set(VARIANT_VERSIONED_NAME "-${BOOST_TOOLSET}")
|
||
+ else(WINMANGLE_LIBNAMES)
|
||
+ set(VARIANT_VERSIONED_NAME "")
|
||
+ endif(WINMANGLE_LIBNAMES)
|
||
+
|
||
+ # Add -mt for multi-threaded libraries
|
||
+ list_contains(VARIANT_IS_MT MULTI_THREADED ${ARGN})
|
||
+ if (VARIANT_IS_MT)
|
||
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-mt")
|
||
+
|
||
+ # If we're creating versioned names, tack on "-mt"
|
||
+ set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-mt")
|
||
+ endif (VARIANT_IS_MT)
|
||
+
|
||
+ # Add -static for static libraries, -shared for shared libraries
|
||
+ list_contains(VARIANT_IS_STATIC STATIC ${ARGN})
|
||
+ if (VARIANT_IS_STATIC)
|
||
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-static")
|
||
+ set(VARIANT_DISPLAY_NAME "Static")
|
||
+ else (VARIANT_IS_STATIC)
|
||
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-shared")
|
||
+ set(VARIANT_DISPLAY_NAME "Shared")
|
||
+ endif (VARIANT_IS_STATIC)
|
||
+
|
||
+ # Add "multi-threaded" to the display name for multithreaded libraries.
|
||
+ if (VARIANT_IS_MT)
|
||
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, multi-threaded")
|
||
+ endif ()
|
||
+
|
||
+ # Compute the ABI tag, which depends on various kinds of options
|
||
+ set(VARIANT_ABI_TAG "")
|
||
+
|
||
+ # Linking statically to the runtime library
|
||
+ list_contains(VARIANT_IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN})
|
||
+ if (VARIANT_IS_STATIC_RUNTIME)
|
||
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-staticrt")
|
||
+ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}s")
|
||
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, static runtime")
|
||
+ endif (VARIANT_IS_STATIC_RUNTIME)
|
||
+
|
||
+ # Using the debug version of the runtime library.
|
||
+ # With Visual C++, this comes automatically with debug
|
||
+ if (MSVC)
|
||
+ list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN})
|
||
+ if (VARIANT_IS_DEBUG)
|
||
+ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}g")
|
||
+ endif (VARIANT_IS_DEBUG)
|
||
+ endif (MSVC)
|
||
+
|
||
+ # Add -pydebug for debug builds of Python
|
||
+ list_contains(VARIANT_IS_PYDEBUG PYTHON_DEBUG ${ARGN})
|
||
+ if (VARIANT_IS_PYDEBUG)
|
||
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-pydebug")
|
||
+ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}y")
|
||
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, Python debugging")
|
||
+ endif (VARIANT_IS_PYDEBUG)
|
||
+
|
||
+ # TODO: STLport rather than default library
|
||
+ # TODO: STLport's deprecated iostreams
|
||
+
|
||
+ # Add -debug for debug libraries
|
||
+ list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN})
|
||
+ # message("ARGN=${ARGN}")
|
||
+ if (VARIANT_IS_DEBUG)
|
||
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-debug")
|
||
+
|
||
+ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}d")
|
||
+
|
||
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, debug")
|
||
+ else()
|
||
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, release")
|
||
+ endif()
|
||
+
|
||
+ # If there is an ABI tag, append it to the versioned name
|
||
+ if (VARIANT_ABI_TAG)
|
||
+ set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-${VARIANT_ABI_TAG}")
|
||
+ endif (VARIANT_ABI_TAG)
|
||
+
|
||
+ if(WINMANGLE_LIBNAMES)
|
||
+ # Append the Boost version number to the versioned name
|
||
+ if(BOOST_VERSION_SUBMINOR GREATER 0)
|
||
+ set(VARIANT_VERSIONED_NAME
|
||
+ "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}_${BOOST_VERSION_SUBMINOR}")
|
||
+ else(BOOST_VERSION_SUBMINOR GREATER 0)
|
||
+ set(VARIANT_VERSIONED_NAME
|
||
+ "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}")
|
||
+ endif(BOOST_VERSION_SUBMINOR GREATER 0)
|
||
+ endif(WINMANGLE_LIBNAMES)
|
||
+endmacro(boost_library_variant_target_name)
|
||
+
|
||
+# This macro is an internal utility macro that updates compilation and
|
||
+# linking flags based on interactions among the features in a variant.
|
||
+#
|
||
+# boost_feature_interactions(prefix
|
||
+# feature1 feature2 ...)
|
||
+#
|
||
+# where "prefix" is the prefix of the compilation and linking flags
|
||
+# that will be updated (e.g., ${prefix}_COMPILE_FLAGS). feature1,
|
||
+# feature2, etc. are the names of the features used in this particular
|
||
+# variant. If the features in this variant conflict, set
|
||
+# ${prefix}_OKAY to FALSE.
|
||
+macro(boost_feature_interactions PREFIX)
|
||
+ # Don't build or link against a shared library and a static run-time
|
||
+ list_contains(IS_SHARED SHARED ${ARGN})
|
||
+ list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN})
|
||
+ if (IS_SHARED AND IS_STATIC_RUNTIME)
|
||
+ set(${PREFIX}_OKAY FALSE)
|
||
+ endif (IS_SHARED AND IS_STATIC_RUNTIME)
|
||
+
|
||
+ # With Visual C++, the dynamic runtime is multi-threaded only
|
||
+ if (MSVC)
|
||
+ list_contains(IS_DYNAMIC_RUNTIME DYNAMIC_RUNTIME ${ARGN})
|
||
+ list_contains(IS_SINGLE_THREADED SINGLE_THREADED ${ARGN})
|
||
+ if (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED)
|
||
+ set(${PREFIX}_OKAY FALSE)
|
||
+ endif (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED)
|
||
+ endif (MSVC)
|
||
+
|
||
+ # Visual C++-specific runtime library flags
|
||
+ if(MSVC)
|
||
+ list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN})
|
||
+ list_contains(IS_DEBUG DEBUG ${ARGN})
|
||
+ if(IS_DEBUG)
|
||
+ if(IS_STATIC_RUNTIME)
|
||
+ set(${PREFIX}_COMPILE_FLAGS "/MTd ${${PREFIX}_COMPILE_FLAGS}")
|
||
+ else(IS_STATIC_RUNTIME)
|
||
+ set(${PREFIX}_COMPILE_FLAGS "/MDd ${${PREFIX}_COMPILE_FLAGS}")
|
||
+ endif(IS_STATIC_RUNTIME)
|
||
+ else(IS_DEBUG)
|
||
+ if(IS_STATIC_RUNTIME)
|
||
+ set(${PREFIX}_COMPILE_FLAGS "/MT ${${PREFIX}_COMPILE_FLAGS}")
|
||
+ else(IS_STATIC_RUNTIME)
|
||
+ set(${PREFIX}_COMPILE_FLAGS "/MD ${${PREFIX}_COMPILE_FLAGS}")
|
||
+ endif(IS_STATIC_RUNTIME)
|
||
+ endif(IS_DEBUG)
|
||
+ endif(MSVC)
|
||
+endmacro(boost_feature_interactions)
|
||
+
|
||
+# This macro is an internal utility macro that builds a particular
|
||
+# variant of a boost library.
|
||
+#
|
||
+# boost_library_variant(libname
|
||
+# feature1 feature2 ...)
|
||
+#
|
||
+# where libname is the name of the Boost library (e.g.,
|
||
+# "boost_filesystem") and feature1, feature2, ... are the features
|
||
+# that will be used in this variant.
|
||
+#
|
||
+# This macro will define a new library target based on libname and the
|
||
+# specific variant name (see boost_library_variant_target_name), which
|
||
+# depends on the utility target libname. The compilation and linking
|
||
+# flags for this library are defined by THIS_LIB_COMPILE_FLAGS,
|
||
+# THIS_LIB_LINK_FLAGS, THIS_LIB_LINK_LIBS, and all of the compile and
|
||
+# linking flags implied by the features provided.
|
||
+#
|
||
+# If any of the features listed conflict with this library, no new
|
||
+# targets will be built. For example, if the library provides the
|
||
+# option NO_MULTI_THREADED, and one of the features provided is
|
||
+# MULTI_THREADED, this macro will essentially be a no-op.
|
||
+macro(boost_library_variant LIBNAME)
|
||
+ set(THIS_VARIANT_COMPILE_FLAGS "${THIS_LIB_COMPILE_FLAGS}")
|
||
+ set(THIS_VARIANT_LINK_FLAGS "${THIS_LIB_LINK_FLAGS}")
|
||
+ set(THIS_VARIANT_LINK_LIBS ${THIS_LIB_LINK_LIBS})
|
||
+
|
||
+ # Determine if it is okay to build this variant
|
||
+ set(THIS_VARIANT_OKAY TRUE)
|
||
+ foreach(ARG ${ARGN})
|
||
+ # If the library itself stated that we cannot build this variant,
|
||
+ # don't. For example, we're trying to build a shared library
|
||
+ # variant, but the user specified NO_SHARED in the requirements of
|
||
+ # the library.
|
||
+ if (THIS_LIB_NO_${ARG})
|
||
+ set(THIS_VARIANT_OKAY FALSE)
|
||
+ set(SELECT_VARIANT_FAILURE_REASONS "NO_${ARG}")
|
||
+ endif (THIS_LIB_NO_${ARG})
|
||
+
|
||
+ # If the user specified that we should not build any variants of
|
||
+ # this kind, don't. For example, if the ENABLE_SHARED option is
|
||
+ # off, don't build shared libraries.
|
||
+ if(NOT ENABLE_${ARG})
|
||
+ set(THIS_VARIANT_OKAY FALSE)
|
||
+ set(SELECT_VARIANT_FAILURE_REASONS "variant disabled because ENABLE_${ARG} is OFF")
|
||
+ endif(NOT ENABLE_${ARG})
|
||
+
|
||
+ # Accumulate compile and link flags
|
||
+ set(THIS_VARIANT_COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS} ${THIS_LIB_${ARG}_COMPILE_FLAGS} ${${ARG}_COMPILE_FLAGS}")
|
||
+ set(THIS_VARIANT_LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS} ${THIS_LIB_${ARG}_LINK_FLAGS} ${${ARG}_LINK_FLAGS}")
|
||
+ set(THIS_VARIANT_LINK_LIBS ${THIS_VARIANT_LINK_LIBS} ${THIS_LIB_${ARG}_LINK_LIBS} ${${ARG}_LINK_LIBS})
|
||
+ endforeach(ARG ${ARGN})
|
||
+
|
||
+ # message("boost_library_variant(${LIBNAME} ${ARGN})")
|
||
+
|
||
+ # Handle feature interactions
|
||
+ boost_feature_interactions("THIS_VARIANT" ${ARGN})
|
||
+ boost_library_variant_target_name(${ARGN})
|
||
+ # Determine the suffix for this library target
|
||
+ set(VARIANT_LIBNAME "${LIBNAME}${VARIANT_TARGET_NAME}")
|
||
+ trace(VARIANT_LIBNAME)
|
||
+
|
||
+ set(DEPENDENCY_FAILURES "")
|
||
+ foreach(dep ${THIS_LIB_DEPENDS})
|
||
+ trace(dep)
|
||
+ dependency_check("${dep}${VARIANT_TARGET_NAME}")
|
||
+ endforeach()
|
||
+ trace(THIS_VARIANT_OKAY)
|
||
+ trace(DEPENDENCY_FAILURES)
|
||
+
|
||
+ #
|
||
+ # Announce dependency failures only if this variant
|
||
+ # is otherwise OK
|
||
+ #
|
||
+ if(THIS_VARIANT_OKAY AND DEPENDENCY_FAILURES)
|
||
+ set(THIS_VARIANT_OKAY FALSE)
|
||
+ # separate_arguments(DEPENDENCY_FAILURES)
|
||
+ colormsg(HIRED " ${LIBNAME}${VARIANT_TARGET_NAME}" RED "(library) disabled due to dependency failures:")
|
||
+ foreach (depfail ${DEPENDENCY_FAILURES})
|
||
+ colormsg(RED " " YELLOW "${depfail}")
|
||
+ endforeach()
|
||
+ endif()
|
||
+
|
||
+ if (THIS_VARIANT_OKAY)
|
||
+
|
||
+ # We handle static vs. dynamic libraries differently
|
||
+ list_contains(THIS_LIB_IS_STATIC "STATIC" ${ARGN})
|
||
+
|
||
+ if (THIS_LIB_IS_STATIC)
|
||
+
|
||
+ add_library(${VARIANT_LIBNAME} STATIC ${THIS_LIB_SOURCES})
|
||
+
|
||
+ # On Windows, we need static and shared libraries to have
|
||
+ # different names, so we follow the Boost.Build version 2 style
|
||
+ # and prepend "lib" to the name.
|
||
+ if(WIN32 AND NOT (CYGWIN OR MINGW))
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ PREFIX "${LIBPREFIX}"
|
||
+ )
|
||
+ endif()
|
||
+
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}"
|
||
+ CLEAN_DIRECT_OUTPUT 1
|
||
+ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ )
|
||
+
|
||
+ elseif (THIS_LIB_MODULE)
|
||
+
|
||
+ add_library(${VARIANT_LIBNAME} MODULE ${THIS_LIB_SOURCES})
|
||
+
|
||
+ #
|
||
+ # You don't set SOVERSION here... nothing links "to" these things
|
||
+ #
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ OUTPUT_NAME ${LIBNAME}
|
||
+ CLEAN_DIRECT_OUTPUT 1
|
||
+ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ PREFIX ""
|
||
+ )
|
||
+
|
||
+ else () # shared
|
||
+
|
||
+ add_library(${VARIANT_LIBNAME} SHARED ${THIS_LIB_SOURCES})
|
||
+
|
||
+ if(MINGW)
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ PREFIX ""
|
||
+ )
|
||
+ endif()
|
||
+
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}"
|
||
+ CLEAN_DIRECT_OUTPUT 1
|
||
+ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ )
|
||
+
|
||
+ if (BUILD_SOVERSIONED)
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ SOVERSION "${BOOST_VERSION}"
|
||
+ )
|
||
+ endif()
|
||
+ endif ()
|
||
+
|
||
+ # The basic LIBNAME target depends on each of the variants
|
||
+ add_dependencies(${LIBNAME} ${VARIANT_LIBNAME})
|
||
+
|
||
+ # Link against whatever libraries this library depends on
|
||
+ target_link_libraries(${VARIANT_LIBNAME} ${THIS_VARIANT_LINK_LIBS})
|
||
+
|
||
+ foreach(d ${THIS_LIB_DEPENDS})
|
||
+ # message(STATUS "linking ${d}")
|
||
+ target_link_libraries(${VARIANT_LIBNAME} "${d}${VARIANT_TARGET_NAME}")
|
||
+ endforeach()
|
||
+
|
||
+ export(TARGETS ${VARIANT_LIBNAME}
|
||
+ APPEND
|
||
+ FILE ${BOOST_EXPORTS_FILE})
|
||
+
|
||
+ if(NOT THIS_LIB_NO_INSTALL)
|
||
+ # Setup installation properties
|
||
+ string(TOLOWER "${BOOST_PROJECT_NAME}${VARIANT_TARGET_NAME}" LIB_COMPONENT)
|
||
+ string(REPLACE "-" "_" LIB_COMPONENT ${LIB_COMPONENT})
|
||
+
|
||
+ # Installation of this library variant
|
||
+ string(TOLOWER ${BOOST_PROJECT_NAME} libname)
|
||
+
|
||
+ #
|
||
+ # tds: componentization disabled for the moment
|
||
+ #
|
||
+ install(TARGETS ${VARIANT_LIBNAME}
|
||
+ EXPORT Boost
|
||
+ DESTINATION ${BOOST_LIB_INSTALL_DIR}
|
||
+ COMPONENT Boost) #${LIB_COMPONENT})
|
||
+
|
||
+ # set_property(
|
||
+ # TARGET ${VARIANT_LIBNAME}
|
||
+ # PROPERTY BOOST_CPACK_COMPONENT
|
||
+ # ${LIB_COMPONENT})
|
||
+
|
||
+ # Make the library installation component dependent on the library
|
||
+ # installation components of dependent libraries.
|
||
+ trace(THIS_LIB_DEPENDS)
|
||
+ set(THIS_LIB_COMPONENT_DEPENDS)
|
||
+ foreach(DEP ${THIS_LIB_DEPENDS})
|
||
+ # We ask the library variant that this library depends on to tell us
|
||
+ # what it's associated installation component is. We depend on that
|
||
+ # installation component.
|
||
+ get_property(DEP_COMPONENT
|
||
+ TARGET "${DEP}${VARIANT_TARGET_NAME}"
|
||
+ PROPERTY BOOST_CPACK_COMPONENT)
|
||
+
|
||
+ if (DEP_COMPONENT)
|
||
+ if (DEP_COMPONENT STREQUAL LIB_COMPONENT)
|
||
+ # Do nothing: we have library dependencies within one
|
||
+ # Boost library
|
||
+ else()
|
||
+ list(APPEND THIS_LIB_COMPONENT_DEPENDS ${DEP_COMPONENT})
|
||
+ endif()
|
||
+ endif()
|
||
+ endforeach(DEP)
|
||
+
|
||
+ if (COMMAND cpack_add_component)
|
||
+ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname})
|
||
+ cpack_add_component(${LIB_COMPONENT}
|
||
+ DISPLAY_NAME "${VARIANT_DISPLAY_NAME}"
|
||
+ GROUP ${CPACK_COMPONENT_GROUP_NAME}
|
||
+ DEPENDS ${THIS_LIB_COMPONENT_DEPENDS})
|
||
+ endif ()
|
||
+ endif(NOT THIS_LIB_NO_INSTALL)
|
||
+ endif ()
|
||
+endmacro(boost_library_variant)
|
||
+
|
||
+# Updates the set of default build variants to account for variations
|
||
+# in the given feature.
|
||
+#
|
||
+# boost_add_default_variant(feature-val1 feature-val2 ...)
|
||
+#
|
||
+# Each new feature creates a new set of build variants using that
|
||
+# feature. For example, writing:
|
||
+#
|
||
+# boost_add_default_variant(SINGLE_THREADED MULTI_THREADED)
|
||
+#
|
||
+# will create single- and multi-threaded variants of every default
|
||
+# library variant already defined, doubling the number of variants
|
||
+# that will be built. See the top-level CMakeLists.txt for the set of
|
||
+# default variants.
|
||
+#
|
||
+# Variables affected:
|
||
+#
|
||
+# BOOST_DEFAULT_VARIANTS:
|
||
+# This variable describes all of the variants that will be built
|
||
+# by default, and will be updated with each invocation of
|
||
+# boost_add_default_variant. The variable itself is a list, where
|
||
+# each element in the list contains a colon-separated string
|
||
+# naming a specific set of features for that variant, e.g.,
|
||
+# STATIC:DEBUG:SINGLE_THREADED.
|
||
+#
|
||
+# BOOST_FEATURES:
|
||
+# This variable describes all of the feature sets that we know about,
|
||
+# and will be extended each time ither boost_add_default_variant or
|
||
+# boost_add_extra_variant is invoked. This macro will contain a list
|
||
+# of feature sets, each containing the values for a given feature
|
||
+# separated by colons, e.g., "DEBUG:RELEASE".
|
||
+#
|
||
+# BOOST_ADD_ARG_NAMES:
|
||
+# This variable describes all of the feature-specific arguments
|
||
+# that can be used for the boost_add_library macro, separated by
|
||
+# semicolons. For example, given the use of
|
||
+# boost_add_default_variant above, this variable will contain (at
|
||
+# least)
|
||
+#
|
||
+# SINGLE_THREADED_COMPILE_FLAGS;SINGLE_THREADED_LINK_FLAGS;
|
||
+# MULTI_THREADED_COMPILE_FLAGS;MULTI_THREADED_LINK_FLAGS
|
||
+#
|
||
+# When this variable is used in boost_add_library, it turns these
|
||
+# names into feature-specific options. For example,
|
||
+# MULTI_THREADED_COMPILE_FLAGS provides extra compile flags to be
|
||
+# used only for multi-threaded variants of the library.
|
||
+#
|
||
+# BOOST_ADDLIB_OPTION_NAMES:
|
||
+# Like BOOST_ADD_ARG_NAMES, this variable describes
|
||
+# feature-specific options to boost_add_library that can be used to
|
||
+# turn off building of the library when the variant would require
|
||
+# certain features. For example, the NO_SINGLE_THREADED option
|
||
+# turns off building of single-threaded variants for a library.
|
||
+#
|
||
+# BOOST_ADDEXE_OPTION_NAMES:
|
||
+# Like BOOST_ADDLIB_OPTION_NAMES, except that that variable
|
||
+# describes options to boost_add_executable that can be used to
|
||
+# describe which features are needed to build the executable.
|
||
+# For example, the MULTI_THREADED option requires that the
|
||
+# executable be built against multi-threaded libraries and with
|
||
+# multi-threaded options.
|
||
+macro(boost_add_default_variant)
|
||
+ # Update BOOST_DEFAULT_VARIANTS
|
||
+ if (BOOST_DEFAULT_VARIANTS)
|
||
+ set(BOOST_DEFAULT_VARIANTS_ORIG ${BOOST_DEFAULT_VARIANTS})
|
||
+ set(BOOST_DEFAULT_VARIANTS)
|
||
+ foreach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG})
|
||
+ foreach(FEATURE ${ARGN})
|
||
+ list(APPEND BOOST_DEFAULT_VARIANTS "${VARIANT}:${FEATURE}")
|
||
+ endforeach(FEATURE ${ARGN})
|
||
+ endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG})
|
||
+ set(BOOST_DEFAULT_VARIANTS_ORIG)
|
||
+ else (BOOST_DEFAULT_VARIANTS)
|
||
+ set(BOOST_DEFAULT_VARIANTS ${ARGN})
|
||
+ endif (BOOST_DEFAULT_VARIANTS)
|
||
+
|
||
+ # Set Feature flag options used by the boost_library macro and the
|
||
+ # BOOST_FEATURES variable
|
||
+ set(BOOST_DEFVAR_FEATURES)
|
||
+ foreach(FEATURE ${ARGN})
|
||
+ set(BOOST_ADD_ARG_NAMES
|
||
+ "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS")
|
||
+ set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}")
|
||
+ set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}")
|
||
+ if (BOOST_DEFVAR_FEATURES)
|
||
+ set(BOOST_DEFVAR_FEATURES "${BOOST_DEFVAR_FEATURES}:${FEATURE}")
|
||
+ else (BOOST_DEFVAR_FEATURES)
|
||
+ set(BOOST_DEFVAR_FEATURES "${FEATURE}")
|
||
+ endif (BOOST_DEFVAR_FEATURES)
|
||
+ endforeach(FEATURE ${ARGN})
|
||
+ list(APPEND BOOST_FEATURES ${BOOST_DEFVAR_FEATURES})
|
||
+endmacro(boost_add_default_variant)
|
||
+
|
||
+# Updates the set of "extra" build variants, which may be used to
|
||
+# generate extra, library-specific variants of libraries.
|
||
+#
|
||
+# boost_add_extra_variant(feature-val1 feature-val2 ...)
|
||
+#
|
||
+# Each extra viarant makes it possible for libraries to define extra
|
||
+# variants. For example, writing:
|
||
+#
|
||
+# boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG)
|
||
+#
|
||
+# creates a PYTHON_NODEBUG/PYTHON_DEBUG feature pair as an extra
|
||
+# variant, used by the Boost.Python library, which generates separate
|
||
+# variants of the Boost.Python library: one variant uses the Python
|
||
+# debug libraries, the other does not.
|
||
+#
|
||
+# The difference between boost_add_default_variant and
|
||
+# boost_add_extra_variant is that adding a new default variant
|
||
+# introduces additional variants to *all* Boost libraries, unless
|
||
+# those variants are explicitly excluded by the library. Adding a new
|
||
+# extra variant, on the other hand, allows libraries to specifically
|
||
+# request extra variants using that feature.
|
||
+#
|
||
+# Variables affected:
|
||
+#
|
||
+# BOOST_FEATURES:
|
||
+# See boost_add_default_variant.
|
||
+#
|
||
+# BOOST_ADD_ARG_NAMES:
|
||
+# See boost_add_default_variant.
|
||
+#
|
||
+# BOOST_ADDLIB_OPTION_NAMES:
|
||
+# See boost_add_default_variant.
|
||
+#
|
||
+# BOOST_ADDEXE_OPTION_NAMES:
|
||
+# See boost_add_default_variant.
|
||
+macro(boost_add_extra_variant)
|
||
+ set(BOOST_EXTVAR_FEATURES)
|
||
+ foreach(FEATURE ${ARGN})
|
||
+ set(BOOST_ADD_ARG_NAMES
|
||
+ "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS")
|
||
+ set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}")
|
||
+ set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}")
|
||
+ if (BOOST_EXTVAR_FEATURES)
|
||
+ set(BOOST_EXTVAR_FEATURES "${BOOST_EXTVAR_FEATURES}:${FEATURE}")
|
||
+ else (BOOST_EXTVAR_FEATURES)
|
||
+ set(BOOST_EXTVAR_FEATURES "${FEATURE}")
|
||
+ endif (BOOST_EXTVAR_FEATURES)
|
||
+ endforeach(FEATURE ${ARGN})
|
||
+ list(APPEND BOOST_FEATURES ${BOOST_EXTVAR_FEATURES})
|
||
+endmacro(boost_add_extra_variant)
|
||
+
|
||
+# Compute the variant that will be used to build this executable or
|
||
+# module, taking into account both the requested features passed to
|
||
+# boost_add_executable or boost_add_library and what options the user
|
||
+# has set.
|
||
+macro(boost_select_variant NAME PREFIX)
|
||
+ set(${PREFIX}_DEBUG_AND_RELEASE FALSE)
|
||
+ set(SELECT_VARIANT_OKAY TRUE)
|
||
+ set(SELECT_VARIANT_FAILURE_REASONS)
|
||
+ set(${PREFIX}_VARIANT)
|
||
+
|
||
+ foreach(FEATURESET_STR ${BOOST_FEATURES})
|
||
+ trace(FEATURESET_STR)
|
||
+
|
||
+ string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR})
|
||
+ separate_arguments(FEATURESET)
|
||
+ set(${PREFIX}_REQUESTED_FROM_SET FALSE)
|
||
+ foreach (FEATURE ${FEATURESET})
|
||
+ trace(FEATURE)
|
||
+
|
||
+ if (${PREFIX}_${FEATURE} AND ENABLE_${FEATURE})
|
||
+ trace(${PREFIX}_${FEATURE})
|
||
+ set(${PREFIX}_REQUESTED_FROM_SET TRUE)
|
||
+ list(APPEND ${PREFIX}_VARIANT ${FEATURE})
|
||
+ endif()
|
||
+
|
||
+ # if ((NOT userpref_selected) AND ENABLE_${FEATURE})
|
||
+ # # message("YES ${PREFIX}_${FEATURE}")
|
||
+ # # Make this feature part of the variant
|
||
+ # list(APPEND ${PREFIX}_VARIANT ${FEATURE})
|
||
+ # set(${PREFIX}_REQUESTED_FROM_SET TRUE)
|
||
+ #
|
||
+ # # The caller has requested this particular feature be used
|
||
+ # # when building the executable or module. If we can't satisfy
|
||
+ # # that request (because the user has turned off the build
|
||
+ # # variants with that feature), then we won't build this
|
||
+ # # executable or module.
|
||
+ # if (NOT ENABLE_${FEATURE})
|
||
+ # message("NOT ENABLE_${FEATURE}")
|
||
+ # set(SELECT_VARIANT_OKAY FALSE)
|
||
+ # list(APPEND SELECT_VARIANT_FAILURE_REASONS
|
||
+ # "ENABLE_${FEATURE} iz FALSE")
|
||
+ # else()
|
||
+ # set(unselected FALSE)
|
||
+ # endif()
|
||
+ # endif()
|
||
+ endforeach()
|
||
+
|
||
+ if (NOT ${PREFIX}_REQUESTED_FROM_SET)
|
||
+ # The caller did not specify which feature value to use from
|
||
+ # this set, so find the first feature value that actually works.
|
||
+ set(${PREFIX}_FOUND_FEATURE FALSE)
|
||
+
|
||
+ trace(${PREFIX}_FOUND_FEATURE)
|
||
+ # If this feature set decides between Release and Debug, we
|
||
+ # either query CMAKE_BUILD_TYPE to determine which to use (for
|
||
+ # makefile targets) or handle both variants separately (for IDE
|
||
+ # targets). We only build both variants separately for executable targets.
|
||
+ if (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
|
||
+ trace(CMAKE_CONFIGURATION_TYPES)
|
||
+ if (CMAKE_CONFIGURATION_TYPES)
|
||
+ # IDE target: can we build both debug and release?
|
||
+ if (ENABLE_DEBUG AND ENABLE_RELEASE)
|
||
+ if (${PREFIX} STREQUAL "THIS_EXE")
|
||
+ # Remember that we're capable of building both configurations
|
||
+ set(${PREFIX}_DEBUG_AND_RELEASE TRUE)
|
||
+
|
||
+ # Don't add RELEASE or DEBUG to the variant (yet)
|
||
+ set(${PREFIX}_FOUND_FEATURE TRUE)
|
||
+ endif ()
|
||
+ endif ()
|
||
+ else ()
|
||
+ # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build
|
||
+ trace(CMAKE_BUILD_TYPE)
|
||
+ if (CMAKE_BUILD_TYPE STREQUAL "Release" AND ENABLE_RELEASE)
|
||
+ # Okay, build the release variant
|
||
+ list(APPEND ${PREFIX}_VARIANT RELEASE)
|
||
+ set(${PREFIX}_FOUND_FEATURE TRUE)
|
||
+ elseif (CMAKE_BUILD_TYPE STREQUAL "Debug" AND ENABLE_DEBUG)
|
||
+ # Okay, build the debug variant
|
||
+ list(APPEND ${PREFIX}_VARIANT DEBUG)
|
||
+ set(${PREFIX}_FOUND_FEATURE TRUE)
|
||
+ endif ()
|
||
+ endif ()
|
||
+ endif ()
|
||
+
|
||
+ # Search through all of the features in the set to find one that works
|
||
+ foreach (FEATURE ${FEATURESET})
|
||
+ # We only care about the first feature value we find...
|
||
+ if (NOT ${PREFIX}_FOUND_FEATURE)
|
||
+ # Are we allowed to build this feature?
|
||
+ if (ENABLE_${FEATURE})
|
||
+ # Found it: we're done
|
||
+ list(APPEND ${PREFIX}_VARIANT ${FEATURE})
|
||
+ set(${PREFIX}_FOUND_FEATURE TRUE)
|
||
+ endif (ENABLE_${FEATURE})
|
||
+ endif (NOT ${PREFIX}_FOUND_FEATURE)
|
||
+ endforeach (FEATURE ${FEATURESET})
|
||
+
|
||
+ if (NOT ${PREFIX}_FOUND_FEATURE)
|
||
+ # All of the features in this set were turned off.
|
||
+ # Just don't build anything.
|
||
+ set(SELECT_VARIANT_OKAY FALSE)
|
||
+ # message("NOT ${PREFIX}_FOUND_FEATURE")
|
||
+ endif (NOT ${PREFIX}_FOUND_FEATURE)
|
||
+ endif (NOT ${PREFIX}_REQUESTED_FROM_SET)
|
||
+ endforeach(FEATURESET_STR ${BOOST_FEATURES})
|
||
+
|
||
+ # Propagate flags from each of the features
|
||
+ if (SELECT_VARIANT_OKAY)
|
||
+ foreach (FEATURE ${${PREFIX}_VARIANT})
|
||
+ # Add all of the flags for this feature
|
||
+ set(${PREFIX}_COMPILE_FLAGS
|
||
+ "${${PREFIX}_COMPILE_FLAGS} ${${PREFIX}_${FEATURE}_COMPILE_FLAGS} ${${FEATURE}_COMPILE_FLAGS}")
|
||
+ set(${PREFIX}_LINK_FLAGS
|
||
+ "${${PREFIX}_LINK_FLAGS} ${${PREFIX}_${FEATURE}_LINK_FLAGS} ${${FEATURE}_LINK_FLAGS}")
|
||
+ if (${PREFIX} STREQUAL "THIS_EXE")
|
||
+ set(${PREFIX}_LINK_FLAGS
|
||
+ "${${PREFIX}_LINK_FLAGS} ${${FEATURE}_EXE_LINK_FLAGS}")
|
||
+ endif()
|
||
+ set(${PREFIX}_LINK_LIBS
|
||
+ ${${PREFIX}_LINK_LIBS} ${${PREFIX}_${FEATURE}_LINK_LIBS} ${${FEATURE}_LINK_LIBS})
|
||
+ endforeach (FEATURE ${${PREFIX}_VARIANT})
|
||
+
|
||
+ # Handle feature interactions
|
||
+ boost_feature_interactions("${PREFIX}" ${${PREFIX}_VARIANT})
|
||
+ else ()
|
||
+ set(${PREFIX}_VARIANT)
|
||
+ endif ()
|
||
+endmacro(boost_select_variant)
|
||
+
|
||
+# Creates a new Boost library target that generates a compiled library
|
||
+# (.a, .lib, .dll, .so, etc) from source files. This routine will
|
||
+# actually build several different variants of the same library, with
|
||
+# different compilation options, as determined by the set of "default"
|
||
+# library variants.
|
||
+#
|
||
+# boost_add_library(libname
|
||
+# source1 source2 ...
|
||
+# [COMPILE_FLAGS compileflags]
|
||
+# [feature_COMPILE_FLAGS compileflags]
|
||
+# [LINK_FLAGS linkflags]
|
||
+# [feature_LINK_FLAGS linkflags]
|
||
+# [LINK_LIBS linklibs]
|
||
+# [feature_LINK_LIBS linklibs]
|
||
+# [DEPENDS libdepend1 libdepend2 ...]
|
||
+# [MODULE]
|
||
+# [NO_feature]
|
||
+# [EXTRA_VARIANTS variant1 variant2 ...]
|
||
+# [FORCE_VARIANTS variant1])
|
||
+#
|
||
+# where libname is the name of Boost library binary (e.g.,
|
||
+# "boost_regex") and source1, source2, etc. are the source files used
|
||
+# to build the library, e.g., cregex.cpp.
|
||
+#
|
||
+# This macro has a variety of options that affect its behavior. In
|
||
+# several cases, we use the placeholder "feature" in the option name
|
||
+# to indicate that there are actually several different kinds of
|
||
+# options, each referring to a different build feature, e.g., shared
|
||
+# libraries, multi-threaded, debug build, etc. For a complete listing
|
||
+# of these features, please refer to the CMakeLists.txt file in the
|
||
+# root of the Boost distribution, which defines the set of features
|
||
+# that will be used to build Boost libraries by default.
|
||
+#
|
||
+# The options that affect this macro's behavior are:
|
||
+#
|
||
+# COMPILE_FLAGS: Provides additional compilation flags that will be
|
||
+# used when building all variants of the library. For example, one
|
||
+# might want to add "-DBOOST_SIGNALS_NO_LIB=1" through this option
|
||
+# (which turns off auto-linking for the Signals library while
|
||
+# building it).
|
||
+#
|
||
+# feature_COMPILE_FLAGS: Provides additional compilation flags that
|
||
+# will be used only when building variants of the library that
|
||
+# include the given feature. For example,
|
||
+# MULTI_THREADED_COMPILE_FLAGS are additional flags that will be
|
||
+# used when building a multi-threaded variant, while
|
||
+# SHARED_COMPILE_FLAGS will be used when building a shared library
|
||
+# (as opposed to a static library).
|
||
+#
|
||
+# LINK_FLAGS: Provides additional flags that will be passed to the
|
||
+# linker when linking each variant of the library. This option
|
||
+# should not be used to link in additional libraries; see LINK_LIBS
|
||
+# and DEPENDS.
|
||
+#
|
||
+# feature_LINK_FLAGS: Provides additional flags that will be passed
|
||
+# to the linker when building variants of the library that contain a
|
||
+# specific feature, e.g., MULTI_THREADED_LINK_FLAGS. This option
|
||
+# should not be used to link in additional libraries; see
|
||
+# feature_LINK_LIBS.
|
||
+#
|
||
+# LINK_LIBS: Provides additional libraries against which each of the
|
||
+# library variants will be linked. For example, one might provide
|
||
+# "expat" as options to LINK_LIBS, to state that each of the library
|
||
+# variants will link against the expat library binary. Use LINK_LIBS
|
||
+# for libraries external to Boost; for Boost libraries, use DEPENDS.
|
||
+#
|
||
+# feature_LINK_LIBS: Provides additional libraries for specific
|
||
+# variants of the library to link against. For example,
|
||
+# MULTI_THREADED_LINK_LIBS provides extra libraries to link into
|
||
+# multi-threaded variants of the library.
|
||
+#
|
||
+# DEPENDS: States that this Boost library depends on and links
|
||
+# against another Boost library. The arguments to DEPENDS should be
|
||
+# the unversioned name of the Boost library, such as
|
||
+# "boost_filesystem". Like LINK_LIBS, this option states that all
|
||
+# variants of the library being built will link against the stated
|
||
+# libraries. Unlike LINK_LIBS, however, DEPENDS takes particular
|
||
+# library variants into account, always linking the variant of one
|
||
+# Boost library against the same variant of the other Boost
|
||
+# library. For example, if the boost_mpi_python library DEPENDS on
|
||
+# boost_python, multi-threaded variants of boost_mpi_python will
|
||
+# link against multi-threaded variants of boost_python.
|
||
+#
|
||
+# MODULE: This option states that, when building a shared library,
|
||
+# the shared library should be built as a module rather than a
|
||
+# normal shared library. Modules have special meaning an behavior on
|
||
+# some platforms, such as Mac OS X.
|
||
+#
|
||
+# NO_feature: States that library variants containing a particular
|
||
+# feature should not be built. For example, passing
|
||
+# NO_SINGLE_THREADED suppresses generation of single-threaded
|
||
+# variants of this library.
|
||
+#
|
||
+# EXTRA_VARIANTS: Specifies that extra variants of this library
|
||
+# should be built, based on the features listed. Each "variant" is a
|
||
+# colon-separated list of features. For example, passing
|
||
+# EXTRA_VARIANTS "PYTHON_NODEBUG:PYTHON_DEBUG"
|
||
+# will result in the creation of an extra set of library variants,
|
||
+# some with the PYTHON_NODEBUG feature and some with the
|
||
+# PYTHON_DEBUG feature.
|
||
+#
|
||
+# FORCE_VARIANTS: This will force the build system to ALWAYS build this
|
||
+# variant of the library not matter what variants are set.
|
||
+#
|
||
+# Example:
|
||
+# boost_add_library(
|
||
+# boost_thread
|
||
+# barrier.cpp condition.cpp exceptions.cpp mutex.cpp once.cpp
|
||
+# recursive_mutex.cpp thread.cpp tss_hooks.cpp tss_dll.cpp tss_pe.cpp
|
||
+# tss.cpp xtime.cpp
|
||
+# SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1"
|
||
+# STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1"
|
||
+# NO_SINGLE_THREADED
|
||
+# )
|
||
+macro(boost_add_library SHORT_LIBNAME)
|
||
+ set(LIBNAME "boost_${SHORT_LIBNAME}")
|
||
+ parse_arguments(THIS_LIB
|
||
+ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;EXTRA_VARIANTS;FORCE_VARIANTS;${BOOST_ADD_ARG_NAMES}"
|
||
+ "MODULE;NO_INSTALL;${BOOST_ADDLIB_OPTION_NAMES}"
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS})
|
||
+
|
||
+ #
|
||
+ # cmake BoostConfig.cmake generation needs to know which
|
||
+ # libraries are available
|
||
+ #
|
||
+ set(BOOST_ALL_COMPONENTS ${SHORT_LIBNAME} ${BOOST_ALL_COMPONENTS}
|
||
+ PARENT_SCOPE)
|
||
+
|
||
+ # A top-level target that refers to all of the variants of the
|
||
+ # library, collectively.
|
||
+ add_custom_target(${LIBNAME})
|
||
+
|
||
+ if (THIS_LIB_EXTRA_VARIANTS)
|
||
+ # Build the set of variants that we will generate for this library
|
||
+ set(THIS_LIB_VARIANTS)
|
||
+ foreach(VARIANT ${BOOST_DEFAULT_VARIANTS})
|
||
+ foreach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS})
|
||
+ string(REPLACE ":" ";" FEATURES "${EXTRA_VARIANT}")
|
||
+ separate_arguments(FEATURES)
|
||
+ foreach(FEATURE ${FEATURES})
|
||
+ list(APPEND THIS_LIB_VARIANTS "${VARIANT}:${FEATURE}")
|
||
+ endforeach(FEATURE ${FEATURES})
|
||
+ endforeach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS})
|
||
+ endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS})
|
||
+ else (THIS_LIB_EXTRA_VARIANTS)
|
||
+ set(THIS_LIB_VARIANTS ${BOOST_DEFAULT_VARIANTS})
|
||
+ endif (THIS_LIB_EXTRA_VARIANTS)
|
||
+
|
||
+ if (THIS_LIB_FORCE_VARIANTS)
|
||
+ # string(TOUPPER "${LIBNAME}_FORCE_VARIANTS" force_variants)
|
||
+ # set(${force_variants} ${THIS_LIB_FORCE_VARIANTS} CACHE INTERNAL "")
|
||
+ set(ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV ${ENABLE_${THIS_LIB_FORCE_VARIANTS}} )
|
||
+ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} TRUE)
|
||
+ endif (THIS_LIB_FORCE_VARIANTS)
|
||
+
|
||
+ # Build each of the library variants
|
||
+ foreach(VARIANT_STR ${THIS_LIB_VARIANTS})
|
||
+ string(REPLACE ":" ";" VARIANT ${VARIANT_STR})
|
||
+ separate_arguments(VARIANT)
|
||
+ # message("VARIANT=${VARIANT}")
|
||
+ boost_library_variant(${LIBNAME} ${VARIANT})
|
||
+ endforeach(VARIANT_STR ${THIS_LIB_VARIANTS})
|
||
+
|
||
+ if (THIS_LIB_FORCE_VARIANTS)
|
||
+ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV} )
|
||
+ # message(STATUS "* ^^ ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}}")
|
||
+ endif (THIS_LIB_FORCE_VARIANTS)
|
||
+endmacro(boost_add_library)
|
||
+
|
||
+# Creates a new executable from source files.
|
||
+#
|
||
+# boost_add_executable(exename
|
||
+# source1 source2 ...
|
||
+# [COMPILE_FLAGS compileflags]
|
||
+# [feature_COMPILE_FLAGS compileflags]
|
||
+# [LINK_FLAGS linkflags]
|
||
+# [feature_LINK_FLAGS linkflags]
|
||
+# [LINK_LIBS linklibs]
|
||
+# [feature_LINK_LIBS linklibs]
|
||
+# [DEPENDS libdepend1 libdepend2 ...]
|
||
+# [feature]
|
||
+# [NO_INSTALL])
|
||
+#
|
||
+# where exename is the name of the executable (e.g., "wave"). source1,
|
||
+# source2, etc. are the source files used to build the executable, e.g.,
|
||
+# cpp.cpp. If no source files are provided, "exename.cpp" will be
|
||
+# used.
|
||
+#
|
||
+# This macro has a variety of options that affect its behavior. In
|
||
+# several cases, we use the placeholder "feature" in the option name
|
||
+# to indicate that there are actually several different kinds of
|
||
+# options, each referring to a different build feature, e.g., shared
|
||
+# libraries, multi-threaded, debug build, etc. For a complete listing
|
||
+# of these features, please refer to the CMakeLists.txt file in the
|
||
+# root of the Boost distribution, which defines the set of features
|
||
+# that will be used to build Boost libraries by default.
|
||
+#
|
||
+# The options that affect this macro's behavior are:
|
||
+#
|
||
+# COMPILE_FLAGS: Provides additional compilation flags that will be
|
||
+# used when building the executable.
|
||
+#
|
||
+# feature_COMPILE_FLAGS: Provides additional compilation flags that
|
||
+# will be used only when building the executable with the given
|
||
+# feature (e.g., SHARED_COMPILE_FLAGS when we're linking against
|
||
+# shared libraries). Note that the set of features used to build the
|
||
+# executable depends both on the arguments given to
|
||
+# boost_add_executable (see the "feature" argument description,
|
||
+# below) and on the user's choice of variants to build.
|
||
+#
|
||
+# LINK_FLAGS: Provides additional flags that will be passed to the
|
||
+# linker when linking the executable. This option should not be used
|
||
+# to link in additional libraries; see LINK_LIBS and DEPENDS.
|
||
+#
|
||
+# feature_LINK_FLAGS: Provides additional flags that will be passed
|
||
+# to the linker when linking the executable with the given feature
|
||
+# (e.g., MULTI_THREADED_LINK_FLAGS when we're linking a
|
||
+# multi-threaded executable).
|
||
+#
|
||
+# LINK_LIBS: Provides additional libraries against which the
|
||
+# executable will be linked. For example, one might provide "expat"
|
||
+# as options to LINK_LIBS, to state that the executable will link
|
||
+# against the expat library binary. Use LINK_LIBS for libraries
|
||
+# external to Boost; for Boost libraries, use DEPENDS.
|
||
+#
|
||
+# feature_LINK_LIBS: Provides additional libraries to link against
|
||
+# when linking an executable built with the given feature.
|
||
+#
|
||
+# DEPENDS: States that this executable depends on and links against
|
||
+# a Boostlibrary. The arguments to DEPENDS should be the unversioned
|
||
+# name of the Boost library, such as "boost_filesystem". Like
|
||
+# LINK_LIBS, this option states that the executable will link
|
||
+# against the stated libraries. Unlike LINK_LIBS, however, DEPENDS
|
||
+# takes particular library variants into account, always linking to
|
||
+# the appropriate variant of a Boost library. For example, if the
|
||
+# MULTI_THREADED feature was requested in the call to
|
||
+# boost_add_executable, DEPENDS will ensure that we only link
|
||
+# against multi-threaded libraries.
|
||
+#
|
||
+# feature: States that the executable should always be built using a
|
||
+# given feature, e.g., SHARED linking (against its libraries) or
|
||
+# MULTI_THREADED (for multi-threaded builds). If that feature has
|
||
+# been turned off by the user, the executable will not build.
|
||
+#
|
||
+# NO_INSTALL: Don't install this executable with the rest of Boost.
|
||
+#
|
||
+# OUTPUT_NAME: If you want the executable to be generated somewhere
|
||
+# other than the binary directory, pass the path (including
|
||
+# directory and file name) via the OUTPUT_NAME parameter.
|
||
+#
|
||
+# Example:
|
||
+# boost_add_executable(wave cpp.cpp
|
||
+# DEPENDS boost_wave boost_program_options boost_filesystem
|
||
+# boost_serialization
|
||
+# )
|
||
+macro(boost_add_executable EXENAME)
|
||
+ # Note: ARGS is here to support the use of boost_add_executable in
|
||
+ # the testing code.
|
||
+ parse_arguments(THIS_EXE
|
||
+ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;OUTPUT_NAME;ARGS;TARGET_PREFIX;${BOOST_ADD_ARG_NAMES}"
|
||
+ "NO_INSTALL;${BOOST_ADDEXE_OPTION_NAMES}"
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ # Determine the list of sources
|
||
+ if (THIS_EXE_DEFAULT_ARGS)
|
||
+ set(THIS_EXE_SOURCES ${THIS_EXE_DEFAULT_ARGS})
|
||
+ else (THIS_EXE_DEFAULT_ARGS)
|
||
+ set(THIS_EXE_SOURCES ${EXENAME}.cpp)
|
||
+ endif (THIS_EXE_DEFAULT_ARGS)
|
||
+
|
||
+ # Whether we can build both debug and release versions of this
|
||
+ # executable within an IDE (based on the selected configuration
|
||
+ # type).
|
||
+ set(THIS_EXE_DEBUG_AND_RELEASE FALSE)
|
||
+
|
||
+ # Compute the variant that will be used to build this executable,
|
||
+ # taking into account both the requested features passed to
|
||
+ # boost_add_executable and what options the user has set.
|
||
+ boost_select_variant(${EXENAME} THIS_EXE)
|
||
+
|
||
+ # message("THIS_EXE_VARIANT=${THIS_EXE_VARIANT}")
|
||
+ # Possibly hyphenate exe's name
|
||
+ if (THIS_PROJECT_IS_TOOL)
|
||
+ set(THIS_EXE_NAME ${THIS_EXE_TARGET_PREFIX}${EXENAME})
|
||
+ else()
|
||
+ set(THIS_EXE_NAME ${BOOST_PROJECT_NAME}-${THIS_EXE_TARGET_PREFIX}${EXENAME})
|
||
+ endif()
|
||
+
|
||
+ # Compute the name of the variant targets that we'll be linking
|
||
+ # against. We'll use this to link against the appropriate
|
||
+ # dependencies. For IDE targets where we can build both debug and
|
||
+ # release configurations, create DEBUG_ and RELEASE_ versions of
|
||
+ # the macros.
|
||
+ if (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+ boost_library_variant_target_name(RELEASE ${THIS_EXE_VARIANT})
|
||
+ set(RELEASE_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}")
|
||
+ boost_library_variant_target_name(DEBUG ${THIS_EXE_VARIANT})
|
||
+ set(DEBUG_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}")
|
||
+ else (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+ boost_library_variant_target_name(${THIS_EXE_VARIANT})
|
||
+ endif (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+
|
||
+ # Compute the actual set of library dependencies, based on the
|
||
+ # variant name we computed above. The RELEASE and DEBUG versions
|
||
+ # only apply when THIS_EXE_DEBUG_AND_RELEASE.
|
||
+ set(THIS_EXE_ACTUAL_DEPENDS)
|
||
+ set(THIS_EXE_RELEASE_ACTUAL_DEPENDS)
|
||
+ set(THIS_EXE_DEBUG_ACTUAL_DEPENDS)
|
||
+ set(DEPENDENCY_FAILURES "")
|
||
+ foreach(LIB ${THIS_EXE_DEPENDS})
|
||
+ if (LIB MATCHES ".*-.*")
|
||
+ # The user tried to state exactly which variant to use. Just
|
||
+ # propagate the dependency and hope that s/he was
|
||
+ # right. Eventually, this should at least warn, because it is
|
||
+ # not the "proper" way to do things
|
||
+ list(APPEND THIS_EXE_ACTUAL_DEPENDS ${LIB})
|
||
+ list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS ${LIB})
|
||
+ list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS ${LIB})
|
||
+ dependency_check(${LIB})
|
||
+ else ()
|
||
+ # The user has given the name of just the library target,
|
||
+ # e.g., "boost_filesystem". We add on the appropriate variant
|
||
+ # name(s).
|
||
+ list(APPEND THIS_EXE_ACTUAL_DEPENDS "${LIB}${VARIANT_TARGET_NAME}")
|
||
+ list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS "${LIB}${RELEASE_VARIANT_TARGET_NAME}")
|
||
+ list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS "${LIB}${DEBUG_VARIANT_TARGET_NAME}")
|
||
+ if(THIS_EXE_RELEASE_AND_DEBUG)
|
||
+ dependency_check("${LIB}${RELEASE_VARIANT_TARGET_NAME}")
|
||
+ dependency_check("${LIB}${DEBUG_VARIANT_TARGET_NAME}")
|
||
+ else()
|
||
+ dependency_check("${LIB}${VARIANT_TARGET_NAME}")
|
||
+ endif()
|
||
+ endif ()
|
||
+ endforeach()
|
||
+
|
||
+ set(THIS_EXE_OKAY TRUE)
|
||
+
|
||
+ if(DEPENDENCY_FAILURES)
|
||
+ set(THIS_EXE_OKAY FALSE)
|
||
+ # separate_arguments(DEPENDENCY_FAILURES)
|
||
+ colormsg(HIRED " ${THIS_EXE_NAME}" RED "(executable) disabled due to dependency failures:")
|
||
+ colormsg(" ${DEPENDENCY_FAILURES}")
|
||
+ endif()
|
||
+
|
||
+ trace(THIS_EXE_VARIANT)
|
||
+ trace(THIS_EXE_OUTPUT_NAME)
|
||
+ if (THIS_EXE_VARIANT AND (NOT DEPENDENCY_FAILURES))
|
||
+ # It's okay to build this executable
|
||
+
|
||
+ add_executable(${THIS_EXE_NAME} ${THIS_EXE_SOURCES})
|
||
+
|
||
+ # Set the various compilation and linking flags
|
||
+ set_target_properties(${THIS_EXE_NAME}
|
||
+ PROPERTIES
|
||
+ COMPILE_FLAGS "${THIS_EXE_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS "${THIS_EXE_LINK_FLAGS}"
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ )
|
||
+
|
||
+ # For IDE generators where we can build both debug and release
|
||
+ # configurations, pass the configurations along separately.
|
||
+ if (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+ set_target_properties(${THIS_EXE_NAME}
|
||
+ PROPERTIES
|
||
+ COMPILE_FLAGS_DEBUG "${DEBUG_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}"
|
||
+ COMPILE_FLAGS_RELEASE "${RELEASE_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}"
|
||
+ LINK_FLAGS_DEBUG "${DEBUG_LINK_FLAGS} ${DEBUG_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}"
|
||
+ LINK_FLAGS_RELEASE "${RELEASE_LINK_FLAGS} ${RELEASE_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}"
|
||
+ )
|
||
+ endif (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+
|
||
+ # If the user gave an output name, use it.
|
||
+ if(THIS_EXE_OUTPUT_NAME)
|
||
+ set_target_properties(${THIS_EXE_NAME}
|
||
+ PROPERTIES
|
||
+ OUTPUT_NAME ${THIS_EXE_OUTPUT_NAME}
|
||
+ )
|
||
+ endif()
|
||
+
|
||
+ # Link against the various libraries
|
||
+ if (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+ # Configuration-agnostic libraries
|
||
+ target_link_libraries(${THIS_EXE_NAME} ${THIS_EXE_LINK_LIBS})
|
||
+
|
||
+ foreach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS})
|
||
+ target_link_libraries(${THIS_EXE_NAME} optimized ${LIB})
|
||
+ endforeach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS})
|
||
+
|
||
+ foreach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS})
|
||
+ target_link_libraries(${THIS_EXE_NAME} debug ${LIB})
|
||
+ endforeach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS})
|
||
+
|
||
+ else (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+ target_link_libraries(${THIS_EXE_NAME}
|
||
+ ${THIS_EXE_ACTUAL_DEPENDS}
|
||
+ ${THIS_EXE_LINK_LIBS})
|
||
+ endif (THIS_EXE_DEBUG_AND_RELEASE)
|
||
+
|
||
+ endif ()
|
||
+endmacro(boost_add_executable)
|
||
+
|
||
+
|
||
+# Like boost_add_library, but builds a single library variant
|
||
+# FIXME: I'm not sure if I like this or not. Document it if it survives.
|
||
+macro(boost_add_single_library LIBNAME)
|
||
+ parse_arguments(THIS_LIB
|
||
+ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;${BOOST_ADD_ARG_NAMES}"
|
||
+ "NO_INSTALL;MODULE;${BOOST_ADDEXE_OPTION_NAMES}"
|
||
+ ${ARGN}
|
||
+ )
|
||
+ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS})
|
||
+
|
||
+ boost_select_variant(${LIBNAME} THIS_LIB)
|
||
+ trace(THIS_LIB_VARIANT)
|
||
+ if (THIS_LIB_VARIANT)
|
||
+ add_custom_target(${LIBNAME})
|
||
+ separate_arguments(THIS_LIB_VARIANT)
|
||
+ boost_library_variant(${LIBNAME} ${THIS_LIB_VARIANT})
|
||
+ endif ()
|
||
+endmacro(boost_add_single_library)
|
||
+
|
||
+
|
||
+#
|
||
+# Macro for building boost.python extensions
|
||
+#
|
||
+macro(boost_python_extension MODULE_NAME)
|
||
+ parse_arguments(BPL_EXT
|
||
+ ""
|
||
+ ""
|
||
+ ${ARGN})
|
||
+
|
||
+ if (WIN32)
|
||
+ set(extlibtype SHARED)
|
||
+ else()
|
||
+ set(extlibtype MODULE)
|
||
+ endif()
|
||
+
|
||
+ boost_add_single_library(
|
||
+ ${MODULE_NAME}
|
||
+ ${BPL_EXT_DEFAULT_ARGS}
|
||
+ ${extlibtype}
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES}
|
||
+ DEPENDS boost_python
|
||
+ SHARED
|
||
+ MULTI_THREADED
|
||
+ )
|
||
+
|
||
+ if(WIN32)
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ OUTPUT_NAME "${MODULE_NAME}"
|
||
+ PREFIX ""
|
||
+ SUFFIX .pyd
|
||
+ IMPORT_SUFFIX .pyd
|
||
+ )
|
||
+ else()
|
||
+ set_target_properties(${VARIANT_LIBNAME}
|
||
+ PROPERTIES
|
||
+ OUTPUT_NAME "${MODULE_NAME}"
|
||
+ PREFIX ""
|
||
+ )
|
||
+ endif()
|
||
+ if (NOT THIS_VARIANT_OKAY)
|
||
+ colormsg(HIRED " ${MODULE_NAME}" RED "(python extension) disabled because:")
|
||
+ foreach(msg ${SELECT_VARIANT_FAILURE_REASONS})
|
||
+ colormsg(YELLOW " ${msg}")
|
||
+ endforeach()
|
||
+ endif()
|
||
+
|
||
+endmacro()
|
||
diff --git a/tools/build/CMake/BoostDocs.cmake b/tools/build/CMake/BoostDocs.cmake
|
||
new file mode 100644
|
||
index 0000000..1eb0f56
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/BoostDocs.cmake
|
||
@@ -0,0 +1,530 @@
|
||
+##########################################################################
|
||
+# Boost Documentation Generation #
|
||
+##########################################################################
|
||
+# Copyright (C) 2008 Douglas Gregor <doug.gregor@gmail.com> #
|
||
+# #
|
||
+# 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 #
|
||
+##########################################################################
|
||
+# Important developer macros in this file: #
|
||
+# #
|
||
+##########################################################################
|
||
+
|
||
+# Transforms the source XML file by applying the given XSL stylesheet.
|
||
+#
|
||
+# xsl_transform(output input [input2 input3 ...]
|
||
+# STYLESHEET stylesheet
|
||
+# [CATALOG catalog]
|
||
+# [DIRECTORY mainfile]
|
||
+# [PARAMETERS param1=value1 param2=value2 ...]
|
||
+# [[MAKE_ALL_TARGET | MAKE_TARGET] target]
|
||
+# [COMMENT comment])
|
||
+#
|
||
+# This macro builds a custom command that transforms an XML file
|
||
+# (input) via the given XSL stylesheet. The output will either be a
|
||
+# single file (the default) or a directory (if the DIRECTION argument
|
||
+# is specified). The STYLESBEET stylesheet must be a valid XSL
|
||
+# stylesheet. Any extra input files will be used as additional
|
||
+# dependencies for the target. For example, these extra input files
|
||
+# might refer to other XML files that are included by the input file
|
||
+# through XInclude.
|
||
+#
|
||
+# When the XSL transform output is going to a directory, the mainfile
|
||
+# argument provides the name of a file that will be generated within
|
||
+# the output directory. This file will be used for dependency tracking.
|
||
+#
|
||
+# XML catalogs can be used to remap parts of URIs within the
|
||
+# stylesheet to other (typically local) entities. To provide an XML
|
||
+# catalog file, specify the name of the XML catalog file via the
|
||
+# CATALOG argument. It will be provided to the XSL transform.
|
||
+#
|
||
+# The PARAMETERS argument is followed by param=value pairs that set
|
||
+# additional parameters to the XSL stylesheet. The parameter names
|
||
+# that can be used correspond to the <xsl:param> elements within the
|
||
+# stylesheet.
|
||
+#
|
||
+# To associate a target name with the result of the XSL
|
||
+# transformation, use the MAKE_TARGET or MAKE_ALL_TARGET option and
|
||
+# provide the name of the target. The MAKE_ALL_TARGET option only
|
||
+# differs from MAKE_TARGET in that MAKE_ALL_TARGET will make the
|
||
+# resulting target a part of the default build.
|
||
+#
|
||
+# If a COMMENT argument is provided, it will be used as the comment
|
||
+# CMake provides when running this XSL transformation. Otherwise, the
|
||
+# comment will be "Generating "output" via XSL transformation...".
|
||
+macro(xsl_transform OUTPUT INPUT)
|
||
+ parse_arguments(THIS_XSL
|
||
+ "STYLESHEET;CATALOG;MAKE_ALL_TARGET;MAKE_TARGET;PARAMETERS;DIRECTORY;COMMENT"
|
||
+ ""
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ # TODO: Is this the best way to handle catalogs? The alternative is
|
||
+ # that we could provide explicit remappings to the xsl_transform
|
||
+ # macro, and it could generate a temporary XML catalog file.
|
||
+ if (THIS_XSL_CATALOG)
|
||
+ set(THIS_XSL_CATALOG "XML_CATALOG_FILES=${THIS_XSL_CATALOG}")
|
||
+ endif ()
|
||
+
|
||
+ # Translate XSL parameters into a form that xsltproc can use.
|
||
+ set(THIS_XSL_EXTRA_FLAGS)
|
||
+ foreach(PARAM ${THIS_XSL_PARAMETERS})
|
||
+ string(REGEX REPLACE "([^=]*)=([^;]*)" "\\1;\\2"
|
||
+ XSL_PARAM_LIST ${PARAM})
|
||
+ list(GET XSL_PARAM_LIST 0 XSL_PARAM_NAME)
|
||
+ list(GET XSL_PARAM_LIST 1 XSL_PARAM_VALUE)
|
||
+ list(APPEND THIS_XSL_EXTRA_FLAGS
|
||
+ --stringparam ${XSL_PARAM_NAME} ${XSL_PARAM_VALUE})
|
||
+ endforeach(PARAM)
|
||
+
|
||
+ # If the user didn't provide a comment for this transformation,
|
||
+ # create a default one.
|
||
+ if(NOT THIS_XSL_COMMENT)
|
||
+ set(THIS_XSL_COMMENT "Generating ${OUTPUT} via XSL transformation...")
|
||
+ endif()
|
||
+
|
||
+ # Figure out the actual output file that we tell CMake about
|
||
+ # (THIS_XSL_OUTPUT_FILE) and the output file or directory that we
|
||
+ # tell xsltproc about (THIS_XSL_OUTPUT).
|
||
+ if (THIS_XSL_DIRECTORY)
|
||
+ set(THIS_XSL_OUTPUT_FILE ${OUTPUT}/${THIS_XSL_DIRECTORY})
|
||
+ set(THIS_XSL_OUTPUT ${OUTPUT}/)
|
||
+ else()
|
||
+ set(THIS_XSL_OUTPUT_FILE ${OUTPUT})
|
||
+ set(THIS_XSL_OUTPUT ${OUTPUT})
|
||
+ endif()
|
||
+
|
||
+ if(NOT THIS_XSL_STYLESHEET)
|
||
+ message(SEND_ERROR
|
||
+ "xsl_transform macro invoked without a STYLESHEET argument")
|
||
+ else()
|
||
+ # Run the XSLT processor to do the XML transformation.
|
||
+ add_custom_command(OUTPUT ${THIS_XSL_OUTPUT_FILE}
|
||
+ COMMAND ${THIS_XSL_CATALOG} ${XSLTPROC_EXECUTABLE} ${XSLTPROC_FLAGS}
|
||
+ ${THIS_XSL_EXTRA_FLAGS} -o ${THIS_XSL_OUTPUT}
|
||
+ --path ${CMAKE_CURRENT_BINARY_DIR}
|
||
+ ${THIS_XSL_STYLESHEET} ${INPUT}
|
||
+ COMMENT ${THIS_XSL_COMMENT}
|
||
+ DEPENDS ${INPUT} ${THIS_XSL_DEFAULT_ARGS})
|
||
+ set_source_files_properties(${THIS_XSL_OUTPUT_FILE}
|
||
+ PROPERTIES GENERATED TRUE)
|
||
+
|
||
+ # Create a custom target to refer to the result of this
|
||
+ # transformation.
|
||
+ if (THIS_XSL_MAKE_ALL_TARGET)
|
||
+ add_custom_target(${THIS_XSL_MAKE_ALL_TARGET} ALL
|
||
+ DEPENDS ${THIS_XSL_OUTPUT_FILE})
|
||
+ elseif(THIS_XSL_MAKE_TARGET)
|
||
+ add_custom_target(${THIS_XSL_MAKE_TARGET}
|
||
+ DEPENDS ${THIS_XSL_OUTPUT_FILE})
|
||
+ set_target_properties(${THIS_XSL_MAKE_TARGET}
|
||
+ PROPERTIES
|
||
+ EXCLUDE_FROM_ALL ON)
|
||
+ endif()
|
||
+ endif()
|
||
+endmacro(xsl_transform)
|
||
+
|
||
+# Use Doxygen to parse header files and produce BoostBook output.
|
||
+#
|
||
+# doxygen_to_boostbook(output header1 header2 ...
|
||
+# [PARAMETERS param1=value1 param2=value2 ... ])
|
||
+#
|
||
+# This macro sets up rules to transform a set of C/C++ header files
|
||
+# into BoostBook reference documentation. The resulting BoostBook XML
|
||
+# file will be named by the "output" parameter, and the set of headers
|
||
+# is provided following the output file. The actual parsing of header
|
||
+# files is provided by Doxygen, and is transformed into XML through
|
||
+# various XSLT transformations.
|
||
+#
|
||
+# Doxygen has a variety of configuration parameters. One can supply
|
||
+# extra Doxygen configuration parameters by providing NAME=VALUE pairs
|
||
+# following the PARAMETERS argument. These parameters will be added to
|
||
+# the Doxygen configuration file.
|
||
+#
|
||
+# This macro is intended to be used internally by
|
||
+# boost_add_documentation.
|
||
+macro(doxygen_to_boostbook OUTPUT)
|
||
+ parse_arguments(THIS_DOXY
|
||
+ "PARAMETERS"
|
||
+ ""
|
||
+ ${ARGN})
|
||
+
|
||
+ # Create a Doxygen configuration file template
|
||
+ # TODO: We would like to create this file at build time rather
|
||
+ # than at configuration time
|
||
+ get_filename_component(DOXYFILE_PATH ${OUTPUT} PATH)
|
||
+ get_filename_component(DOXYFILE_NAME ${OUTPUT} NAME_WE)
|
||
+ set(DOXYFILE ${DOXYFILE_PATH}/${DOXYFILE_NAME}.doxyfile)
|
||
+ execute_process(
|
||
+ COMMAND ${DOXYGEN_EXECUTABLE} -s -g ${DOXYFILE}
|
||
+ OUTPUT_QUIET ERROR_QUIET)
|
||
+
|
||
+ # Update the Doxygen configuration file for XML generation
|
||
+ file(APPEND ${DOXYFILE} "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n")
|
||
+ file(APPEND ${DOXYFILE} "GENERATE_LATEX = NO\n")
|
||
+ file(APPEND ${DOXYFILE} "GENERATE_HTML = NO\n")
|
||
+ file(APPEND ${DOXYFILE} "GENERATE_XML = YES\n")
|
||
+ foreach(PARAM ${THIS_DOXY_PARAMETERS})
|
||
+ file(APPEND ${DOXYFILE} "${PARAM}\n")
|
||
+ endforeach(PARAM)
|
||
+
|
||
+ set(THIS_DOXY_HEADER_PATH ${CMAKE_SOURCE_DIR}/libs/${libname}/include)
|
||
+
|
||
+ set(THIS_DOXY_HEADER_LIST "")
|
||
+ set(THIS_DOXY_HEADERS)
|
||
+ foreach(HDR ${THIS_DOXY_DEFAULT_ARGS})
|
||
+ list(APPEND THIS_DOXY_HEADERS ${THIS_DOXY_HEADER_PATH}/${HDR})
|
||
+ set(THIS_DOXY_HEADER_LIST
|
||
+ "${THIS_DOXY_HEADER_LIST} ${THIS_DOXY_HEADER_PATH}/${HDR}")
|
||
+ endforeach(HDR)
|
||
+ file(APPEND ${DOXYFILE} "INPUT = ${THIS_DOXY_HEADER_LIST}\n")
|
||
+
|
||
+ # Generate Doxygen XML
|
||
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml
|
||
+ COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE}
|
||
+ COMMENT "Generating Doxygen XML output for Boost.${BOOST_PROJECT_NAME}..."
|
||
+ DEPENDS ${THIS_DOXY_HEADERS})
|
||
+
|
||
+ # Collect Doxygen XML into a single XML file
|
||
+ set_source_files_properties(
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt
|
||
+ PROPERTIES GENERATED TRUE)
|
||
+ xsl_transform(
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml
|
||
+ STYLESHEET ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt
|
||
+ COMMENT "Collecting Doxygen XML output for Boost.${BOOST_PROJECT_NAME}...")
|
||
+
|
||
+ # Transform single Doxygen XML file into BoostBook XML
|
||
+ xsl_transform(${OUTPUT}
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml
|
||
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/doxygen/doxygen2boostbook.xsl
|
||
+ COMMENT "Transforming Doxygen XML into BoostBook XML for Boost.${BOOST_PROJECT_NAME}...")
|
||
+endmacro(doxygen_to_boostbook)
|
||
+
|
||
+# Adds documentation for the current library or tool project
|
||
+#
|
||
+# boost_add_documentation(source1 source2 source3 ...
|
||
+# [HEADERS header1 header2 ...]
|
||
+# [DOXYGEN_PARAMETERS param1=value1 param2=value2 ...])
|
||
+#
|
||
+
|
||
+# This macro describes the documentation for a library or tool, which
|
||
+# will be built and installed as part of the normal build
|
||
+# process. Documentation can be in a variety of formats, and the input
|
||
+# format will determine how that documentation is transformed. The
|
||
+# documentation's format is determined by its extension, and the
|
||
+# following input formats are supported:
|
||
+#
|
||
+# QuickBook
|
||
+# BoostBook (.XML extension):
|
||
+macro(boost_add_documentation SOURCE)
|
||
+ parse_arguments(THIS_DOC
|
||
+ "HEADERS;DOXYGEN_PARAMETERS"
|
||
+ ""
|
||
+ ${ARGN})
|
||
+
|
||
+ # If SOURCE is not a full path, it's in the current source
|
||
+ # directory.
|
||
+ get_filename_component(THIS_DOC_SOURCE_PATH ${SOURCE} PATH)
|
||
+ if(THIS_DOC_SOURCE_PATH STREQUAL "")
|
||
+ set(THIS_DOC_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
|
||
+ else()
|
||
+ set(THIS_DOC_SOURCE_PATH ${SOURCE})
|
||
+ endif()
|
||
+
|
||
+ # If we are parsing C++ headers (with Doxygen) for reference
|
||
+ # documentation, do so now and produce the requested BoostBook XML
|
||
+ # file.
|
||
+ if (THIS_DOC_HEADERS)
|
||
+ set(DOC_HEADER_FILES)
|
||
+ set(DOC_BOOSTBOOK_FILE)
|
||
+ foreach(HEADER ${THIS_DOC_HEADERS})
|
||
+ get_filename_component(HEADER_EXT ${HEADER} EXT)
|
||
+ string(TOUPPER ${HEADER_EXT} HEADER_EXT)
|
||
+ if (HEADER_EXT STREQUAL ".XML")
|
||
+ if (DOC_BOOSTBOOK_FILE)
|
||
+ # Generate this BoostBook file from the headers
|
||
+ doxygen_to_boostbook(
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}
|
||
+ ${DOC_HEADER_FILES}
|
||
+ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS})
|
||
+ list(APPEND THIS_DOC_DEFAULT_ARGS
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE})
|
||
+ endif()
|
||
+ set(DOC_BOOSTBOOK_FILE ${HEADER})
|
||
+ set(DOC_HEADER_FILES)
|
||
+ else()
|
||
+ if (NOT DOC_BOOSTBOOK_FILE)
|
||
+ message(SEND_ERROR
|
||
+ "HEADERS argument to boost_add_documentation must start with a BoostBook XML file name for output")
|
||
+ endif()
|
||
+ list(APPEND DOC_HEADER_FILES ${HEADER})
|
||
+ endif()
|
||
+ endforeach()
|
||
+
|
||
+ if (DOC_HEADER_FILES)
|
||
+ # Generate this BoostBook file from the headers
|
||
+ doxygen_to_boostbook(
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}
|
||
+ ${DOC_HEADER_FILES}
|
||
+ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS})
|
||
+ list(APPEND THIS_DOC_DEFAULT_ARGS
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE})
|
||
+
|
||
+ endif()
|
||
+ endif (THIS_DOC_HEADERS)
|
||
+
|
||
+ # Figure out the source file extension, which will tell us how to
|
||
+ # build the documentation.
|
||
+ get_filename_component(THIS_DOC_EXT ${SOURCE} EXT)
|
||
+ string(TOUPPER ${THIS_DOC_EXT} THIS_DOC_EXT)
|
||
+ if (THIS_DOC_EXT STREQUAL ".QBK")
|
||
+ if (BUILD_QUICKBOOK)
|
||
+ # Transform Quickbook into BoostBook XML
|
||
+ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE)
|
||
+ set(BOOSTBOOK_FILE ${SOURCE_FILENAME}.xml)
|
||
+ add_custom_command(OUTPUT ${BOOSTBOOK_FILE}
|
||
+ COMMAND quickbook "--output-file=${BOOSTBOOK_FILE}"
|
||
+ ${THIS_DOC_SOURCE_PATH}
|
||
+ DEPENDS ${THIS_DOC_SOURCE_PATH} ${THIS_DOC_DEFAULT_ARGS}
|
||
+ COMMENT "Generating BoostBook documentation for Boost.${BOOST_PROJECT_NAME}...")
|
||
+
|
||
+ # Transform BoostBook into other formats
|
||
+ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${BOOSTBOOK_FILE})
|
||
+ else()
|
||
+ message(SEND_ERROR
|
||
+ "Quickbook is required to build Boost documentation.\nQuickbook can be built by enabling the BUILD_QUICKBOOK.")
|
||
+ endif()
|
||
+ elseif (THIS_DOC_EXT STREQUAL ".XML")
|
||
+ # Transform BoostBook XML into DocBook XML
|
||
+ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE)
|
||
+ set(DOCBOOK_FILE ${SOURCE_FILENAME}.docbook)
|
||
+ xsl_transform(${DOCBOOK_FILE} ${THIS_DOC_SOURCE_PATH}
|
||
+ ${THIS_DOC_DEFAULT_ARGS}
|
||
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/docbook.xsl
|
||
+ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml
|
||
+ COMMENT "Generating DocBook documentation for Boost.${BOOST_PROJECT_NAME}..."
|
||
+ MAKE_TARGET ${BOOST_PROJECT_NAME}-docbook)
|
||
+
|
||
+ # Transform DocBook into other formats
|
||
+ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${DOCBOOK_FILE})
|
||
+ elseif(THIS_DOC_EXT STREQUAL ".DOCBOOK")
|
||
+ # If requested, build HTML documentation
|
||
+ if (BUILD_DOCUMENTATION_HTML)
|
||
+ xsl_transform(
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/html
|
||
+ ${THIS_DOC_SOURCE_PATH}
|
||
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/html.xsl
|
||
+ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml
|
||
+ DIRECTORY HTML.manifest
|
||
+ PARAMETERS admon.graphics.path=images
|
||
+ navig.graphics.path=images
|
||
+ boost.image.src=boost.png
|
||
+ COMMENT "Generating HTML documentaiton for Boost.${BOOST_PROJECT_NAME}..."
|
||
+ MAKE_TARGET ${BOOST_PROJECT_NAME}-html)
|
||
+
|
||
+ add_custom_command(TARGET ${BOOST_PROJECT_NAME}-html
|
||
+ POST_BUILD
|
||
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/src/boostbook.css ${CMAKE_CURRENT_BINARY_DIR}/html
|
||
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/boost.png ${CMAKE_CURRENT_BINARY_DIR}/html
|
||
+ )
|
||
+ # Install generated documentation
|
||
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
|
||
+ DESTINATION share/boost-${BOOST_VERSION}
|
||
+ COMPONENT ${ULIBNAME}_DOCS
|
||
+ PATTERN "*.manifest" EXCLUDE)
|
||
+ endif ()
|
||
+
|
||
+ # If requested, build Unix man pages
|
||
+ if (BUILD_DOCUMENTATION_MAN_PAGES)
|
||
+ xsl_transform(
|
||
+ ${CMAKE_CURRENT_BINARY_DIR}/man
|
||
+ ${THIS_DOC_SOURCE_PATH}
|
||
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/manpages.xsl
|
||
+ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml
|
||
+ DIRECTORY man.manifest
|
||
+ COMMENT "Generating man pages for Boost.${BOOST_PROJECT_NAME}..."
|
||
+ MAKE_TARGET ${BOOST_PROJECT_NAME}-man)
|
||
+
|
||
+ # Install man pages
|
||
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man
|
||
+ DESTINATION .
|
||
+ COMPONENT ${ULIBNAME}_DOCS
|
||
+ PATTERN "*.manifest" EXCLUDE)
|
||
+ endif ()
|
||
+ else()
|
||
+ message(SEND_ERROR "Unknown documentation source kind ${SOURCE}.")
|
||
+ endif()
|
||
+endmacro(boost_add_documentation)
|
||
+
|
||
+
|
||
+##########################################################################
|
||
+# Documentation tools configuration #
|
||
+##########################################################################
|
||
+
|
||
+# Downloads the DocBook DTD into a place where DOCBOOK_DTD_DIR can
|
||
+# find it.
|
||
+macro(download_docbook_dtd)
|
||
+ if (NOT DOCBOOK_DTD_DIR)
|
||
+ set(DOCBOOK_DTD_FILENAME "docbook-xml-${WANT_DOCBOOK_DTD_VERSION}.zip")
|
||
+ set(DOCBOOK_DTD_URL
|
||
+ "http://www.oasis-open.org/docbook/xml/${WANT_DOCBOOK_DTD_VERSION}/${DOCBOOK_DTD_FILENAME}")
|
||
+ message(STATUS "Downloading DocBook DTD from ${DOCBOOK_DTD_URL}...")
|
||
+ file(DOWNLOAD
|
||
+ "${DOCBOOK_DTD_URL}"
|
||
+ "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}"
|
||
+ TIMEOUT 60 STATUS DOCBOOK_DTD_STATUS)
|
||
+ list(GET DOCBOOK_DTD_STATUS 0 DOCBOOK_DTD_ERROR)
|
||
+ if (DOCBOOK_DTD_ERROR EQUAL 0)
|
||
+ # Download successful! Extract the DTD ZIP file.
|
||
+ message(STATUS "Extracting DocBook DTD...")
|
||
+ execute_process(
|
||
+ COMMAND ${UNZIP} -d docbook-dtd-${WANT_DOCBOOK_DTD_VERSION} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}"
|
||
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||
+ RESULT_VARIABLE UNZIP_DTD_RESULT)
|
||
+ if (UNZIP_DTD_RESULT EQUAL 0)
|
||
+ # Extraction successful. Cleanup the downloaded file.
|
||
+ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME})
|
||
+ set(DOCBOOK_DTD_DIR
|
||
+ ${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION}
|
||
+ CACHE PATH "Path to the DocBook DTD" FORCE)
|
||
+ else()
|
||
+ # We failed: report the error to the user
|
||
+ message(SEND_ERROR "Extraction of DocBook DTD archive ${DOCBOOK_DTD_FILENAME} failed with error \"${UNZIP_DTD_RESULT}\". DocBook DTD and XSL autoconfiguration cannot continue.")
|
||
+ endif ()
|
||
+ else()
|
||
+ list(GET DOCBOOK_DTD_STATUS 1 DOCBOOK_DTD_ERRORMSG)
|
||
+ message(SEND_ERROR "Unable to download DocBook DTD from ${DOCBOOK_DTD_URL}. Error was: \"${DOCBOOK_DTD_ERRORMSG}\"")
|
||
+ endif()
|
||
+ endif()
|
||
+endmacro(download_docbook_dtd)
|
||
+
|
||
+# Downloads the DocBook XSL into a place where DOCBOOK_XSL_DIR can
|
||
+# find it.
|
||
+macro(download_docbook_xsl)
|
||
+ if (NOT DOCBOOK_XSL_DIR)
|
||
+ set(DOCBOOK_XSL_FILENAME "docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}.zip")
|
||
+ set(DOCBOOK_XSL_URL
|
||
+ "${SOURCEFORGE_MIRROR}/sourceforge/docbook/${DOCBOOK_XSL_FILENAME}")
|
||
+ message(STATUS "Downloading DocBook XSL from ${DOCBOOK_XSL_URL}...")
|
||
+ file(DOWNLOAD
|
||
+ "${DOCBOOK_XSL_URL}"
|
||
+ "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}"
|
||
+ TIMEOUT 60 STATUS DOCBOOK_XSL_STATUS)
|
||
+ list(GET DOCBOOK_XSL_STATUS 0 DOCBOOK_XSL_ERROR)
|
||
+ if (DOCBOOK_XSL_ERROR EQUAL 0)
|
||
+ # Download successful! Extract the XSL ZIP file.
|
||
+ message(STATUS "Extracting DocBook XSL stylesheets...")
|
||
+ execute_process(
|
||
+ COMMAND ${UNZIP} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}"
|
||
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||
+ RESULT_VARIABLE UNZIP_XSL_RESULT)
|
||
+ if (UNZIP_XSL_RESULT EQUAL 0)
|
||
+ # Extraction successful. Clean up the downloaded file.
|
||
+ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME})
|
||
+ set(DOCBOOK_XSL_DIR
|
||
+ ${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}
|
||
+ CACHE PATH "Path to the DocBook XSL stylesheets" FORCE)
|
||
+ else()
|
||
+ # We failed: report the error to the user
|
||
+ message(SEND_ERROR "Extraction of DocBook XSL archive ${DOCBOOK_XSL_FILENAME} failed with error \"${UNZIP_XSL_RESULT}\". DocBook XSL and XSL autoconfiguration cannot continue.")
|
||
+ endif ()
|
||
+ else()
|
||
+ list(GET DOCBOOK_XSL_STATUS 1 DOCBOOK_XSL_ERRORMSG)
|
||
+ message(SEND_ERROR "Unable to download DocBook XSL from ${DOCBOOK_XSL_URL}. Error was: \"${DOCBOOK_XSL_ERRORMSG}\". You might want to try another SourceForge mirror site by changing the advanced configuration variable SOURCEFORGE_MIRROR.")
|
||
+ endif()
|
||
+ endif()
|
||
+endmacro(download_docbook_xsl)
|
||
+
|
||
+# Preferred versions of DocBook stylesheets and utilities. We don't
|
||
+# require these, but we know that they work.
|
||
+set(WANT_DOCBOOK_DTD_VERSION 4.2)
|
||
+set(WANT_DOCBOOK_XSL_VERSION 1.73.2)
|
||
+
|
||
+# Find the DocBook DTD (version 4.2)
|
||
+find_path(DOCBOOK_DTD_DIR docbookx.dtd
|
||
+ PATHS "${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION}"
|
||
+ # ubuntu puts 'em here
|
||
+ /usr/share/xml/docbook/schema/dtd/${WANT_DOCBOOK_DTD_VERSION}
|
||
+ DOC "Path to the DocBook DTD")
|
||
+
|
||
+# Find the DocBook XSL stylesheets
|
||
+find_path(DOCBOOK_XSL_DIR html/html.xsl
|
||
+ PATHS "${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}"
|
||
+ # ubuntu puts 'em here
|
||
+ /usr/share/xml/docbook/stylesheet/nwalsh
|
||
+ DOC "Path to the DocBook XSL stylesheets")
|
||
+
|
||
+# Find the BoostBook DTD (it should be in the distribution!)
|
||
+find_path(BOOSTBOOK_DTD_DIR boostbook.dtd
|
||
+ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/dtd
|
||
+ DOC "Path to the BoostBook DTD")
|
||
+mark_as_advanced(BOOSTBOOK_DTD_DIR)
|
||
+
|
||
+# Find the BoostBook XSL stylesheets (they should be in the distribution!)
|
||
+find_path(BOOSTBOOK_XSL_DIR docbook.xsl
|
||
+ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/xsl
|
||
+ DOC "Path to the BoostBook XSL stylesheets")
|
||
+mark_as_advanced(BOOSTBOOK_XSL_DIR)
|
||
+
|
||
+if (XSLTPROC_EXECUTABLE AND DOXYGEN)
|
||
+ if (DOCBOOK_DTD_DIR AND DOCBOOK_XSL_DIR)
|
||
+ # Documentation build options
|
||
+ option(BUILD_DOCUMENTATION "Whether to build library documentation" ON)
|
||
+ option(BUILD_DOCUMENTATION_HTML "Whether to build HTML documentation" ON)
|
||
+ option(BUILD_DOCUMENTATION_MAN_PAGES "Whether to build Unix man pages" ON)
|
||
+
|
||
+ # Generate an XML catalog file.
|
||
+ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/catalog.xml.in
|
||
+ ${CMAKE_BINARY_DIR}/catalog.xml
|
||
+ @ONLY)
|
||
+ else()
|
||
+ # Look for "unzip", because we'll need it to download the DocBook
|
||
+ # DTD and XSL stylesheets as part of autoconfiguration.
|
||
+ find_program(UNZIP unzip DOC "Used to extract ZIP archives")
|
||
+
|
||
+ if (UNZIP)
|
||
+ option(DOCBOOK_AUTOCONFIG
|
||
+ "Automatically download and configure DocBook DTD and XSL" OFF)
|
||
+ set(SOURCEFORGE_MIRROR "http://dl.sourceforge.net"
|
||
+ CACHE STRING "SourceForge mirror used to download DocBook XSL during autoconfiguration")
|
||
+ mark_as_advanced(SOURCEFORGE_MIRROR)
|
||
+ if (DOCBOOK_AUTOCONFIG)
|
||
+ message(STATUS "Initiating DocBook DTD and XSL autoconfiguration...")
|
||
+ download_docbook_dtd()
|
||
+ download_docbook_xsl()
|
||
+ endif (DOCBOOK_AUTOCONFIG)
|
||
+ endif()
|
||
+ endif()
|
||
+endif()
|
||
+
|
||
+# Turn off BUILD_DOCUMENTATION if it isn't going to succeed.
|
||
+if (BUILD_DOCUMENTATION)
|
||
+ set(BUILD_DOCUMENTATION_OKAY TRUE)
|
||
+ if (NOT XSLTPROC_FOUND)
|
||
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
|
||
+ message(STATUS "Docs build disabled due to missing xsltproc")
|
||
+ elseif (NOT DOXYGEN_FOUND)
|
||
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
|
||
+ message(STATUS "Docs build disabled due to missing doxygen")
|
||
+ elseif (NOT DOCBOOK_DTD_DIR)
|
||
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
|
||
+ message(STATUS "Docs build disabled due to missing docbook dtd dir")
|
||
+ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.")
|
||
+ elseif (NOT DOCBOOK_XSL_DIR)
|
||
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
|
||
+ message(STATUS "Docs build disabled due to missing docbook xsl dir")
|
||
+ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.")
|
||
+ else()
|
||
+ set(BUILD_DOCUMENTATION_OKAY TRUE)
|
||
+ endif()
|
||
+
|
||
+ if (NOT BUILD_DOCUMENTATION_OKAY)
|
||
+ if (BUILD_DOCUMENTATION)
|
||
+ set(BUILD_DOCUMENTATION OFF CACHE BOOL
|
||
+ "Whether to build library documentation" FORCE)
|
||
+ endif()
|
||
+ endif()
|
||
+endif()
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/BoostExternals.cmake b/tools/build/CMake/BoostExternals.cmake
|
||
new file mode 100644
|
||
index 0000000..763ce1e
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/BoostExternals.cmake
|
||
@@ -0,0 +1,55 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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
|
||
+#
|
||
+
|
||
+message(STATUS "")
|
||
+colormsg(_HIBLUE_ "Looking for (optional) dependencies on the system")
|
||
+
|
||
+macro(boost_external_report NAME)
|
||
+ string(TOUPPER ${NAME} VARNAME)
|
||
+ set(VARNAMES ${ARGV})
|
||
+ list(REMOVE_AT VARNAMES 0)
|
||
+ set(SUCCESS ${${VARNAME}_FOUND})
|
||
+ if(NOT SUCCESS)
|
||
+ message(STATUS "${NAME} not found, some libraries or features will be disabled.")
|
||
+ message(STATUS "See the documentation for ${NAME} or manually set these variables:")
|
||
+ endif()
|
||
+ foreach(variable ${VARNAMES})
|
||
+ boost_report_value(${VARNAME}_${variable})
|
||
+ endforeach()
|
||
+endmacro()
|
||
+
|
||
+#
|
||
+# Some externals default to OFF
|
||
+#
|
||
+option(WITH_VALGRIND "Run tests under valgrind" OFF)
|
||
+
|
||
+#
|
||
+#
|
||
+#
|
||
+foreach(external
|
||
+ BZip2
|
||
+ Doxygen
|
||
+ Expat
|
||
+ ICU
|
||
+ MPI
|
||
+ Python
|
||
+ Xsltproc
|
||
+ Valgrind
|
||
+ ZLib
|
||
+ )
|
||
+ message(STATUS "")
|
||
+ string(TOUPPER "${external}" EXTERNAL)
|
||
+ option(WITH_${EXTERNAL} "Attempt to find and configure ${external}" ON)
|
||
+ if(WITH_${EXTERNAL})
|
||
+ colormsg(HICYAN "${external}:")
|
||
+ include(${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/externals/${external}.cmake)
|
||
+ else()
|
||
+ set(${EXTERNAL}_FOUND FALSE CACHE BOOL "${external} found" FORCE)
|
||
+ colormsg(HIRED "${external}:" RED "disabled, since WITH_${EXTERNAL}=OFF")
|
||
+ endif()
|
||
+endforeach()
|
||
+message(STATUS "")
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/BoostTesting.cmake b/tools/build/CMake/BoostTesting.cmake
|
||
new file mode 100644
|
||
index 0000000..79129a5
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/BoostTesting.cmake
|
||
@@ -0,0 +1,494 @@
|
||
+##########################################################################
|
||
+# Regression Testing Support for Boost #
|
||
+##########################################################################
|
||
+# Copyright (C) 2007-8 Douglas Gregor <doug.gregor@gmail.com> #
|
||
+# Copyright (C) 2007-8 Troy D. Straszheim #
|
||
+# #
|
||
+# 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 #
|
||
+##########################################################################
|
||
+# This file provides a set of CMake macros that support regression
|
||
+# testing for Boost libraries. For each of the test macros below, the
|
||
+# first argument, testname, states the name of the test that will be
|
||
+# created. If no other arguments are provided, the source file
|
||
+# testname.cpp will be used as the source file; otherwise, source
|
||
+# files should be listed immediately after the name of the test.
|
||
+#
|
||
+# The macros for creating regression tests are:
|
||
+# boost_test_run: Builds an executable and runs it as a test. The test
|
||
+# succeeds if it builds and returns 0 when executed.
|
||
+#
|
||
+# boost_test_run_fail: Builds an executable and runs it as a test. The
|
||
+# test succeeds if it builds but returns a non-zero
|
||
+# exit code when executed.
|
||
+#
|
||
+# boost_test_compile: Tests that the given source file compiles without
|
||
+# any errors.
|
||
+#
|
||
+# boost_test_compile_fail: Tests that the given source file produces
|
||
+# errors when compiled.
|
||
+#
|
||
+# boost_additional_test_dependencies: Adds needed include directories for
|
||
+# the tests.
|
||
+
|
||
+# User-controlled option that can be used to enable/disable regression
|
||
+# testing. By default, we disable testing, because most users won't
|
||
+# want or need to perform regression testing on Boost. The Boost build
|
||
+# is significantly faster when we aren't also building regression
|
||
+# tests.
|
||
+
|
||
+if (BOOST_CMAKE_SELFTEST)
|
||
+ set(tests "ALL")
|
||
+else()
|
||
+ set(tests "NONE")
|
||
+endif()
|
||
+
|
||
+set(BUILD_TESTS ${tests} CACHE STRING "Semicolon-separated list of lowercase librarary names to test, or \"ALL\"")
|
||
+enable_testing()
|
||
+
|
||
+if (BUILD_TESTING)
|
||
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/CTestCustom.cmake)
|
||
+ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/CTestCustom.cmake.in
|
||
+ ${CMAKE_BINARY_DIR}/CTestCustom.cmake
|
||
+ COPYONLY)
|
||
+ endif()
|
||
+ include(CTest)
|
||
+endif()
|
||
+
|
||
+if (BUILD_TESTS STREQUAL "NONE")
|
||
+ #
|
||
+ # Add a little "message" if tests are run while BUILD_TESTS is NONE
|
||
+ #
|
||
+ add_test(BUILD_TESTS_is_NONE_nothing_to_test
|
||
+ /bin/false)
|
||
+endif()
|
||
+
|
||
+set(DART_TESTING_TIMEOUT 15
|
||
+ CACHE INTEGER
|
||
+ "Timeout after this many seconds of madness")
|
||
+
|
||
+#-------------------------------------------------------------------------------
|
||
+# This macro adds additional include directories based on the dependencies of
|
||
+# the library being tested 'libname' and all of its dependencies.
|
||
+#
|
||
+# boost_additional_test_dependencies(libname
|
||
+# BOOST_DEPENDS libdepend1 libdepend2 ...)
|
||
+#
|
||
+# libname is the name of the boost library being tested. (signals)
|
||
+#
|
||
+# There is mandatory argument to the macro:
|
||
+#
|
||
+# BOOST_DEPENDS: The list of the extra boost libraries that the test suite will
|
||
+# depend on. You do NOT have to list those libraries already listed by the
|
||
+# module.cmake file as these will be used.
|
||
+#
|
||
+#
|
||
+# example usage:
|
||
+# boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)
|
||
+#
|
||
+#
|
||
+# TDS 20091103:
|
||
+# For the moment we don't need this, since tests are now traversed
|
||
+# after project directories (so all boost lib dependency targets are
|
||
+# visible to all tests) and modularization has crashed and burned.
|
||
+#
|
||
+macro(boost_additional_test_dependencies libname)
|
||
+ # NOTE DISABLED
|
||
+ if (FALSE)
|
||
+ parse_arguments(BOOST_TEST
|
||
+ "BOOST_DEPENDS"
|
||
+ ""
|
||
+ ${ARGN}
|
||
+ )
|
||
+ # Get the list of libraries that this test depends on
|
||
+ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its
|
||
+ # dependencies, its dependencies' dependencies, etc., transitively.
|
||
+ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
|
||
+ set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} )
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ while (ADDED_DEPS)
|
||
+ set(ADDED_DEPS FALSE)
|
||
+ foreach(DEP ${THIS_TEST_DEPENDS_ALL})
|
||
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
|
||
+ foreach(DEPDEP ${${DEP_DEPENDS}})
|
||
+ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
|
||
+ if (DEPDEP_INDEX EQUAL -1)
|
||
+ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ endif()
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+ endwhile()
|
||
+
|
||
+ # Get the list of dependencies for the additional libraries arguments
|
||
+ foreach(additional_lib ${BOOST_TEST_BOOST_DEPENDS})
|
||
+ list(FIND THIS_TEST_DEPENDS_ALL ${additional_lib} DEPDEP_INDEX)
|
||
+ if (DEPDEP_INDEX EQUAL -1)
|
||
+ list(APPEND THIS_TEST_DEPENDS_ALL ${additional_lib})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ endif()
|
||
+ string(TOUPPER "BOOST_${additional_lib}_DEPENDS" THIS_PROJECT_DEPENDS)
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ while (ADDED_DEPS)
|
||
+ set(ADDED_DEPS FALSE)
|
||
+ foreach(DEP ${THIS_TEST_DEPENDS_ALL})
|
||
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
|
||
+ foreach(DEPDEP ${${DEP_DEPENDS}})
|
||
+ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
|
||
+ if (DEPDEP_INDEX EQUAL -1)
|
||
+ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
|
||
+ set(ADDED_DEPS TRUE)
|
||
+ endif()
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+ endwhile()
|
||
+ endforeach()
|
||
+
|
||
+ foreach (include ${THIS_TEST_DEPENDS_ALL})
|
||
+ #
|
||
+ # Modularization temporarily disabled
|
||
+ #
|
||
+ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
|
||
+ #
|
||
+ endforeach (include ${includes})
|
||
+endif()
|
||
+
|
||
+endmacro(boost_additional_test_dependencies libname)
|
||
+#-------------------------------------------------------------------------------
|
||
+
|
||
+#-------------------------------------------------------------------------------
|
||
+# This macro is an internal utility macro that helps parse the
|
||
+# arguments passed to the Boost testing commands. It will generally
|
||
+# not be used by Boost developers.
|
||
+#
|
||
+# boost_test_parse_args(testname
|
||
+# [source1 source2 ...]
|
||
+# [ARGS arg1 arg2... ]
|
||
+# [COMPILE_FLAGS compileflags]
|
||
+# [LINK_FLAGS linkflags]
|
||
+# [LINK_LIBS linklibs]
|
||
+# [DEPENDS libdepend1 libdepend2 ...]
|
||
+# [KNOWN_FAILURES string1 string2 ...]
|
||
+# [COMPILE] [RUN] [FAIL])
|
||
+#
|
||
+# testname is the name of the test. The remaining arguments passed to
|
||
+# this macro will be parsed and categorized for the developer-level
|
||
+# test macros to use.
|
||
+#
|
||
+# Variables affected:
|
||
+#
|
||
+# BOOST_TEST_OKAY: Will be set to TRUE if it is okay to build and
|
||
+# run this test.
|
||
+#
|
||
+# BOOST_TEST_SOURCES: Will be populated with the set of source files
|
||
+# that should be used to compile this test. If the user has provided
|
||
+# source files, BOOST_TEST_SOURCES will contain those; otherwise,
|
||
+# BOOST_TEST_SOURCES will only contain "testname.cpp".
|
||
+#
|
||
+# BOOST_TEST_TESTNAME: A (hopefully) globally unique target name
|
||
+# for the test, constructed from PROJECT-testname-TAG
|
||
+#
|
||
+# BOOST_TEST_arg: Will be populated with the arguments provided for
|
||
+# the arguemnt "arg", where "arg" can be any of the extra arguments
|
||
+# specified above.
|
||
+#
|
||
+#
|
||
+macro(boost_test_parse_args testname)
|
||
+ #message("boost_test_parse_args ${testname} ${ARGN}")
|
||
+ set(BOOST_TEST_OKAY TRUE)
|
||
+ set(BOOST_TEST_COMPILE_FLAGS "")
|
||
+ parse_arguments(BOOST_TEST
|
||
+ "BOOST_LIB;LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS;EXTRA_OPTIONS;KNOWN_FAILURES"
|
||
+ "COMPILE;RUN;LINK;FAIL;RELEASE;DEBUG"
|
||
+ ${ARGN}
|
||
+ )
|
||
+
|
||
+ # Check each of the dependencies to see if we can still build this
|
||
+ # test.
|
||
+ foreach(ARG ${BOOST_TEST_DEPENDS})
|
||
+ get_target_property(DEPEND_TYPE ${ARG} TYPE)
|
||
+ get_target_property(DEPEND_LOCATION ${ARG} LOCATION)
|
||
+ # If building static libraries is turned off, don't try to build
|
||
+ # the test
|
||
+ #if (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY")
|
||
+ #set(BOOST_TEST_OKAY FALSE)
|
||
+ #endif (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY")
|
||
+
|
||
+ # If building shared libraries is turned off, don't try to build
|
||
+ # the test
|
||
+ #if (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY")
|
||
+ #set(BOOST_TEST_OKAY FALSE)
|
||
+ #endif (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY")
|
||
+ endforeach(ARG ${BOOST_TEST_DEPENDS})
|
||
+
|
||
+ # Setup the SOURCES variables. If no sources are specified, use the
|
||
+ # name of the test.cpp
|
||
+ if (BOOST_TEST_DEFAULT_ARGS)
|
||
+ set(BOOST_TEST_SOURCES ${BOOST_TEST_DEFAULT_ARGS})
|
||
+ else (BOOST_TEST_DEFAULT_ARGS)
|
||
+ set(BOOST_TEST_SOURCES "${testname}.cpp")
|
||
+ endif (BOOST_TEST_DEFAULT_ARGS)
|
||
+
|
||
+ set(BOOST_TEST_TESTNAME "${BOOST_PROJECT_NAME}-${testname}")
|
||
+ #message("testname: ${BOOST_TEST_TESTNAME}")
|
||
+ # If testing is turned off, this test is not okay
|
||
+endmacro(boost_test_parse_args)
|
||
+
|
||
+# This macro attaches a the "known-failure" label to the given test
|
||
+# target if the build name matches any of the declared, known
|
||
+# failures.
|
||
+macro(boost_test_known_failures TEST)
|
||
+ foreach(PATTERN ${ARGN})
|
||
+ if (${BUILDNAME} MATCHES ${PATTERN})
|
||
+ set_tests_properties("${BOOST_PROJECT_NAME}-${TEST}"
|
||
+ PROPERTIES
|
||
+ LABELS "${BOOST_PROJECT_NAME};known-failure"
|
||
+ WILL_FAIL TRUE
|
||
+ )
|
||
+ endif()
|
||
+ endforeach()
|
||
+endmacro(boost_test_known_failures)
|
||
+
|
||
+
|
||
+# This macro creates a Boost regression test that will be executed. If
|
||
+# the test can be built, executed, and exits with a return code of
|
||
+# zero, it will be considered to have passed.
|
||
+#
|
||
+# boost_test_run(testname
|
||
+# [source1 source2 ...]
|
||
+# [ARGS arg1 arg2... ]
|
||
+# [COMPILE_FLAGS compileflags]
|
||
+# [LINK_FLAGS linkflags]
|
||
+# [LINK_LIBS linklibs]
|
||
+# [DEPENDS libdepend1 libdepend2 ...]
|
||
+# [EXTRA_OPTIONS option1 option2 ...])
|
||
+#
|
||
+# testname is the name of the test. source1, source2, etc. are the
|
||
+# source files that will be built and linked into the test
|
||
+# executable. If no source files are provided, the file "testname.cpp"
|
||
+# will be used instead.
|
||
+#
|
||
+# There are several optional arguments to control how the regression
|
||
+# test is built and executed:
|
||
+#
|
||
+# ARGS: Provides additional arguments that will be passed to the
|
||
+# test executable when it is run.
|
||
+#
|
||
+# COMPILE_FLAGS: Provides additional compilation flags that will be
|
||
+# used when building this test. For example, one might want to add
|
||
+# "-DBOOST_SIGNALS_ASSERT=1" to turn on assertions within the library.
|
||
+#
|
||
+# LINK_FLAGS: Provides additional flags that will be passed to the
|
||
+# linker when linking the test excecutable. This option should not
|
||
+# be used to link in additional libraries; see LINK_LIBS and
|
||
+# DEPENDS.
|
||
+#
|
||
+# LINK_LIBS: Provides additional libraries against which the test
|
||
+# executable will be linked. For example, one might provide "expat"
|
||
+# as options to LINK_LIBS, to state that this executable should be
|
||
+# linked against the external "expat" library. Use LINK_LIBS for
|
||
+# libraries external to Boost; for Boost libraries, use DEPENDS.
|
||
+#
|
||
+# DEPENDS: States that this test executable depends on and links
|
||
+# against another Boost library. The argument to DEPENDS should be
|
||
+# the name of a particular variant of a Boost library, e.g.,
|
||
+# boost_signals-static.
|
||
+#
|
||
+# EXTRA_OPTIONS: Provide extra options that will be passed on to
|
||
+# boost_add_executable.
|
||
+#
|
||
+# Example:
|
||
+# boost_test_run(signal_test DEPENDS boost_signals)
|
||
+macro(boost_test_run testname)
|
||
+ boost_test_parse_args(${testname} ${ARGN} RUN)
|
||
+ #
|
||
+ # On windows, tests have to go in the same directory as
|
||
+ # DLLs.
|
||
+ #
|
||
+ if (NOT CMAKE_HOST_WIN32)
|
||
+ set(THIS_TEST_OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/${testname})
|
||
+ else()
|
||
+ set(THIS_TEST_OUTPUT_NAME ${BOOST_PROJECT_NAME}-${testname})
|
||
+ endif()
|
||
+
|
||
+ if (BOOST_TEST_OKAY)
|
||
+ boost_add_executable(${testname} ${BOOST_TEST_SOURCES}
|
||
+ DEPENDS "${BOOST_TEST_DEPENDS}"
|
||
+ OUTPUT_NAME ${THIS_TEST_OUTPUT_NAME}
|
||
+ LINK_LIBS ${BOOST_TEST_LINK_LIBS}
|
||
+ LINK_FLAGS ${BOOST_TEST_LINK_FLAGS}
|
||
+ COMPILE_FLAGS ${BOOST_TEST_COMPILE_FLAGS}
|
||
+ NO_INSTALL
|
||
+ ${BOOST_TEST_EXTRA_OPTIONS})
|
||
+
|
||
+ if (THIS_EXE_OKAY)
|
||
+ #
|
||
+ # Fixup path for visual studio per instructions from Brad King:
|
||
+ #
|
||
+ get_target_property(THIS_TEST_LOCATION ${BOOST_TEST_TESTNAME}
|
||
+ LOCATION)
|
||
+ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
|
||
+ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}")
|
||
+
|
||
+ add_test (${BOOST_TEST_TESTNAME}
|
||
+ ${VALGRIND_EXECUTABLE}
|
||
+ ${VALGRIND_FLAGS}
|
||
+ ${THIS_TEST_LOCATION}
|
||
+ ${BOOST_TEST_ARGS})
|
||
+
|
||
+ set_tests_properties(${BOOST_TEST_TESTNAME}
|
||
+ PROPERTIES
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ )
|
||
+ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
|
||
+
|
||
+ if (BOOST_TEST_FAIL)
|
||
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
|
||
+ endif ()
|
||
+ endif(THIS_EXE_OKAY)
|
||
+ endif (BOOST_TEST_OKAY)
|
||
+endmacro(boost_test_run)
|
||
+
|
||
+#
|
||
+# This macro creates a boost regression test that will be run but is
|
||
+# expected to fail (exit with nonzero return code).
|
||
+# See boost_test_run()
|
||
+#
|
||
+macro(boost_test_run_fail testname)
|
||
+ boost_test_run(${testname} ${ARGN} FAIL)
|
||
+endmacro(boost_test_run_fail)
|
||
+
|
||
+# This macro creates a Boost regression test that will be compiled,
|
||
+# but not linked or executed. If the test can be compiled with no
|
||
+# failures, the test passes.
|
||
+#
|
||
+# boost_test_compile(testname
|
||
+# [source1]
|
||
+# [COMPILE_FLAGS compileflags])
|
||
+#
|
||
+# testname is the name of the test. source1 is the name of the source
|
||
+# file that will be built. If no source file is provided, the file
|
||
+# "testname.cpp" will be used instead.
|
||
+#
|
||
+# The COMPILE_FLAGS argument provides additional arguments that will
|
||
+# be passed to the compiler when building this test.
|
||
+
|
||
+# Example:
|
||
+# boost_test_compile(advance)
|
||
+macro(boost_test_compile testname)
|
||
+ boost_test_parse_args(${testname} ${ARGN} COMPILE)
|
||
+
|
||
+ if (BOOST_TEST_FAIL)
|
||
+ set (test_pass "FAILED")
|
||
+ else()
|
||
+ set (test_pass "PASSED")
|
||
+ endif()
|
||
+
|
||
+ if (BOOST_TEST_OKAY)
|
||
+
|
||
+ # Determine the include directories to pass along to the underlying
|
||
+ # project.
|
||
+ # works but not great
|
||
+ get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES)
|
||
+ set(BOOST_TEST_INCLUDES "")
|
||
+ foreach(DIR ${BOOST_TEST_INCLUDE_DIRS})
|
||
+ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}")
|
||
+ endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS})
|
||
+
|
||
+ add_test(${BOOST_TEST_TESTNAME}
|
||
+ ${CMAKE_CTEST_COMMAND}
|
||
+ --build-and-test
|
||
+ ${Boost_SOURCE_DIR}/tools/build/CMake/CompileTest
|
||
+ ${Boost_BINARY_DIR}/tools/build/CMake/CompileTest
|
||
+ --build-generator ${CMAKE_GENERATOR}
|
||
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
||
+ --build-project CompileTest
|
||
+ --build-options
|
||
+ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}"
|
||
+ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}"
|
||
+ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}"
|
||
+ )
|
||
+
|
||
+ set_tests_properties(${BOOST_TEST_TESTNAME}
|
||
+ PROPERTIES
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ )
|
||
+
|
||
+ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
|
||
+
|
||
+ if (BOOST_TEST_FAIL)
|
||
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
|
||
+ endif ()
|
||
+ endif(BOOST_TEST_OKAY)
|
||
+endmacro(boost_test_compile)
|
||
+
|
||
+#
|
||
+# This macro creates a Boost regression test that is expected to
|
||
+# *fail* to compile. See boost_test_compile()
|
||
+#
|
||
+macro(boost_test_compile_fail testname)
|
||
+ boost_test_compile(${testname} ${ARGN} FAIL)
|
||
+endmacro(boost_test_compile_fail)
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+#
|
||
+# boost_test_link:
|
||
+#
|
||
+#
|
||
+# Each library "exports" itself to
|
||
+# ${CMAKE_BINARY_DIR}/exports/<variantname>.cmake
|
||
+#
|
||
+# The list of 'depends' for these libraries has to match one of those
|
||
+# files, this way the export mechanism works. The generated
|
||
+# cmakelists will include() those exported .cmake files, for each
|
||
+# DEPENDS.
|
||
+#
|
||
+#
|
||
+macro(boost_test_link testname)
|
||
+ boost_test_parse_args(${testname} ${ARGN} LINK)
|
||
+ if(BOOST_TEST_OKAY)
|
||
+ # Determine the include directories to pass along to the underlying
|
||
+ # project.
|
||
+ # works but not great
|
||
+ get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES)
|
||
+ set(BOOST_TEST_INCLUDES "")
|
||
+ foreach(DIR ${BOOST_TEST_INCLUDE_DIRS})
|
||
+ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}")
|
||
+ endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS})
|
||
+
|
||
+ add_test(${BOOST_TEST_TESTNAME}
|
||
+ ${CMAKE_CTEST_COMMAND}
|
||
+ -VV
|
||
+ --build-and-test
|
||
+ ${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest
|
||
+ ${Boost_BINARY_DIR}/tools/build/CMake/LinkTest
|
||
+ --build-generator ${CMAKE_GENERATOR}
|
||
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
||
+ --build-project LinkTest
|
||
+ --build-options
|
||
+ "-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}"
|
||
+ "-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}"
|
||
+ "-DBOOST_EXPORTS_DIR:FILEPATH=${CMAKE_BINARY_DIR}/exports"
|
||
+ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}"
|
||
+ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}"
|
||
+ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}"
|
||
+ "-DLINK_LIBS:STRING=${BOOST_TEST_LINK_LIBS}"
|
||
+ "-DDEPENDS:STRING=${BOOST_TEST_DEPENDS}"
|
||
+ )
|
||
+
|
||
+ set_tests_properties(${BOOST_TEST_TESTNAME}
|
||
+ PROPERTIES
|
||
+ LABELS "${BOOST_PROJECT_NAME}"
|
||
+ )
|
||
+
|
||
+ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
|
||
+
|
||
+ if (BOOST_TEST_FAIL)
|
||
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
|
||
+ endif ()
|
||
+ endif(BOOST_TEST_OKAY)
|
||
+endmacro(boost_test_link)
|
||
+
|
||
diff --git a/tools/build/CMake/BoostUtils.cmake b/tools/build/CMake/BoostUtils.cmake
|
||
new file mode 100644
|
||
index 0000000..8cf2632
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/BoostUtils.cmake
|
||
@@ -0,0 +1,331 @@
|
||
+##########################################################################
|
||
+# Boost Utilities #
|
||
+##########################################################################
|
||
+# Copyright (C) 2007 Douglas Gregor <doug.gregor@gmail.com> #
|
||
+# Copyright (C) 2007 Troy Straszheim #
|
||
+# #
|
||
+# 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 #
|
||
+##########################################################################
|
||
+# Macros in this module: #
|
||
+# #
|
||
+# list_contains: Determine whether a string value is in a list. #
|
||
+# #
|
||
+# car: Return the first element in a list #
|
||
+# #
|
||
+# cdr: Return all but the first element in a list #
|
||
+# #
|
||
+# parse_arguments: Parse keyword arguments for use in other macros. #
|
||
+##########################################################################
|
||
+
|
||
+# This utility macro determines whether a particular string value
|
||
+# occurs within a list of strings:
|
||
+#
|
||
+# list_contains(result string_to_find arg1 arg2 arg3 ... argn)
|
||
+#
|
||
+# This macro sets the variable named by result equal to TRUE if
|
||
+# string_to_find is found anywhere in the following arguments.
|
||
+macro(list_contains var value)
|
||
+ set(${var})
|
||
+ foreach (value2 ${ARGN})
|
||
+ if (${value} STREQUAL ${value2})
|
||
+ set(${var} TRUE)
|
||
+ endif (${value} STREQUAL ${value2})
|
||
+ endforeach (value2)
|
||
+endmacro(list_contains)
|
||
+
|
||
+# This utility macro extracts the first argument from the list of
|
||
+# arguments given, and places it into the variable named var.
|
||
+#
|
||
+# car(var arg1 arg2 ...)
|
||
+macro(car var)
|
||
+ set(${var} ${ARGV1})
|
||
+endmacro(car)
|
||
+
|
||
+# This utility macro extracts all of the arguments given except the
|
||
+# first, and places them into the variable named var.
|
||
+#
|
||
+# car(var arg1 arg2 ...)
|
||
+macro(cdr var junk)
|
||
+ set(${var} ${ARGN})
|
||
+endmacro(cdr)
|
||
+
|
||
+# The PARSE_ARGUMENTS macro will take the arguments of another macro and
|
||
+# define several variables. The first argument to PARSE_ARGUMENTS is a
|
||
+# prefix to put on all variables it creates. The second argument is a
|
||
+# list of names, and the third argument is a list of options. Both of
|
||
+# these lists should be quoted. The rest of PARSE_ARGUMENTS are
|
||
+# arguments from another macro to be parsed.
|
||
+#
|
||
+# PARSE_ARGUMENTS(prefix arg_names options arg1 arg2...)
|
||
+#
|
||
+# For each item in options, PARSE_ARGUMENTS will create a variable with
|
||
+# that name, prefixed with prefix_. So, for example, if prefix is
|
||
+# MY_MACRO and options is OPTION1;OPTION2, then PARSE_ARGUMENTS will
|
||
+# create the variables MY_MACRO_OPTION1 and MY_MACRO_OPTION2. These
|
||
+# variables will be set to true if the option exists in the command line
|
||
+# or false otherwise.
|
||
+#
|
||
+# For each item in arg_names, PARSE_ARGUMENTS will create a variable
|
||
+# with that name, prefixed with prefix_. Each variable will be filled
|
||
+# with the arguments that occur after the given arg_name is encountered
|
||
+# up to the next arg_name or the end of the arguments. All options are
|
||
+# removed from these lists. PARSE_ARGUMENTS also creates a
|
||
+# prefix_DEFAULT_ARGS variable containing the list of all arguments up
|
||
+# to the first arg_name encountered.
|
||
+MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
|
||
+ SET(DEFAULT_ARGS)
|
||
+ FOREACH(arg_name ${arg_names})
|
||
+ SET(${prefix}_${arg_name})
|
||
+ ENDFOREACH(arg_name)
|
||
+ FOREACH(option ${option_names})
|
||
+ SET(${prefix}_${option} FALSE)
|
||
+ ENDFOREACH(option)
|
||
+
|
||
+ SET(current_arg_name DEFAULT_ARGS)
|
||
+ SET(current_arg_list)
|
||
+ FOREACH(arg ${ARGN})
|
||
+ LIST_CONTAINS(is_arg_name ${arg} ${arg_names})
|
||
+ IF (is_arg_name)
|
||
+ SET(${prefix}_${current_arg_name} ${current_arg_list})
|
||
+ SET(current_arg_name ${arg})
|
||
+ SET(current_arg_list)
|
||
+ ELSE (is_arg_name)
|
||
+ LIST_CONTAINS(is_option ${arg} ${option_names})
|
||
+ IF (is_option)
|
||
+ SET(${prefix}_${arg} TRUE)
|
||
+ ELSE (is_option)
|
||
+ SET(current_arg_list ${current_arg_list} ${arg})
|
||
+ ENDIF (is_option)
|
||
+ ENDIF (is_arg_name)
|
||
+ ENDFOREACH(arg)
|
||
+ SET(${prefix}_${current_arg_name} ${current_arg_list})
|
||
+ENDMACRO(PARSE_ARGUMENTS)
|
||
+
|
||
+# Perform a reverse topological sort on the given LIST.
|
||
+#
|
||
+# topological_sort(my_list "MY_" "_EDGES")
|
||
+#
|
||
+# LIST is the name of a variable containing a list of elements to be
|
||
+# sorted in reverse topological order. Each element in the list has a
|
||
+# set of outgoing edges (for example, those other list elements that
|
||
+# it depends on). In the resulting reverse topological ordering
|
||
+# (written back into the variable named LIST), an element will come
|
||
+# later in the list than any of the elements that can be reached by
|
||
+# following its outgoing edges and the outgoing edges of any vertices
|
||
+# they target, recursively. Thus, if the edges represent dependencies
|
||
+# on build targets, for example, the reverse topological ordering is
|
||
+# the order in which one would build those targets.
|
||
+#
|
||
+# For each element E in this list, the edges for E are contained in
|
||
+# the variable named ${PREFIX}${E}${SUFFIX}, where E is the
|
||
+# upper-cased version of the element in the list. If no such variable
|
||
+# exists, then it is assumed that there are no edges. For example, if
|
||
+# my_list contains a, b, and c, one could provide a dependency graph
|
||
+# using the following variables:
|
||
+#
|
||
+# MY_A_EDGES b
|
||
+# MY_B_EDGES
|
||
+# MY_C_EDGES a b
|
||
+#
|
||
+# With the involcation of topological_sort shown above and these
|
||
+# variables, the resulting reverse topological ordering will be b, a,
|
||
+# c.
|
||
+function(topological_sort LIST PREFIX SUFFIX)
|
||
+ # Clear the stack and output variable
|
||
+ set(VERTICES "${${LIST}}")
|
||
+ set(STACK)
|
||
+ set(${LIST})
|
||
+
|
||
+ # Loop over all of the vertices, starting the topological sort from
|
||
+ # each one.
|
||
+ foreach(VERTEX ${VERTICES})
|
||
+ string(TOUPPER ${VERTEX} UPPER_VERTEX)
|
||
+
|
||
+ # If we haven't already processed this vertex, start a depth-first
|
||
+ # search from where.
|
||
+ if (NOT FOUND_${UPPER_VERTEX})
|
||
+ # Push this vertex onto the stack with all of its outgoing edges
|
||
+ string(REPLACE ";" " " NEW_ELEMENT
|
||
+ "${VERTEX};${${PREFIX}${UPPER_VERTEX}${SUFFIX}}")
|
||
+ list(APPEND STACK ${NEW_ELEMENT})
|
||
+
|
||
+ # We've now seen this vertex
|
||
+ set(FOUND_${UPPER_VERTEX} TRUE)
|
||
+
|
||
+ # While the depth-first search stack is not empty
|
||
+ list(LENGTH STACK STACK_LENGTH)
|
||
+ while(STACK_LENGTH GREATER 0)
|
||
+ # Remove the vertex and its remaining out-edges from the top
|
||
+ # of the stack
|
||
+ list(GET STACK -1 OUT_EDGES)
|
||
+ list(REMOVE_AT STACK -1)
|
||
+
|
||
+ # Get the source vertex and the list of out-edges
|
||
+ separate_arguments(OUT_EDGES)
|
||
+ list(GET OUT_EDGES 0 SOURCE)
|
||
+ list(REMOVE_AT OUT_EDGES 0)
|
||
+
|
||
+ # While there are still out-edges remaining
|
||
+ list(LENGTH OUT_EDGES OUT_DEGREE)
|
||
+ while (OUT_DEGREE GREATER 0)
|
||
+ # Pull off the first outgoing edge
|
||
+ list(GET OUT_EDGES 0 TARGET)
|
||
+ list(REMOVE_AT OUT_EDGES 0)
|
||
+
|
||
+ string(TOUPPER ${TARGET} UPPER_TARGET)
|
||
+ if (NOT FOUND_${UPPER_TARGET})
|
||
+ # We have not seen the target before, so we will traverse
|
||
+ # its outgoing edges before coming back to our
|
||
+ # source. This is the key to the depth-first traversal.
|
||
+
|
||
+ # We've now seen this vertex
|
||
+ set(FOUND_${UPPER_TARGET} TRUE)
|
||
+
|
||
+ # Push the remaining edges for the current vertex onto the
|
||
+ # stack
|
||
+ string(REPLACE ";" " " NEW_ELEMENT
|
||
+ "${SOURCE};${OUT_EDGES}")
|
||
+ list(APPEND STACK ${NEW_ELEMENT})
|
||
+
|
||
+ # Setup the new source and outgoing edges
|
||
+ set(SOURCE ${TARGET})
|
||
+ string(TOUPPER ${SOURCE} UPPER_SOURCE)
|
||
+ set(OUT_EDGES
|
||
+ ${${PREFIX}${UPPER_SOURCE}${SUFFIX}})
|
||
+ endif(NOT FOUND_${UPPER_TARGET})
|
||
+
|
||
+ list(LENGTH OUT_EDGES OUT_DEGREE)
|
||
+ endwhile (OUT_DEGREE GREATER 0)
|
||
+
|
||
+ # We have finished all of the outgoing edges for
|
||
+ # SOURCE; add it to the resulting list.
|
||
+ list(APPEND ${LIST} ${SOURCE})
|
||
+
|
||
+ # Check the length of the stack
|
||
+ list(LENGTH STACK STACK_LENGTH)
|
||
+ endwhile(STACK_LENGTH GREATER 0)
|
||
+ endif (NOT FOUND_${UPPER_VERTEX})
|
||
+ endforeach(VERTEX)
|
||
+
|
||
+ set(${LIST} ${${LIST}} PARENT_SCOPE)
|
||
+endfunction(topological_sort)
|
||
+
|
||
+# Small little hack that tweaks a component name (as used for CPack)
|
||
+# to make sure to avoid certain names that cause problems. Sets the
|
||
+# variable named varname to the "sanitized" name.
|
||
+#
|
||
+# FIXME: This is a complete hack. We probably need to fix the CPack
|
||
+# generators (NSIS in particular) to get rid of the need for this.
|
||
+macro(fix_cpack_component_name varname name)
|
||
+ if (${name} STREQUAL "foreach")
|
||
+ set(${varname} "boost_foreach")
|
||
+ else()
|
||
+ set(${varname} ${name})
|
||
+ endif()
|
||
+endmacro()
|
||
+
|
||
+
|
||
+#
|
||
+# A big shout out to the cmake gurus @ compiz
|
||
+#
|
||
+function (colormsg)
|
||
+ string (ASCII 27 _escape)
|
||
+ set(WHITE "29")
|
||
+ set(GRAY "30")
|
||
+ set(RED "31")
|
||
+ set(GREEN "32")
|
||
+ set(YELLOW "33")
|
||
+ set(BLUE "34")
|
||
+ set(MAG "35")
|
||
+ set(CYAN "36")
|
||
+
|
||
+ foreach (color WHITE GRAY RED GREEN YELLOW BLUE MAG CYAN)
|
||
+ set(HI${color} "1\;${${color}}")
|
||
+ set(LO${color} "2\;${${color}}")
|
||
+ set(_${color}_ "4\;${${color}}")
|
||
+ set(_HI${color}_ "1\;4\;${${color}}")
|
||
+ set(_LO${color}_ "2\;4\;${${color}}")
|
||
+ endforeach()
|
||
+
|
||
+ set(str "")
|
||
+ set(coloron FALSE)
|
||
+ foreach(arg ${ARGV})
|
||
+ if (NOT ${${arg}} STREQUAL "")
|
||
+ if (CMAKE_COLOR_MAKEFILE)
|
||
+ set(str "${str}${_escape}[${${arg}}m")
|
||
+ set(coloron TRUE)
|
||
+ endif()
|
||
+ else()
|
||
+ set(str "${str}${arg}")
|
||
+ if (coloron)
|
||
+ set(str "${str}${_escape}[0m")
|
||
+ set(coloron FALSE)
|
||
+ endif()
|
||
+ set(str "${str} ")
|
||
+ endif()
|
||
+ endforeach()
|
||
+ message(STATUS ${str})
|
||
+endfunction()
|
||
+
|
||
+# colormsg("Colors:"
|
||
+# WHITE "white" GRAY "gray" GREEN "green"
|
||
+# RED "red" YELLOW "yellow" BLUE "blue" MAG "mag" CYAN "cyan"
|
||
+# _WHITE_ "white" _GRAY_ "gray" _GREEN_ "green"
|
||
+# _RED_ "red" _YELLOW_ "yellow" _BLUE_ "blue" _MAG_ "mag" _CYAN_ "cyan"
|
||
+# _HIWHITE_ "white" _HIGRAY_ "gray" _HIGREEN_ "green"
|
||
+# _HIRED_ "red" _HIYELLOW_ "yellow" _HIBLUE_ "blue" _HIMAG_ "mag" _HICYAN_ "cyan"
|
||
+# HIWHITE "white" HIGRAY "gray" HIGREEN "green"
|
||
+# HIRED "red" HIYELLOW "yellow" HIBLUE "blue" HIMAG "mag" HICYAN "cyan"
|
||
+# "right?")
|
||
+
|
||
+#
|
||
+# pretty-prints the value of a variable so that the
|
||
+# equals signs align
|
||
+#
|
||
+function(boost_report_value NAME)
|
||
+ string(LENGTH "${NAME}" varlen)
|
||
+ math(EXPR padding_len 30-${varlen})
|
||
+ string(SUBSTRING " "
|
||
+ 0 ${padding_len} varpadding)
|
||
+ colormsg("${NAME}${varpadding} = ${${NAME}}")
|
||
+endfunction()
|
||
+
|
||
+function(trace NAME)
|
||
+ if(BOOST_CMAKE_TRACE)
|
||
+ string(LENGTH "${NAME}" varlen)
|
||
+ math(EXPR padding_len 40-${varlen})
|
||
+ string(SUBSTRING "........................................"
|
||
+ 0 ${padding_len} varpadding)
|
||
+ message("${NAME} ${varpadding} ${${NAME}}")
|
||
+ endif()
|
||
+endfunction()
|
||
+
|
||
+#
|
||
+# pretty-prints the value of a variable so that the
|
||
+# equals signs align
|
||
+#
|
||
+function(boost_report_pretty PRETTYNAME VARNAME)
|
||
+ string(LENGTH "${PRETTYNAME}" varlen)
|
||
+ math(EXPR padding_len 30-${varlen})
|
||
+ string(SUBSTRING " "
|
||
+ 0 ${padding_len} varpadding)
|
||
+ message(STATUS "${PRETTYNAME}${varpadding} = ${${VARNAME}}")
|
||
+endfunction()
|
||
+
|
||
+#
|
||
+# assert that ARG is actually a library target
|
||
+#
|
||
+macro(dependency_check ARG)
|
||
+ trace(ARG)
|
||
+ if (NOT ("${ARG}" STREQUAL ""))
|
||
+ get_target_property(deptype ${ARG} TYPE)
|
||
+ if(NOT deptype MATCHES ".*_LIBRARY$")
|
||
+ set(DEPENDENCY_OKAY FALSE)
|
||
+ list(APPEND DEPENDENCY_FAILURES ${ARG})
|
||
+ endif()
|
||
+ endif()
|
||
+endmacro()
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/CMakeLists.txt b/tools/build/CMake/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..a31785f
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/CMakeLists.txt
|
||
@@ -0,0 +1,77 @@
|
||
+#
|
||
+# Copyright (C) Troy D. Straszheim
|
||
+#
|
||
+# 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
|
||
+#
|
||
+#
|
||
+# On unix this is '/usr/share/cmake/boost'
|
||
+#
|
||
+set(BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR
|
||
+ "share/boost-${BOOST_VERSION}/cmake"
|
||
+ CACHE STRING
|
||
+ "Directory to install Boost-${BOOST_VERSION} to")
|
||
+
|
||
+#
|
||
+# Provides version number to sphinx build
|
||
+#
|
||
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py.in
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py)
|
||
+
|
||
+#
|
||
+# Makefile for sphinx build with maintainer targets
|
||
+#
|
||
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile.in
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile)
|
||
+
|
||
+#
|
||
+# File used by BoostConfigVersion to import targets/libs/etc
|
||
+# into users's cmake build
|
||
+#
|
||
+foreach (file
|
||
+ BoostConfig
|
||
+ BoostConfigVersion
|
||
+ BoostConfigAgnostic
|
||
+ BoostConfigVersionAgnostic)
|
||
+ configure_file(
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake.in
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake @ONLY)
|
||
+endforeach()
|
||
+
|
||
+
|
||
+#
|
||
+# These are generated, version-specific
|
||
+#
|
||
+install(FILES
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersion.cmake
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfig.cmake
|
||
+ DESTINATION ${BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR}
|
||
+ )
|
||
+
|
||
+#
|
||
+# The files that go in <prefix>/share/cmake/boost that search for
|
||
+# Boost-<version>.cmake files (user specifies <version>)
|
||
+#
|
||
+option(BOOST_INSTALL_CMAKE_DRIVERS
|
||
+ "Install version-agnostic BoostConfig.cmake and BoostConfigVersion.cmake to this subdirectory of CMAKE_INSTALL_PREFIX" ON)
|
||
+
|
||
+if (BOOST_INSTALL_CMAKE_DRIVERS)
|
||
+ if (NOT BOOST_CMAKE_DRIVERS_INSTALL_DIR)
|
||
+ set(agnostic_infra_dir "share/cmake/boost")
|
||
+ else()
|
||
+ set(agnostic_infra_dir ${BOOST_CMAKE_DRIVERS_INSTALL_DIR})
|
||
+ endif()
|
||
+ install(FILES
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigAgnostic.cmake
|
||
+ DESTINATION ${agnostic_infra_dir}
|
||
+ RENAME BoostConfig.cmake
|
||
+ )
|
||
+ install(FILES
|
||
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersionAgnostic.cmake
|
||
+ DESTINATION ${agnostic_infra_dir}
|
||
+ RENAME BoostConfigVersion.cmake
|
||
+ )
|
||
+endif()
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/CTestCustom.cmake.in b/tools/build/CMake/CTestCustom.cmake.in
|
||
new file mode 100644
|
||
index 0000000..c5ad493
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/CTestCustom.cmake.in
|
||
@@ -0,0 +1,5 @@
|
||
+message(FATAL_ERROR "Please customize CTestCustom.cmake, found in your build directory")
|
||
+
|
||
+set(SITE "Set To Your Hostname")
|
||
+set(CMAKE_VERBOSE_MAKEFILE TRUE)
|
||
+
|
||
diff --git a/tools/build/CMake/CompileTest/CMakeLists.txt b/tools/build/CMake/CompileTest/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d5a5908
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/CompileTest/CMakeLists.txt
|
||
@@ -0,0 +1,12 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+cmake_minimum_required(VERSION 2.6)
|
||
+project(CompileTest)
|
||
+add_library(compile-test STATIC ${SOURCE})
|
||
+include_directories(${INCLUDES})
|
||
+set_source_files_properties(${SOURCE}
|
||
+ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/FindICU.cmake b/tools/build/CMake/FindICU.cmake
|
||
new file mode 100644
|
||
index 0000000..9dff9f3
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/FindICU.cmake
|
||
@@ -0,0 +1,51 @@
|
||
+# Finds the International Components for Unicode (ICU) Library
|
||
+#
|
||
+# ICU_FOUND - True if ICU found.
|
||
+# ICU_I18N_FOUND - True if ICU's internationalization library found.
|
||
+# ICU_INCLUDE_DIRS - Directory to include to get ICU headers
|
||
+# Note: always include ICU headers as, e.g.,
|
||
+# unicode/utypes.h
|
||
+# ICU_LIBRARIES - Libraries to link against for the common ICU
|
||
+# ICU_I18N_LIBRARIES - Libraries to link against for ICU internationaliation
|
||
+# (note: in addition to ICU_LIBRARIES)
|
||
+
|
||
+# Look for the header file.
|
||
+find_path(
|
||
+ ICU_INCLUDE_DIR
|
||
+ NAMES unicode/utypes.h
|
||
+ DOC "Include directory for the ICU library")
|
||
+mark_as_advanced(ICU_INCLUDE_DIR)
|
||
+
|
||
+# Look for the library.
|
||
+find_library(
|
||
+ ICU_LIBRARY
|
||
+ NAMES icuuc cygicuuc cygicuuc32
|
||
+ DOC "Libraries to link against for the common parts of ICU")
|
||
+mark_as_advanced(ICU_LIBRARY)
|
||
+
|
||
+# Copy the results to the output variables.
|
||
+if(ICU_INCLUDE_DIR AND ICU_LIBRARY)
|
||
+ set(ICU_FOUND 1)
|
||
+ set(ICU_LIBRARIES ${ICU_LIBRARY})
|
||
+ set(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
|
||
+
|
||
+ # Look for the ICU internationalization libraries
|
||
+ find_library(
|
||
+ ICU_I18N_LIBRARY
|
||
+ NAMES icuin icui18n cygicuin cygicuin32
|
||
+ DOC "Libraries to link against for ICU internationalization")
|
||
+ mark_as_advanced(ICU_I18N_LIBRARY)
|
||
+ if (ICU_I18N_LIBRARY)
|
||
+ set(ICU_I18N_FOUND 1)
|
||
+ set(ICU_I18N_LIBRARIES ${ICU_I18N_LIBRARY})
|
||
+ else (ICU_I18N_LIBRARY)
|
||
+ set(ICU_I18N_FOUND 0)
|
||
+ set(ICU_I18N_LIBRARIES)
|
||
+ endif (ICU_I18N_LIBRARY)
|
||
+else(ICU_INCLUDE_DIR AND ICU_LIBRARY)
|
||
+ set(ICU_FOUND 0)
|
||
+ set(ICU_I18N_FOUND 0)
|
||
+ set(ICU_LIBRARIES)
|
||
+ set(ICU_I18N_LIBRARIES)
|
||
+ set(ICU_INCLUDE_DIRS)
|
||
+endif(ICU_INCLUDE_DIR AND ICU_LIBRARY)
|
||
diff --git a/tools/build/CMake/LinkTest/CMakeLists.txt b/tools/build/CMake/LinkTest/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..4532709
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/LinkTest/CMakeLists.txt
|
||
@@ -0,0 +1,26 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+cmake_minimum_required(VERSION 2.6)
|
||
+
|
||
+file(GLOB BOOST_EXPORTS "${BOOST_EXPORTS_DIR}/*.cmake")
|
||
+
|
||
+foreach(import
|
||
+ ${DEPENDS})
|
||
+ include(${BOOST_EXPORTS_DIR}/${import}.cmake)
|
||
+endforeach()
|
||
+
|
||
+project(LinkTest)
|
||
+include_directories (${INCLUDES})
|
||
+add_executable(link-test ${SOURCE})
|
||
+set_source_files_properties(${SOURCE}
|
||
+ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
|
||
+
|
||
+message("DEPENDS=====${DEPENDS}")
|
||
+
|
||
+target_link_libraries(link-test
|
||
+ ${LINK_LIBS}
|
||
+ ${DEPENDS})
|
||
diff --git a/tools/build/CMake/catalog.xml.in b/tools/build/CMake/catalog.xml.in
|
||
new file mode 100644
|
||
index 0000000..75bc4f1
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/catalog.xml.in
|
||
@@ -0,0 +1,9 @@
|
||
+<?xml version="1.0"?>
|
||
+<!DOCTYPE catalog
|
||
+ PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
|
||
+ "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
|
||
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
|
||
+ <rewriteURI uriStartString="http://www.boost.org/tools/boostbook/dtd/" rewritePrefix="file://@BOOSTBOOK_DTD_DIR@/"/>
|
||
+ <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="file://@DOCBOOK_XSL_DIR@/"/>
|
||
+ <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2/" rewritePrefix="file://@DOCBOOK_DTD_DIR@/"/>
|
||
+</catalog>
|
||
diff --git a/tools/build/CMake/externals/BZip2.cmake b/tools/build/CMake/externals/BZip2.cmake
|
||
new file mode 100644
|
||
index 0000000..3409026
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/BZip2.cmake
|
||
@@ -0,0 +1,11 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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(BZip2_FIND_QUIETLY TRUE)
|
||
+find_package(BZip2)
|
||
+boost_external_report(BZip2 INCLUDE_DIR DEFINITIONS LIBRARIES)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Doxygen.cmake b/tools/build/CMake/externals/Doxygen.cmake
|
||
new file mode 100644
|
||
index 0000000..e7a4b68
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Doxygen.cmake
|
||
@@ -0,0 +1,13 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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(Doxygen_FIND_QUIETLY TRUE)
|
||
+
|
||
+# Try to find the Expat library
|
||
+find_package(Doxygen)
|
||
+
|
||
+boost_external_report(Doxygen EXECUTABLE DOT_FOUND DOT_EXECUTABLE DOT_PATH)
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Expat.cmake b/tools/build/CMake/externals/Expat.cmake
|
||
new file mode 100644
|
||
index 0000000..94f2337
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Expat.cmake
|
||
@@ -0,0 +1,13 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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(EXPAT_FIND_QUIETLY TRUE)
|
||
+
|
||
+# Try to find the Expat library
|
||
+find_package(EXPAT)
|
||
+
|
||
+boost_external_report(Expat INCLUDE_DIR LIBRARIES)
|
||
+
|
||
diff --git a/tools/build/CMake/externals/ICU.cmake b/tools/build/CMake/externals/ICU.cmake
|
||
new file mode 100644
|
||
index 0000000..7041c9e
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/ICU.cmake
|
||
@@ -0,0 +1,12 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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(ICU_FIND_QUIETLY TRUE)
|
||
+find_package(ICU)
|
||
+
|
||
+boost_external_report(ICU INCLUDE_DIRS LIBRARIES I18N_LIBRARIES )
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/externals/MPI.cmake b/tools/build/CMake/externals/MPI.cmake
|
||
new file mode 100644
|
||
index 0000000..b8559fa
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/MPI.cmake
|
||
@@ -0,0 +1,11 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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(MPI_FIND_QUIETLY TRUE)
|
||
+find_package(MPI)
|
||
+
|
||
+boost_external_report(MPI INCLUDE_PATH COMPILE_FLAGS LINK_FLAGS LIBRARIES)
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Python.cmake b/tools/build/CMake/externals/Python.cmake
|
||
new file mode 100644
|
||
index 0000000..740560d
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Python.cmake
|
||
@@ -0,0 +1,161 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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
|
||
+#
|
||
+
|
||
+
|
||
+#
|
||
+# Python interpreter
|
||
+#
|
||
+set(ENV_PYTHON_EXECUTABLE $ENV{PYTHON_EXECUTABLE})
|
||
+
|
||
+if ((NOT PYTHONINTERP_FOUND) AND ENV_PYTHON_EXECUTABLE)
|
||
+ colormsg(YELLOW "Testing PYTHON_EXECUTABLE from environment")
|
||
+ find_program(PYTHON_EXECUTABLE ${ENV_PYTHON_EXECUTABLE})
|
||
+ if (NOT PYTHON_EXECUTABLE)
|
||
+ message(FATAL_ERROR "Environment supplied PYTHON_EXECUTABLE=${ENV_PYTHON_EXECUTABLE} but this file does not exist or is not a program.")
|
||
+ endif()
|
||
+ set(PYTHONINTERP_FOUND TRUE
|
||
+ CACHE BOOL "Python interpreter found")
|
||
+ set(PYTHON_EXECUTABLE
|
||
+ ${ENV_PYTHON_EXECUTABLE} CACHE FILEPATH "Python interpreter found")
|
||
+ message(STATUS "Ok, using ${PYTHON_EXECUTABLE}")
|
||
+else()
|
||
+ set(PythonInterp_FIND_QUIETLY TRUE)
|
||
+ find_package(PythonInterp)
|
||
+endif()
|
||
+
|
||
+#
|
||
+# Python libs
|
||
+#
|
||
+set(ENV_PYTHON_LIBRARIES $ENV{PYTHON_LIBRARIES})
|
||
+
|
||
+if ((NOT PYTHON_LIBRARIES) AND ENV_PYTHON_LIBRARIES)
|
||
+ colormsg(YELLOW "Testing PYTHON_LIBRARIES from environment")
|
||
+ get_filename_component(pythonlib_searchpath ${ENV_PYTHON_LIBRARIES} PATH)
|
||
+ get_filename_component(pythonlib_filename ${ENV_PYTHON_LIBRARIES} NAME)
|
||
+ find_library(PYTHON_LIBRARIES ${pythonlib_filename}
|
||
+ PATHS ${pythonlib_searchpath}
|
||
+ NO_DEFAULT_PATH)
|
||
+
|
||
+ if (NOT PYTHON_LIBRARIES)
|
||
+ message(FATAL_ERROR "Environment supplied PYTHON_LIBRARIES=${ENV_PYTHON_LIBRARIES} but that isn't a library.")
|
||
+ endif()
|
||
+ message(STATUS "Ok, using ${PYTHON_LIBRARIES}.")
|
||
+endif()
|
||
+
|
||
+set(ENV_PYTHON_DEBUG_LIBRARIES $ENV{PYTHON_DEBUG_LIBRARIES})
|
||
+if ((NOT PYTHON_DEBUG_LIBRARIES) AND ENV_PYTHON_DEBUG_LIBRARIES)
|
||
+ #
|
||
+ # Python debug libraries
|
||
+ #
|
||
+ if(ENV_PYTHON_DEBUG_LIBRARIES)
|
||
+ colormsg(YELLOW "Testing PYTHON_DEBUG_LIBRARIES from environment")
|
||
+ get_filename_component(pythonlib_searchpath
|
||
+ ${ENV_PYTHON_DEBUG_LIBRARIES} PATH)
|
||
+ get_filename_component(pythonlib_filename
|
||
+ ${ENV_PYTHON_DEBUG_LIBRARIES} NAME)
|
||
+ find_library(PYTHON_DEBUG_LIBRARIES ${pythonlib_filename}
|
||
+ PATHS ${pythonlib_searchpath}
|
||
+ NO_DEFAULT_PATH)
|
||
+
|
||
+ if (NOT PYTHON_DEBUG_LIBRARIES)
|
||
+ message(FATAL_ERROR "Environment supplied PYTHON_DEBUG_LIBRARIES=${ENV_PYTHON_DEBUG_LIBRARIES} but it isn't a library.")
|
||
+ endif()
|
||
+ message(STATUS "Ok, using ${PYTHON_DEBUG_LIBRARIES}")
|
||
+ else()
|
||
+ message(STATUS "Skipping optional PYTHON_DEBUG_LIBRARIES: not set.")
|
||
+ endif()
|
||
+elseif(NOT PYTHON_DEBUG_LIBRARIES)
|
||
+ set(PYTHON_DEBUG_LIBRARIES PYTHON_DEBUG_LIBRARIES-NOTFOUND
|
||
+ CACHE FILEPATH "Python debug library path")
|
||
+endif()
|
||
+
|
||
+#
|
||
+# Python includes
|
||
+#
|
||
+set(ENV_PYTHON_INCLUDE_PATH $ENV{PYTHON_INCLUDE_PATH})
|
||
+if((NOT PYTHON_INCLUDE_PATH) AND ENV_PYTHON_INCLUDE_PATH)
|
||
+ if(ENV_PYTHON_INCLUDE_PATH)
|
||
+ colormsg(YELLOW "Testing PYTHON_INCLUDE_PATH from environment")
|
||
+ find_path(PYTHON_INCLUDE_PATH
|
||
+ Python.h
|
||
+ PATHS ${ENV_PYTHON_INCLUDE_PATH}
|
||
+ NO_DEFAULT_PATH)
|
||
+
|
||
+ if(PYTHON_INCLUDE_PATH)
|
||
+ set(PYTHON_INCLUDE_PATH ${ENV_PYTHON_INCLUDE_PATH})
|
||
+ message(STATUS "Ok, using ${PYTHON_INCLUDE_PATH}")
|
||
+ else()
|
||
+ message(FATAL_ERROR "Environment supplied PYTHON_INCLUDE_PATH=${ENV_PYTHON_INCLUDE_PATH} but this directory does not contain file Python.h")
|
||
+ endif()
|
||
+ endif()
|
||
+endif()
|
||
+
|
||
+if (PYTHON_INCLUDE_PATH AND PYTHON_LIBRARIES)
|
||
+ set(PYTHONLIBS_FOUND TRUE CACHE BOOL "Python libraries found, don't redetect at configure time")
|
||
+
|
||
+ # Determine extra libraries we need to link against to build Python
|
||
+ # extension modules.
|
||
+ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||
+
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "dl")
|
||
+
|
||
+ if(CMAKE_COMPILER_IS_GNUCXX)
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt")
|
||
+ endif(CMAKE_COMPILER_IS_GNUCXX)
|
||
+
|
||
+ elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD")
|
||
+
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread")
|
||
+
|
||
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly")
|
||
+
|
||
+ # DragonFly is a variant of FreeBSD
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread")
|
||
+
|
||
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "OSF")
|
||
+
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread" "dl")
|
||
+
|
||
+ if(CMAKE_COMPILER_IS_GNUCXX)
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt")
|
||
+ endif(CMAKE_COMPILER_IS_GNUCXX)
|
||
+
|
||
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
|
||
+
|
||
+ # No options necessary for QNX
|
||
+
|
||
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||
+
|
||
+ # No options necessary for Mac OS X
|
||
+
|
||
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
|
||
+
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt")
|
||
+
|
||
+ elseif(UNIX)
|
||
+
|
||
+ # Assume -pthread and -ldl on all other variants
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread" "dl")
|
||
+ if(CMAKE_COMPILER_IS_GNUCXX)
|
||
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "util")
|
||
+ endif(CMAKE_COMPILER_IS_GNUCXX)
|
||
+
|
||
+ endif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||
+
|
||
+
|
||
+elseif(NOT PYTHONLIBS_FOUND)
|
||
+ set(PythonLibs_FIND_QUIETLY TRUE)
|
||
+ find_package(PythonLibs)
|
||
+endif()
|
||
+
|
||
+if(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND)
|
||
+ set(PYTHON_FOUND TRUE)
|
||
+else()
|
||
+ set(PYTHON_FOUND FALSE)
|
||
+endif()
|
||
+
|
||
+boost_external_report(Python INCLUDE_PATH EXECUTABLE LIBRARIES DEBUG_LIBRARIES)
|
||
diff --git a/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp b/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp
|
||
new file mode 100644
|
||
index 0000000..6698473
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp
|
||
@@ -0,0 +1,228 @@
|
||
+#
|
||
+# This is a valgrind suppression file that should be used when using valgrind.
|
||
+#
|
||
+# Here's an example of running valgrind:
|
||
+#
|
||
+# cd python/dist/src
|
||
+# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
|
||
+# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
|
||
+#
|
||
+# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
|
||
+# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
|
||
+#
|
||
+# If you do not want to recompile Python, you can uncomment
|
||
+# suppressions for PyObject_Free and PyObject_Realloc.
|
||
+#
|
||
+# See Misc/README.valgrind for more information.
|
||
+
|
||
+# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 8
|
||
+ Memcheck:Value8
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 8
|
||
+ Memcheck:Value8
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+###
|
||
+### All the suppressions below are for errors that occur within libraries
|
||
+### that Python uses. The problems to not appear to be related to Python's
|
||
+### use of the libraries.
|
||
+###
|
||
+{
|
||
+ GDBM problems, see test_gdbm
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ fun:gdbm_open
|
||
+
|
||
+}
|
||
+
|
||
+###
|
||
+### These occur from somewhere within the SSL, when running
|
||
+### test_socket_sll. They are too general to leave on by default.
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Cond
|
||
+### fun:memset
|
||
+###}
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Value4
|
||
+### fun:memset
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Cond
|
||
+### fun:MD5_Update
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Value4
|
||
+### fun:MD5_Update
|
||
+###}
|
||
+
|
||
+#
|
||
+# All of these problems come from using test_socket_ssl
|
||
+#
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_bin2bn
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_num_bits_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:BN_num_bits_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_mod_exp_mont_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_mod_exp_mont
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ obj:/usr/lib/libcrypto.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:RSA_verify
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:RSA_verify
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:DES_set_key_unchecked
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:DES_encrypt2
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ obj:/usr/lib/libssl.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ obj:/usr/lib/libssl.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BUF_MEM_grow_clean
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:memcpy
|
||
+ fun:ssl3_read_bytes
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:SHA1_Update
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:SHA1_Update
|
||
+}
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp b/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp
|
||
new file mode 100644
|
||
index 0000000..4a6ea28
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp
|
||
@@ -0,0 +1,403 @@
|
||
+#
|
||
+# This is a valgrind suppression file that should be used when using valgrind.
|
||
+#
|
||
+# Here's an example of running valgrind:
|
||
+#
|
||
+# cd python/dist/src
|
||
+# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
|
||
+# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
|
||
+#
|
||
+# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
|
||
+# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
|
||
+#
|
||
+# If you do not want to recompile Python, you can uncomment
|
||
+# suppressions for PyObject_Free and PyObject_Realloc.
|
||
+#
|
||
+# See Misc/README.valgrind for more information.
|
||
+
|
||
+# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
|
||
+ Memcheck:Value8
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+#
|
||
+# Leaks (including possible leaks)
|
||
+# Hmmm, I wonder if this masks some real leaks. I think it does.
|
||
+# Will need to fix that.
|
||
+#
|
||
+
|
||
+{
|
||
+ Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_allocate_lock
|
||
+ fun:PyEval_InitThreads
|
||
+}
|
||
+
|
||
+{
|
||
+ Suppress leaking the GIL after a fork.
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_allocate_lock
|
||
+ fun:PyEval_ReInitThreads
|
||
+}
|
||
+
|
||
+{
|
||
+ Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_create_key
|
||
+ fun:_PyGILState_Init
|
||
+ fun:Py_InitializeEx
|
||
+ fun:Py_Main
|
||
+}
|
||
+
|
||
+{
|
||
+ Hmmm, is this a real leak or like the GIL?
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_ReInitTLS
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle PyMalloc confusing valgrind (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:realloc
|
||
+ fun:_PyObject_GC_Resize
|
||
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle PyMalloc confusing valgrind (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:_PyObject_GC_New
|
||
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle PyMalloc confusing valgrind (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:_PyObject_GC_NewVar
|
||
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
|
||
+}
|
||
+
|
||
+#
|
||
+# Non-python specific leaks
|
||
+#
|
||
+
|
||
+{
|
||
+ Handle pthread issue (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:calloc
|
||
+ fun:allocate_dtv
|
||
+ fun:_dl_allocate_tls_storage
|
||
+ fun:_dl_allocate_tls
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle pthread issue (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:memalign
|
||
+ fun:_dl_allocate_tls_storage
|
||
+ fun:_dl_allocate_tls
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 8
|
||
+ Memcheck:Value8
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:PyObject_Free
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 8
|
||
+ Memcheck:Value8
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:PyObject_Realloc
|
||
+}
|
||
+
|
||
+###
|
||
+### All the suppressions below are for errors that occur within libraries
|
||
+### that Python uses. The problems to not appear to be related to Python's
|
||
+### use of the libraries.
|
||
+###
|
||
+
|
||
+{
|
||
+ Generic ubuntu ld problems
|
||
+ Memcheck:Addr8
|
||
+ obj:/lib/ld-2.4.so
|
||
+ obj:/lib/ld-2.4.so
|
||
+ obj:/lib/ld-2.4.so
|
||
+ obj:/lib/ld-2.4.so
|
||
+}
|
||
+
|
||
+{
|
||
+ Generic gentoo ld problems
|
||
+ Memcheck:Cond
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_close
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Value8
|
||
+ fun:memmove
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_store
|
||
+ fun:dbm_ass_sub
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Cond
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_store
|
||
+ fun:dbm_ass_sub
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Cond
|
||
+ fun:memmove
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_store
|
||
+ fun:dbm_ass_sub
|
||
+}
|
||
+
|
||
+{
|
||
+ GDBM problems, see test_gdbm
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ fun:gdbm_open
|
||
+
|
||
+}
|
||
+
|
||
+{
|
||
+ ZLIB problems, see test_gzip
|
||
+ Memcheck:Cond
|
||
+ obj:/lib/libz.so.1.2.3
|
||
+ obj:/lib/libz.so.1.2.3
|
||
+ fun:deflate
|
||
+}
|
||
+
|
||
+{
|
||
+ Avoid problems w/readline doing a putenv and leaking on exit
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:xmalloc
|
||
+ fun:sh_set_lines_and_columns
|
||
+ fun:_rl_get_screen_size
|
||
+ fun:_rl_init_terminal_io
|
||
+ obj:/lib/libreadline.so.4.3
|
||
+ fun:rl_initialize
|
||
+}
|
||
+
|
||
+###
|
||
+### These occur from somewhere within the SSL, when running
|
||
+### test_socket_sll. They are too general to leave on by default.
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Cond
|
||
+### fun:memset
|
||
+###}
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Value4
|
||
+### fun:memset
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Cond
|
||
+### fun:MD5_Update
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Value4
|
||
+### fun:MD5_Update
|
||
+###}
|
||
+
|
||
+#
|
||
+# All of these problems come from using test_socket_ssl
|
||
+#
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_bin2bn
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_num_bits_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:BN_num_bits_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_mod_exp_mont_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_mod_exp_mont
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ obj:/usr/lib/libcrypto.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:RSA_verify
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:RSA_verify
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:DES_set_key_unchecked
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:DES_encrypt2
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ obj:/usr/lib/libssl.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ obj:/usr/lib/libssl.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BUF_MEM_grow_clean
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:memcpy
|
||
+ fun:ssl3_read_bytes
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:SHA1_Update
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:SHA1_Update
|
||
+}
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp b/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp
|
||
new file mode 100644
|
||
index 0000000..a66305b
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp
|
||
@@ -0,0 +1,391 @@
|
||
+#
|
||
+# This is a valgrind suppression file that should be used when using valgrind.
|
||
+#
|
||
+# Here's an example of running valgrind:
|
||
+#
|
||
+# cd python/dist/src
|
||
+# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
|
||
+# ./python -E ./Lib/test/regrtest.py -u gui,network
|
||
+#
|
||
+# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
|
||
+# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
|
||
+#
|
||
+# If you do not want to recompile Python, you can uncomment
|
||
+# suppressions for PyObject_Free and PyObject_Realloc.
|
||
+#
|
||
+# See Misc/README.valgrind for more information.
|
||
+
|
||
+# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Addr4
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+ Memcheck:Value4
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
|
||
+ Memcheck:Value8
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+{
|
||
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+ Memcheck:Cond
|
||
+ fun:Py_ADDRESS_IN_RANGE
|
||
+}
|
||
+
|
||
+#
|
||
+# Leaks (including possible leaks)
|
||
+# Hmmm, I wonder if this masks some real leaks. I think it does.
|
||
+# Will need to fix that.
|
||
+#
|
||
+
|
||
+{
|
||
+ Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_allocate_lock
|
||
+ fun:PyEval_InitThreads
|
||
+}
|
||
+
|
||
+{
|
||
+ Suppress leaking the GIL after a fork.
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_allocate_lock
|
||
+ fun:PyEval_ReInitThreads
|
||
+}
|
||
+
|
||
+{
|
||
+ Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_create_key
|
||
+ fun:_PyGILState_Init
|
||
+ fun:Py_InitializeEx
|
||
+ fun:Py_Main
|
||
+}
|
||
+
|
||
+{
|
||
+ Hmmm, is this a real leak or like the GIL?
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:PyThread_ReInitTLS
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle PyMalloc confusing valgrind (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:realloc
|
||
+ fun:_PyObject_GC_Resize
|
||
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle PyMalloc confusing valgrind (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:_PyObject_GC_New
|
||
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle PyMalloc confusing valgrind (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:_PyObject_GC_NewVar
|
||
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
|
||
+}
|
||
+
|
||
+#
|
||
+# Non-python specific leaks
|
||
+#
|
||
+
|
||
+{
|
||
+ Handle pthread issue (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:calloc
|
||
+ fun:allocate_dtv
|
||
+ fun:_dl_allocate_tls_storage
|
||
+ fun:_dl_allocate_tls
|
||
+}
|
||
+
|
||
+{
|
||
+ Handle pthread issue (possibly leaked)
|
||
+ Memcheck:Leak
|
||
+ fun:memalign
|
||
+ fun:_dl_allocate_tls_storage
|
||
+ fun:_dl_allocate_tls
|
||
+}
|
||
+
|
||
+###{
|
||
+### ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+### Memcheck:Addr4
|
||
+### fun:PyObject_Free
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+### Memcheck:Value4
|
||
+### fun:PyObject_Free
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+### Memcheck:Cond
|
||
+### fun:PyObject_Free
|
||
+###}
|
||
+
|
||
+###{
|
||
+### ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+### Memcheck:Addr4
|
||
+### fun:PyObject_Realloc
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### ADDRESS_IN_RANGE/Invalid read of size 4
|
||
+### Memcheck:Value4
|
||
+### fun:PyObject_Realloc
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
||
+### Memcheck:Cond
|
||
+### fun:PyObject_Realloc
|
||
+###}
|
||
+
|
||
+###
|
||
+### All the suppressions below are for errors that occur within libraries
|
||
+### that Python uses. The problems to not appear to be related to Python's
|
||
+### use of the libraries.
|
||
+###
|
||
+
|
||
+{
|
||
+ Generic ubuntu ld problems
|
||
+ Memcheck:Addr8
|
||
+ obj:/lib/ld-2.4.so
|
||
+ obj:/lib/ld-2.4.so
|
||
+ obj:/lib/ld-2.4.so
|
||
+ obj:/lib/ld-2.4.so
|
||
+}
|
||
+
|
||
+{
|
||
+ Generic gentoo ld problems
|
||
+ Memcheck:Cond
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+ obj:/lib/ld-2.3.4.so
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_close
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Value8
|
||
+ fun:memmove
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_store
|
||
+ fun:dbm_ass_sub
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Cond
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_store
|
||
+ fun:dbm_ass_sub
|
||
+}
|
||
+
|
||
+{
|
||
+ DBM problems, see test_dbm
|
||
+ Memcheck:Cond
|
||
+ fun:memmove
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ obj:/usr/lib/libdb1.so.2
|
||
+ fun:dbm_store
|
||
+ fun:dbm_ass_sub
|
||
+}
|
||
+
|
||
+{
|
||
+ GDBM problems, see test_gdbm
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ fun:gdbm_open
|
||
+
|
||
+}
|
||
+
|
||
+{
|
||
+ ZLIB problems, see test_gzip
|
||
+ Memcheck:Cond
|
||
+ obj:/lib/libz.so.1.2.3
|
||
+ obj:/lib/libz.so.1.2.3
|
||
+ fun:deflate
|
||
+}
|
||
+
|
||
+{
|
||
+ Avoid problems w/readline doing a putenv and leaking on exit
|
||
+ Memcheck:Leak
|
||
+ fun:malloc
|
||
+ fun:xmalloc
|
||
+ fun:sh_set_lines_and_columns
|
||
+ fun:_rl_get_screen_size
|
||
+ fun:_rl_init_terminal_io
|
||
+ obj:/lib/libreadline.so.4.3
|
||
+ fun:rl_initialize
|
||
+}
|
||
+
|
||
+###
|
||
+### These occur from somewhere within the SSL, when running
|
||
+### test_socket_sll. They are too general to leave on by default.
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Cond
|
||
+### fun:memset
|
||
+###}
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Value4
|
||
+### fun:memset
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Cond
|
||
+### fun:MD5_Update
|
||
+###}
|
||
+###
|
||
+###{
|
||
+### somewhere in SSL stuff
|
||
+### Memcheck:Value4
|
||
+### fun:MD5_Update
|
||
+###}
|
||
+
|
||
+#
|
||
+# All of these problems come from using test_socket_ssl
|
||
+#
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_bin2bn
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_num_bits_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:BN_num_bits_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_mod_exp_mont_word
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BN_mod_exp_mont
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Param
|
||
+ write(buf)
|
||
+ fun:write
|
||
+ obj:/usr/lib/libcrypto.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:RSA_verify
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:RSA_verify
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:DES_set_key_unchecked
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:DES_encrypt2
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ obj:/usr/lib/libssl.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ obj:/usr/lib/libssl.so.0.9.7
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:BUF_MEM_grow_clean
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:memcpy
|
||
+ fun:ssl3_read_bytes
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Cond
|
||
+ fun:SHA1_Update
|
||
+}
|
||
+
|
||
+{
|
||
+ from test_socket_ssl
|
||
+ Memcheck:Value4
|
||
+ fun:SHA1_Update
|
||
+}
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Valgrind.cmake b/tools/build/CMake/externals/Valgrind.cmake
|
||
new file mode 100644
|
||
index 0000000..c7a5cc9
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Valgrind.cmake
|
||
@@ -0,0 +1,18 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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
|
||
+#
|
||
+
|
||
+# Find xsltproc to transform XML documents via XSLT
|
||
+find_program(VALGRIND_EXECUTABLE valgrind DOC "Valgrind executable")
|
||
+
|
||
+set(VALGRIND_FLAGS "--tool=memcheck" CACHE STRING
|
||
+ "Flags to pass to xsltproc to transform XML documents")
|
||
+if(VALGRIND_EXECUTABLE)
|
||
+ set(VALGRIND_FOUND TRUE CACHE BOOL "Valgrind found" FORCE)
|
||
+endif()
|
||
+
|
||
+boost_external_report(Valgrind EXECUTABLE FLAGS)
|
||
+
|
||
diff --git a/tools/build/CMake/externals/Xsltproc.cmake b/tools/build/CMake/externals/Xsltproc.cmake
|
||
new file mode 100644
|
||
index 0000000..f4ff6c2
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/Xsltproc.cmake
|
||
@@ -0,0 +1,18 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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
|
||
+#
|
||
+
|
||
+# Find xsltproc to transform XML documents via XSLT
|
||
+find_program(XSLTPROC_EXECUTABLE xsltproc DOC "xsltproc transforms XML via XSLT")
|
||
+
|
||
+set(XSLTPROC_FLAGS "--xinclude" CACHE STRING
|
||
+ "Flags to pass to xsltproc to transform XML documents")
|
||
+if(XSLTPROC_EXECUTABLE)
|
||
+ set(XSLTPROC_FOUND TRUE)
|
||
+endif()
|
||
+
|
||
+boost_external_report(Xsltproc EXECUTABLE FLAGS)
|
||
+
|
||
diff --git a/tools/build/CMake/externals/ZLib.cmake b/tools/build/CMake/externals/ZLib.cmake
|
||
new file mode 100644
|
||
index 0000000..341ecf8
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/externals/ZLib.cmake
|
||
@@ -0,0 +1,20 @@
|
||
+# Copyright (C) Troy Straszheim
|
||
+#
|
||
+# 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
|
||
+#
|
||
+if(ZLIB_SOURCE)
|
||
+ message(STATUS "")
|
||
+ colormsg(HIRED "ZLIB_SOURCE is not supported by Boost.CMake")
|
||
+ colormsg(RED "Install zlib and let cmake detect it")
|
||
+ colormsg(RED "or help cmake out by setting the relevant variables")
|
||
+endif()
|
||
+
|
||
+set(ZLIB_FIND_QUIETLY TRUE)
|
||
+
|
||
+find_package(ZLIB)
|
||
+
|
||
+boost_external_report(ZLib INCLUDE_DIR LIBRARIES)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/main.cpp b/tools/build/CMake/main.cpp
|
||
new file mode 100644
|
||
index 0000000..a57e416
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/main.cpp
|
||
@@ -0,0 +1,7 @@
|
||
+//
|
||
+// This does nothing, of course. If a user has restricted us via
|
||
+// BUILD_PROJECTS to no projects that contain libraries, this guy gets
|
||
+// compiled as a dummy executable target so that cmake install(EXPORT
|
||
+// ...) doesn't fail with "unknown export Boost".
|
||
+//
|
||
+int main(int, char**) { }
|
||
diff --git a/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt b/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f917e68
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt
|
||
@@ -0,0 +1,17 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+if (NOT PYTHON_FOUND)
|
||
+ message(STATUS "+-- python not found, disabling.")
|
||
+else()
|
||
+
|
||
+ boost_library_project(
|
||
+ pymodules
|
||
+ SRCDIRS src
|
||
+ )
|
||
+
|
||
+endif()
|
||
diff --git a/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt b/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..710403d
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt
|
||
@@ -0,0 +1,53 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+include_directories(${PYTHON_INCLUDE_PATH})
|
||
+
|
||
+boost_python_extension(fooext_rel
|
||
+
|
||
+ extension.cpp
|
||
+
|
||
+ COMPILE_FLAGS "-DMODNAME=fooext_rel"
|
||
+ RELEASE_COMPILE_FLAGS "-DFLAGS=\"RELFLAGS\""
|
||
+ DEPENDS boost_python
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES}
|
||
+ RELEASE)
|
||
+
|
||
+boost_python_extension(fooext_dbg
|
||
+
|
||
+ extension.cpp
|
||
+
|
||
+ COMPILE_FLAGS "-DMODNAME=fooext_dbg"
|
||
+ DEBUG_COMPILE_FLAGS "-DFLAGS=DBGFLAGS"
|
||
+ DEPENDS boost_python
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES}
|
||
+ DEBUG)
|
||
+
|
||
+boost_python_extension(fooext_default
|
||
+
|
||
+ extension.cpp
|
||
+
|
||
+ COMPILE_FLAGS "-DMODNAME=fooext_default -DFLAGS=NOFLAGS"
|
||
+
|
||
+ DEPENDS boost_python
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES})
|
||
+
|
||
+
|
||
+
|
||
+
|
||
+boost_python_extension(fooext_test_linkflags
|
||
+
|
||
+ extension.cpp
|
||
+
|
||
+ DEPENDS boost_python
|
||
+ LINK_LIBS ${PYTHON_LIBRARIES}
|
||
+ LINK_FLAGS bogus_linkflags
|
||
+ )
|
||
+
|
||
+
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/selftest_projects/pymodules/src/extension.cpp b/tools/build/CMake/selftest_projects/pymodules/src/extension.cpp
|
||
new file mode 100644
|
||
index 0000000..0ab8abf
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/selftest_projects/pymodules/src/extension.cpp
|
||
@@ -0,0 +1,17 @@
|
||
+#include <boost/python/module.hpp>
|
||
+#include <boost/preprocessor/expand.hpp>
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <iostream>
|
||
+
|
||
+#ifdef NDEBUG
|
||
+#define RELEASE "RELEASE"
|
||
+#else
|
||
+#define RELEASE "DEBUG"
|
||
+#endif
|
||
+
|
||
+#define MODNAME_THUNK() (MODNAME)
|
||
+
|
||
+BOOST_PP_EXPAND(BOOST_PYTHON_MODULE MODNAME_THUNK())
|
||
+{
|
||
+ std::cout << RELEASE << " " << BOOST_PP_STRINGIZE(FLAGS) << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/include/selftest_lib.ipp b/tools/build/CMake/test/include/selftest_lib.ipp
|
||
new file mode 100644
|
||
index 0000000..fe42963
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/include/selftest_lib.ipp
|
||
@@ -0,0 +1,22 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+
|
||
+std::string libname()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
|
||
+}
|
||
+
|
||
+std::string shared_or_static()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
|
||
+}
|
||
+
|
||
+std::string debug_or_release()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
|
||
+}
|
||
+
|
||
+std::string single_or_multi()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
|
||
+}
|
||
diff --git a/tools/build/CMake/test/include/selftest_main.ipp b/tools/build/CMake/test/include/selftest_main.ipp
|
||
new file mode 100644
|
||
index 0000000..135e9b5
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/include/selftest_main.ipp
|
||
@@ -0,0 +1,11 @@
|
||
+#include <selftest_report.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << libname() << "-"
|
||
+ << shared_or_static() << "_"
|
||
+ << debug_or_release() << "_"
|
||
+ << single_or_multi() << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/include/selftest_report.hpp b/tools/build/CMake/test/include/selftest_report.hpp
|
||
new file mode 100644
|
||
index 0000000..5178dca
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/include/selftest_report.hpp
|
||
@@ -0,0 +1,6 @@
|
||
+#include <string>
|
||
+
|
||
+std::string libname();
|
||
+std::string shared_or_static();
|
||
+std::string debug_or_release();
|
||
+std::string single_or_multi();
|
||
diff --git a/tools/build/CMake/test/libs/a/CMakeLists.txt b/tools/build/CMake/test/libs/a/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..9bcf350
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/a/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ system
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ a
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/a/module.cmake b/tools/build/CMake/test/libs/a/module.cmake
|
||
new file mode 100644
|
||
index 0000000..9a50a96
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/a/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(system DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/test/libs/a/src/CMakeLists.txt b/tools/build/CMake/test/libs/a/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..bf9a474
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/a/src/CMakeLists.txt
|
||
@@ -0,0 +1,40 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DLIBNAME=a)
|
||
+
|
||
+boost_add_library(a
|
||
+
|
||
+ lib.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
|
||
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
|
||
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
|
||
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
|
||
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
|
||
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
|
||
+ )
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ message("---------------------------------------------------")
|
||
+
|
||
+ boost_add_executable(${shared_or_static}_${debug_or_release}_${single_or_multi}
|
||
+
|
||
+ main.cpp
|
||
+
|
||
+ DEPENDS boost_a
|
||
+
|
||
+ ${shared_or_static}
|
||
+ ${debug_or_release}
|
||
+ ${single_or_multi}
|
||
+ )
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/a/src/lib.cpp b/tools/build/CMake/test/libs/a/src/lib.cpp
|
||
new file mode 100644
|
||
index 0000000..fe42963
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/a/src/lib.cpp
|
||
@@ -0,0 +1,22 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+
|
||
+std::string libname()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
|
||
+}
|
||
+
|
||
+std::string shared_or_static()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
|
||
+}
|
||
+
|
||
+std::string debug_or_release()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
|
||
+}
|
||
+
|
||
+std::string single_or_multi()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
|
||
+}
|
||
diff --git a/tools/build/CMake/test/libs/a/src/main.cpp b/tools/build/CMake/test/libs/a/src/main.cpp
|
||
new file mode 100644
|
||
index 0000000..61bbcf7
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/a/src/main.cpp
|
||
@@ -0,0 +1 @@
|
||
+#include <selftest_main.ipp>
|
||
diff --git a/tools/build/CMake/test/libs/a/test/CMakeLists.txt b/tools/build/CMake/test/libs/a/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..01847b9
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/a/test/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname a-${shared_or_static}_${debug_or_release}_${single_or_multi})
|
||
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
|
||
+ set_tests_properties(${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/b/CMakeLists.txt b/tools/build/CMake/test/libs/b/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..d893712
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/b/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+#----------------------------------------------------------------------------
|
||
+# This file was automatically generated from the original CMakeLists.txt file
|
||
+# Add a variable to hold the headers for the library
|
||
+set (lib_headers
|
||
+ system
|
||
+)
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ b
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ HEADERS ${lib_headers}
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ MODULARIZED
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/b/module.cmake b/tools/build/CMake/test/libs/b/module.cmake
|
||
new file mode 100644
|
||
index 0000000..98cf7c2
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/b/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(b DEPENDS a)
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/test/libs/b/src/CMakeLists.txt b/tools/build/CMake/test/libs/b/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..ff26b05
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/b/src/CMakeLists.txt
|
||
@@ -0,0 +1,30 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DLIBNAME=b)
|
||
+
|
||
+boost_add_library(b
|
||
+
|
||
+ lib.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
|
||
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
|
||
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
|
||
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
|
||
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
|
||
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
|
||
+ )
|
||
+
|
||
+boost_add_executable(SHARED_RELEASE_MULTI_THREADED main.cpp DEPENDS boost_b-mt-shared)
|
||
+boost_add_executable(SHARED_RELEASE_SINGLE_THREADED main.cpp DEPENDS boost_b-shared)
|
||
+boost_add_executable(STATIC_RELEASE_MULTI_THREADED main.cpp DEPENDS boost_b-mt-static)
|
||
+boost_add_executable(STATIC_RELEASE_SINGLE_THREADED main.cpp DEPENDS boost_b-static)
|
||
+boost_add_executable(SHARED_DEBUG_MULTI_THREADED main.cpp DEPENDS boost_b-mt-shared-debug)
|
||
+boost_add_executable(SHARED_DEBUG_SINGLE_THREADED main.cpp DEPENDS boost_b-shared-debug)
|
||
+boost_add_executable(STATIC_DEBUG_MULTI_THREADED main.cpp DEPENDS boost_b-mt-static-debug)
|
||
+boost_add_executable(STATIC_DEBUG_SINGLE_THREADED main.cpp DEPENDS boost_b-static-debug)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/b/src/lib.cpp b/tools/build/CMake/test/libs/b/src/lib.cpp
|
||
new file mode 100644
|
||
index 0000000..1289695
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/b/src/lib.cpp
|
||
@@ -0,0 +1 @@
|
||
+#include <selftest_lib.ipp>
|
||
diff --git a/tools/build/CMake/test/libs/b/src/main.cpp b/tools/build/CMake/test/libs/b/src/main.cpp
|
||
new file mode 100644
|
||
index 0000000..61bbcf7
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/b/src/main.cpp
|
||
@@ -0,0 +1 @@
|
||
+#include <selftest_main.ipp>
|
||
diff --git a/tools/build/CMake/test/libs/b/test/CMakeLists.txt b/tools/build/CMake/test/libs/b/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..b4b6841
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/b/test/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname b-${shared_or_static}_${debug_or_release}_${single_or_multi})
|
||
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
|
||
+ set_tests_properties(${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/c/CMakeLists.txt b/tools/build/CMake/test/libs/c/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..594a34d
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/c/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DLIBNAME=c)
|
||
+
|
||
+set(RELEASE_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=RELEASE")
|
||
+set(DEBUG_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=DEBUG")
|
||
+set(SHARED_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=SHARED")
|
||
+set(STATIC_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=STATIC")
|
||
+set(MULTI_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=MULTI_THREADED")
|
||
+set(SINGLE_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=SINGLE_THREADED")
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ c
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/c/src/CMakeLists.txt b/tools/build/CMake/test/libs/c/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..cfc4752
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/c/src/CMakeLists.txt
|
||
@@ -0,0 +1,30 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(c
|
||
+
|
||
+ lib.cpp
|
||
+
|
||
+ )
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ boost_add_executable(${shared_or_static}_${debug_or_release}_${single_or_multi}
|
||
+
|
||
+ main.cpp
|
||
+ DEPENDS boost_c
|
||
+ ${shared_or_static}
|
||
+ ${debug_or_release}
|
||
+ ${single_or_multi}
|
||
+ )
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/c/src/lib.cpp b/tools/build/CMake/test/libs/c/src/lib.cpp
|
||
new file mode 100644
|
||
index 0000000..956d150
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/c/src/lib.cpp
|
||
@@ -0,0 +1,22 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+
|
||
+std::string libname()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
|
||
+}
|
||
+
|
||
+std::string shared_or_static()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC));
|
||
+}
|
||
+
|
||
+std::string debug_or_release()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE));
|
||
+}
|
||
+
|
||
+std::string single_or_multi()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE));
|
||
+}
|
||
diff --git a/tools/build/CMake/test/libs/c/src/main.cpp b/tools/build/CMake/test/libs/c/src/main.cpp
|
||
new file mode 100644
|
||
index 0000000..a90587c
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/c/src/main.cpp
|
||
@@ -0,0 +1,12 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << BOOST_PP_STRINGIZE(LIBNAME) << "-"
|
||
+ << BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC) << "_"
|
||
+ << BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE) << "_"
|
||
+ << BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE)
|
||
+ << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/libs/c/test/CMakeLists.txt b/tools/build/CMake/test/libs/c/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..11e8ea2
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/c/test/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname c-${shared_or_static}_${debug_or_release}_${single_or_multi})
|
||
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
|
||
+ set_tests_properties(${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/d/CMakeLists.txt b/tools/build/CMake/test/libs/d/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..5cff225
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/d/CMakeLists.txt
|
||
@@ -0,0 +1,27 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+add_definitions(-DLIBNAME=d)
|
||
+
|
||
+set(RELEASE_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=RELEASE")
|
||
+set(DEBUG_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=DEBUG")
|
||
+set(SHARED_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=SHARED")
|
||
+set(STATIC_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=STATIC")
|
||
+set(MULTI_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=MULTI_THREADED")
|
||
+set(SINGLE_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=SINGLE_THREADED")
|
||
+
|
||
+# Add a library target to the build system
|
||
+boost_library_project(
|
||
+ d
|
||
+ SRCDIRS src
|
||
+ TESTDIRS test
|
||
+ # DOCDIRS
|
||
+ # DESCRIPTION
|
||
+ # AUTHORS
|
||
+ # MAINTAINERS
|
||
+)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/d/src/CMakeLists.txt b/tools/build/CMake/test/libs/d/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..aaba81f
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/d/src/CMakeLists.txt
|
||
@@ -0,0 +1,59 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(feature STATIC SHARED SINGLE_THREADED MULTI_THREADED
|
||
+ DEBUG RELEASE)
|
||
+ boost_add_library(d_no_${feature}
|
||
+ lib.cpp
|
||
+ NO_${feature}
|
||
+ )
|
||
+endforeach()
|
||
+
|
||
+
|
||
+#
|
||
+# Each of these never builds as it depends on something that
|
||
+# doesn't exist
|
||
+#
|
||
+boost_add_library(no_shared
|
||
+ lib.cpp
|
||
+ NO_SHARED
|
||
+ DEPENDS boost_d_no_STATIC)
|
||
+
|
||
+boost_add_library(no_static
|
||
+ lib.cpp
|
||
+ NO_STATIC
|
||
+ DEPENDS boost_d_no_SHARED)
|
||
+
|
||
+boost_add_library(no_debug
|
||
+ lib.cpp
|
||
+ NO_DEBUG
|
||
+ DEPENDS boost_d_no_RELEASE)
|
||
+
|
||
+boost_add_library(no_release
|
||
+ lib.cpp
|
||
+ NO_RELEASE
|
||
+ DEPENDS boost_d_no_DEBUG)
|
||
+
|
||
+boost_add_library(no_multi
|
||
+ lib.cpp
|
||
+ NO_MULTI_THREADED
|
||
+ DEPENDS boost_d_no_SINGLE_THREADED)
|
||
+
|
||
+boost_add_library(no_single
|
||
+ lib.cpp
|
||
+ NO_MULTI_THREADED
|
||
+ DEPENDS boost_d_no_SINGLE_THREADED)
|
||
+
|
||
+#
|
||
+# Problem: You can pass NO_MULTI_THREADED to this
|
||
+# and get something that never builds
|
||
+#
|
||
+boost_python_extension(doesntbuild
|
||
+ lib.cpp
|
||
+ NO_MULTI_THREADED
|
||
+ DEPENDS boost_d_no_SINGLE_THREADED)
|
||
+
|
||
diff --git a/tools/build/CMake/test/libs/d/src/lib.cpp b/tools/build/CMake/test/libs/d/src/lib.cpp
|
||
new file mode 100644
|
||
index 0000000..956d150
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/d/src/lib.cpp
|
||
@@ -0,0 +1,22 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+
|
||
+std::string libname()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
|
||
+}
|
||
+
|
||
+std::string shared_or_static()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC));
|
||
+}
|
||
+
|
||
+std::string debug_or_release()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE));
|
||
+}
|
||
+
|
||
+std::string single_or_multi()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE));
|
||
+}
|
||
diff --git a/tools/build/CMake/test/libs/d/src/main.cpp b/tools/build/CMake/test/libs/d/src/main.cpp
|
||
new file mode 100644
|
||
index 0000000..a90587c
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/d/src/main.cpp
|
||
@@ -0,0 +1,12 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << BOOST_PP_STRINGIZE(LIBNAME) << "-"
|
||
+ << BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC) << "_"
|
||
+ << BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE) << "_"
|
||
+ << BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE)
|
||
+ << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/libs/d/test/CMakeLists.txt b/tools/build/CMake/test/libs/d/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..11e8ea2
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/libs/d/test/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname c-${shared_or_static}_${debug_or_release}_${single_or_multi})
|
||
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
|
||
+ set_tests_properties(${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/CMakeLists.txt b/tools/build/CMake/test/tools/tool-a/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f166947
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/CMakeLists.txt
|
||
@@ -0,0 +1,36 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_tool_project(tool-a
|
||
+ DESCRIPTION "tool-a"
|
||
+ AUTHORS "author-a"
|
||
+ )
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(typestring ${shared_or_static}-${debug_or_release}-${single_or_multi})
|
||
+ boost_add_executable(tool-a-${typestring}
|
||
+
|
||
+ main.cpp
|
||
+
|
||
+ DEPENDS a
|
||
+
|
||
+ ${shared_or_static}
|
||
+ ${debug_or_release}
|
||
+ ${single_or_multi}
|
||
+ )
|
||
+
|
||
+ add_test(tool-a-${typestring} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tool-a-${typestring})
|
||
+ set_tests_properties(tool-a-${typestring}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION tool-a-${typestring})
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/main.cpp b/tools/build/CMake/test/tools/tool-a/main.cpp
|
||
new file mode 100644
|
||
index 0000000..9f77432
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/main.cpp
|
||
@@ -0,0 +1,11 @@
|
||
+#include <selftest_report.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << "tool-a-"
|
||
+ << shared_or_static() << "-"
|
||
+ << debug_or_release() << "-"
|
||
+ << single_or_multi() << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/module.cmake b/tools/build/CMake/test/tools/tool-a/module.cmake
|
||
new file mode 100644
|
||
index 0000000..9a50a96
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(system DEPENDS utility)
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt b/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f388dfd
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt
|
||
@@ -0,0 +1,36 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(a
|
||
+
|
||
+ lib.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
|
||
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
|
||
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
|
||
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
|
||
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
|
||
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
|
||
+ )
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ boost_add_executable(${shared_or_static}-${debug_or_release}-${single_or_multi}
|
||
+
|
||
+ main.cpp
|
||
+
|
||
+ DEPENDS a
|
||
+
|
||
+ ${shared_or_static}
|
||
+ ${debug_or_release}
|
||
+ ${single_or_multi}
|
||
+ )
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/src/lib.cpp b/tools/build/CMake/test/tools/tool-a/src/lib.cpp
|
||
new file mode 100644
|
||
index 0000000..fa94b73
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/src/lib.cpp
|
||
@@ -0,0 +1,17 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+
|
||
+std::string shared_or_static()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
|
||
+}
|
||
+
|
||
+std::string debug_or_release()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
|
||
+}
|
||
+
|
||
+std::string single_or_multi()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
|
||
+}
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/src/main.cpp b/tools/build/CMake/test/tools/tool-a/src/main.cpp
|
||
new file mode 100644
|
||
index 0000000..fba931b
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/src/main.cpp
|
||
@@ -0,0 +1,10 @@
|
||
+#include <selftest_report.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << shared_or_static() << "-"
|
||
+ << debug_or_release() << "-"
|
||
+ << single_or_multi() << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt b/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..8cf4423
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi})
|
||
+ add_test(a-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/a-${testname})
|
||
+ set_tests_properties(a-${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/CMakeLists.txt b/tools/build/CMake/test/tools/tool-b/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..316cea1
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/CMakeLists.txt
|
||
@@ -0,0 +1,35 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_tool_project(b
|
||
+ DESCRIPTION "tool-b"
|
||
+ AUTHORS "author-b"
|
||
+ )
|
||
+
|
||
+boost_add_executable(tool-b-SHARED-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-shared)
|
||
+boost_add_executable(tool-b-SHARED-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-shared)
|
||
+boost_add_executable(tool-b-STATIC-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-static)
|
||
+boost_add_executable(tool-b-STATIC-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-static)
|
||
+boost_add_executable(tool-b-SHARED-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-shared-debug)
|
||
+boost_add_executable(tool-b-SHARED-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-shared-debug)
|
||
+boost_add_executable(tool-b-STATIC-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-static-debug)
|
||
+boost_add_executable(tool-b-STATIC-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-static-debug)
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi})
|
||
+ add_test(tool-b-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tool-b-${testname})
|
||
+ set_tests_properties(tool-b-${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/main.cpp b/tools/build/CMake/test/tools/tool-b/main.cpp
|
||
new file mode 100644
|
||
index 0000000..fba931b
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/main.cpp
|
||
@@ -0,0 +1,10 @@
|
||
+#include <selftest_report.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << shared_or_static() << "-"
|
||
+ << debug_or_release() << "-"
|
||
+ << single_or_multi() << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/module.cmake b/tools/build/CMake/test/tools/tool-b/module.cmake
|
||
new file mode 100644
|
||
index 0000000..98cf7c2
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/module.cmake
|
||
@@ -0,0 +1 @@
|
||
+boost_module(b DEPENDS a)
|
||
\ No newline at end of file
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt b/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..0954efc
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt
|
||
@@ -0,0 +1,28 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_add_library(b
|
||
+
|
||
+ lib.cpp
|
||
+
|
||
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
|
||
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
|
||
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
|
||
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
|
||
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
|
||
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
|
||
+ )
|
||
+
|
||
+boost_add_executable(SHARED-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-shared)
|
||
+boost_add_executable(SHARED-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-shared)
|
||
+boost_add_executable(STATIC-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-static)
|
||
+boost_add_executable(STATIC-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-static)
|
||
+boost_add_executable(SHARED-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-shared-debug)
|
||
+boost_add_executable(SHARED-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-shared-debug)
|
||
+boost_add_executable(STATIC-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-static-debug)
|
||
+boost_add_executable(STATIC-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-static-debug)
|
||
+
|
||
+
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/src/lib.cpp b/tools/build/CMake/test/tools/tool-b/src/lib.cpp
|
||
new file mode 100644
|
||
index 0000000..fa94b73
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/src/lib.cpp
|
||
@@ -0,0 +1,17 @@
|
||
+#include <boost/preprocessor/stringize.hpp>
|
||
+#include <string>
|
||
+
|
||
+std::string shared_or_static()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
|
||
+}
|
||
+
|
||
+std::string debug_or_release()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
|
||
+}
|
||
+
|
||
+std::string single_or_multi()
|
||
+{
|
||
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
|
||
+}
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/src/main.cpp b/tools/build/CMake/test/tools/tool-b/src/main.cpp
|
||
new file mode 100644
|
||
index 0000000..fba931b
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/src/main.cpp
|
||
@@ -0,0 +1,10 @@
|
||
+#include <selftest_report.hpp>
|
||
+#include <string>
|
||
+#include <iostream>
|
||
+
|
||
+int main(int argc, char** argv)
|
||
+{
|
||
+ std::cout << shared_or_static() << "-"
|
||
+ << debug_or_release() << "-"
|
||
+ << single_or_multi() << "\n";
|
||
+}
|
||
diff --git a/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt b/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..f16f25b
|
||
--- /dev/null
|
||
+++ b/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt
|
||
@@ -0,0 +1,21 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+
|
||
+foreach(shared_or_static SHARED STATIC)
|
||
+ foreach(debug_or_release DEBUG RELEASE)
|
||
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
|
||
+
|
||
+ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi})
|
||
+ add_test(b-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/b-${testname})
|
||
+ set_tests_properties(b-${testname}
|
||
+ PROPERTIES
|
||
+ PASS_REGULAR_EXPRESSION "${testname}")
|
||
+
|
||
+ endforeach()
|
||
+ endforeach()
|
||
+endforeach()
|
||
+
|
||
diff --git a/tools/inspect/CMakeLists.txt b/tools/inspect/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..e0a10bb
|
||
--- /dev/null
|
||
+++ b/tools/inspect/CMakeLists.txt
|
||
@@ -0,0 +1,20 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_tool_project(Inspect
|
||
+ DESCRIPTION "Boost inspector tool")
|
||
+
|
||
+boost_tool_dependencies(BOOST_DEPENDS filesystem system regex test)
|
||
+
|
||
+boost_add_executable(inspect
|
||
+
|
||
+ inspect.cpp license_check.cpp
|
||
+ link_check.cpp path_name_check.cpp tab_check.cpp crlf_check.cpp
|
||
+ end_check.cpp unnamed_namespace_check.cpp ascii_check.cpp
|
||
+ copyright_check.cpp minmax_check.cpp
|
||
+
|
||
+ DEPENDS boost_filesystem boost_system boost_regex
|
||
+ )
|
||
diff --git a/tools/quickbook/CMakeLists.txt b/tools/quickbook/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..2b2b8aa
|
||
--- /dev/null
|
||
+++ b/tools/quickbook/CMakeLists.txt
|
||
@@ -0,0 +1,33 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+boost_tool_project(Quickbook
|
||
+ DESCRIPTION "A WikiWiki style documentation tool geared towards C++ documentation"
|
||
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
|
||
+ "Eric Niebler <eric -at- boost-consulting.com>")
|
||
+
|
||
+if (MSVC)
|
||
+ add_definitions(/wd4511 /wd4512 /wd4701 /wd4702 /wd4244 /wd4267 /wd4800)
|
||
+endif (MSVC)
|
||
+
|
||
+boost_add_executable(quickbook
|
||
+
|
||
+ detail/quickbook.cpp
|
||
+ detail/actions.cpp
|
||
+ detail/actions_class.cpp
|
||
+ detail/utils.cpp
|
||
+ detail/post_process.cpp
|
||
+ detail/collector.cpp
|
||
+ detail/input_path.cpp
|
||
+ detail/template_stack.cpp
|
||
+ detail/markups.cpp
|
||
+
|
||
+ DEPENDS boost_program_options boost_filesystem
|
||
+ MULTI_THREADED
|
||
+ SHARED
|
||
+ RELEASE
|
||
+ )
|
||
+
|
||
diff --git a/tools/wave/CMakeLists.txt b/tools/wave/CMakeLists.txt
|
||
new file mode 100644
|
||
index 0000000..cf0c4da
|
||
--- /dev/null
|
||
+++ b/tools/wave/CMakeLists.txt
|
||
@@ -0,0 +1,22 @@
|
||
+#
|
||
+# Copyright Troy D. Straszheim
|
||
+#
|
||
+# Distributed under the Boost Software License, Version 1.0.
|
||
+# See http://www.boost.org/LICENSE_1_0.txt
|
||
+#
|
||
+# DPG: tools need modular dependencies just like libraries have
|
||
+# them. For now, we just include the appropriate directories.
|
||
+
|
||
+boost_tool_project(Wave
|
||
+ DESCRIPTION "Boost wave, the C preprocessor")
|
||
+
|
||
+boost_add_executable(wave
|
||
+
|
||
+ cpp.cpp
|
||
+
|
||
+ DEPENDS boost_wave boost_program_options boost_filesystem boost_serialization
|
||
+
|
||
+ MULTI_THREADED
|
||
+ SHARED
|
||
+ RELEASE
|
||
+ )
|