Add support for CMake

This commit is contained in:
Fadis 2013-11-28 02:10:47 +09:00
parent 403e83eaf0
commit e3cb3bae99
35 changed files with 583 additions and 1 deletions

39
CMakeLists.txt Normal file
View file

@ -0,0 +1,39 @@
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMakeFiles/modules/")
project(sprout)
ENABLE_TESTING()
include(CheckIncludeFiles)
include (FindPkgConfig)
include(CheckCXXSourceCompiles)
# build type
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS_DEBUG "-W -Wall -Wextra -Wno-unused-parameter -Werror -std=c++0x -O0 -g")
set(CMAKE_C_FLAGS_DEBUG "-W -Wall -Wextra -Wno-unused-parameter -Werror -O0 -g")
set(CMAKE_CXX_FLAGS_RELEASE "-W -Wall -Wextra -Wno-unused-parameter -Werror -std=c++0x -O2")
set(CMAKE_C_FLAGS_RELEASE "-W -Wall -Wextra -Wno-unused-parameter -Werror -O2")
#if you don't want the full compiler output, remove the following line
if( NOT DEFINED CMAKE_VERBOSE_MAKEFILE )
set(CMAKE_VERBOSE_MAKEFILE OFF)
endif( NOT DEFINED CMAKE_VERBOSE_MAKEFILE )
if( NOT DEFINED Boost_USE_MULTITHREADED )
set(Boost_USE_MULTITHREADED ON)
endif( NOT DEFINED Boost_USE_MULTITHREADED )
find_package( Boost 1.49.0 REQUIRED )
if( NOT Boost_FOUND )
message( SEND_ERROR "Required package Boost was not detected." )
endif (NOT Boost_FOUND)
pkg_check_modules(OpenCV opencv)
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${Boost_INCLUDE_DIRS} )
link_directories( ${Boost_LIBRARY_DIRS} )
subdirs( sprout libs tools cmake )

3
cmake/CMakeLists.txt Normal file
View file

@ -0,0 +1,3 @@
INSTALL( DIRECTORY ./
DESTINATION share/cmake/Modules/
FILES_MATCHING PATTERN "*.cmake" )

52
cmake/FindSprout.cmake Normal file
View file

@ -0,0 +1,52 @@
# - Find Sprout C++ library
# Once done this will define
#
# SPROUT_INCLUDE_DIRS - where to find sprout/darkroom.hpp
# SPROUT_FOUND - True if Sprout found.
#
#
#=============================================================================
# Copyright 2013 Naomasa Matsubayashi
#
# 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 software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
set(_SPROUT_SEARCHES)
# Search SPROUT_ROOT first if it is set.
if(SPROUT_ROOT)
set(_SPROUT_SEARCH_ROOT PATHS ${SPROUT_ROOT} NO_DEFAULT_PATH)
list(APPEND _SPROUT_SEARCHES _SPROUT_SEARCH_ROOT)
endif()
# Normal search.
set(_SPROUT_SEARCH_NORMAL
PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]"
"$ENV{PROGRAMFILES}/zlib"
"/usr"
"/usr/local"
"/opt/sprout"
)
list(APPEND _SPROUT_SEARCHES _SPROUT_SEARCH_NORMAL)
# Try each search configuration.
foreach(search ${_SPROUT_SEARCHES})
find_path(SPROUT_INCLUDE_DIR NAMES sprout/darkroom.hpp ${${search}} PATH_SUFFIXES include)
endforeach()
mark_as_advanced(SPROUT_INCLUDE_DIR)
# handle the QUIETLY and REQUIRED arguments and set SPROUT_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS( SPROUT REQUIRED_VARS SPROUT_INCLUDE_DIR )
if(SPROUT_FOUND)
set(SPROUT_INCLUDE_DIRS ${SPROUT_INCLUDE_DIR})
endif()

2
libs/CMakeLists.txt Normal file
View file

@ -0,0 +1,2 @@
subdirs( algorithm array bitset cstring optional random string tuple utility variant weed )
#subdirs( algorithm array bitset cstring optional random )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,330 @@
add_executable( libs_algorithm_test_adjacent_find adjacent_find.cpp )
set_target_properties( libs_algorithm_test_adjacent_find PROPERTIES OUTPUT_NAME "adjacent_find" )
add_test( libs_algorithm_test_adjacent_find adjacent_find )
add_executable( libs_algorithm_test_algorithm algorithm.cpp )
set_target_properties( libs_algorithm_test_algorithm PROPERTIES OUTPUT_NAME "algorithm" )
add_test( libs_algorithm_test_algorithm algorithm )
add_executable( libs_algorithm_test_all_of all_of.cpp )
set_target_properties( libs_algorithm_test_all_of PROPERTIES OUTPUT_NAME "all_of" )
add_test( libs_algorithm_test_all_of all_of )
add_executable( libs_algorithm_test_all_of_equal all_of_equal.cpp )
set_target_properties( libs_algorithm_test_all_of_equal PROPERTIES OUTPUT_NAME "all_of_equal" )
add_test( libs_algorithm_test_all_of_equal all_of_equal )
add_executable( libs_algorithm_test_any_of any_of.cpp )
set_target_properties( libs_algorithm_test_any_of PROPERTIES OUTPUT_NAME "any_of" )
add_test( libs_algorithm_test_any_of any_of )
add_executable( libs_algorithm_test_any_of_equal any_of_equal.cpp )
set_target_properties( libs_algorithm_test_any_of_equal PROPERTIES OUTPUT_NAME "any_of_equal" )
add_test( libs_algorithm_test_any_of_equal any_of_equal )
add_executable( libs_algorithm_test_binary_search binary_search.cpp )
set_target_properties( libs_algorithm_test_binary_search PROPERTIES OUTPUT_NAME "binary_search" )
add_test( libs_algorithm_test_binary_search binary_search )
add_executable( libs_algorithm_test_bogo_sort bogo_sort.cpp )
set_target_properties( libs_algorithm_test_bogo_sort PROPERTIES OUTPUT_NAME "bogo_sort" )
add_test( libs_algorithm_test_bogo_sort bogo_sort )
add_executable( libs_algorithm_test_bogo_sort_result bogo_sort_result.cpp )
set_target_properties( libs_algorithm_test_bogo_sort_result PROPERTIES OUTPUT_NAME "bogo_sort_result" )
add_test( libs_algorithm_test_bogo_sort_result bogo_sort_result )
add_executable( libs_algorithm_test_bozo_sort bozo_sort.cpp )
set_target_properties( libs_algorithm_test_bozo_sort PROPERTIES OUTPUT_NAME "bozo_sort" )
add_test( libs_algorithm_test_bozo_sort bozo_sort )
add_executable( libs_algorithm_test_bozo_sort_result bozo_sort_result.cpp )
set_target_properties( libs_algorithm_test_bozo_sort_result PROPERTIES OUTPUT_NAME "bozo_sort_result" )
add_test( libs_algorithm_test_bozo_sort_result bozo_sort_result )
add_executable( libs_algorithm_test_clamp clamp.cpp )
set_target_properties( libs_algorithm_test_clamp PROPERTIES OUTPUT_NAME "clamp" )
add_test( libs_algorithm_test_clamp clamp )
add_executable( libs_algorithm_test_clamp_range clamp_range.cpp )
set_target_properties( libs_algorithm_test_clamp_range PROPERTIES OUTPUT_NAME "clamp_range" )
add_test( libs_algorithm_test_clamp_range clamp_range )
add_executable( libs_algorithm_test_clamp_range_copy clamp_range_copy.cpp )
set_target_properties( libs_algorithm_test_clamp_range_copy PROPERTIES OUTPUT_NAME "clamp_range_copy" )
add_test( libs_algorithm_test_clamp_range_copy clamp_range_copy )
add_executable( libs_algorithm_test_copy copy.cpp )
set_target_properties( libs_algorithm_test_copy PROPERTIES OUTPUT_NAME "copy" )
add_test( libs_algorithm_test_copy copy )
add_executable( libs_algorithm_test_copy_backward copy_backward.cpp )
set_target_properties( libs_algorithm_test_copy_backward PROPERTIES OUTPUT_NAME "copy_backward" )
add_test( libs_algorithm_test_copy_backward copy_backward )
add_executable( libs_algorithm_test_copy_if copy_if.cpp )
set_target_properties( libs_algorithm_test_copy_if PROPERTIES OUTPUT_NAME "copy_if" )
add_test( libs_algorithm_test_copy_if copy_if )
add_executable( libs_algorithm_test_copy_n copy_n.cpp )
set_target_properties( libs_algorithm_test_copy_n PROPERTIES OUTPUT_NAME "copy_n" )
add_test( libs_algorithm_test_copy_n copy_n )
add_executable( libs_algorithm_test_copy_until copy_until.cpp )
set_target_properties( libs_algorithm_test_copy_until PROPERTIES OUTPUT_NAME "copy_until" )
add_test( libs_algorithm_test_copy_until copy_until )
add_executable( libs_algorithm_test_copy_while copy_while.cpp )
set_target_properties( libs_algorithm_test_copy_while PROPERTIES OUTPUT_NAME "copy_while" )
add_test( libs_algorithm_test_copy_while copy_while )
add_executable( libs_algorithm_test_count count.cpp )
set_target_properties( libs_algorithm_test_count PROPERTIES OUTPUT_NAME "count" )
add_test( libs_algorithm_test_count count )
add_executable( libs_algorithm_test_count_if count_if.cpp )
set_target_properties( libs_algorithm_test_count_if PROPERTIES OUTPUT_NAME "count_if" )
add_test( libs_algorithm_test_count_if count_if )
add_executable( libs_algorithm_test_equal equal.cpp )
set_target_properties( libs_algorithm_test_equal PROPERTIES OUTPUT_NAME "equal" )
add_test( libs_algorithm_test_equal equal )
add_executable( libs_algorithm_test_equal_range equal_range.cpp )
set_target_properties( libs_algorithm_test_equal_range PROPERTIES OUTPUT_NAME "equal_range" )
add_test( libs_algorithm_test_equal_range equal_range )
#add_executable( libs_algorithm_test_fill fill.cpp )
#set_target_properties( libs_algorithm_test_fill PROPERTIES OUTPUT_NAME "fill" )
#add_test( libs_algorithm_test_fill fill )
add_executable( libs_algorithm_test_fill_n fill_n.cpp )
set_target_properties( libs_algorithm_test_fill_n PROPERTIES OUTPUT_NAME "fill_n" )
add_test( libs_algorithm_test_fill_n fill_n )
add_executable( libs_algorithm_test_find find.cpp )
set_target_properties( libs_algorithm_test_find PROPERTIES OUTPUT_NAME "find" )
add_test( libs_algorithm_test_find find )
add_executable( libs_algorithm_test_find_end find_end.cpp )
set_target_properties( libs_algorithm_test_find_end PROPERTIES OUTPUT_NAME "find_end" )
add_test( libs_algorithm_test_find_end find_end )
add_executable( libs_algorithm_test_find_first_of find_first_of.cpp )
set_target_properties( libs_algorithm_test_find_first_of PROPERTIES OUTPUT_NAME "find_first_of" )
add_test( libs_algorithm_test_find_first_of find_first_of )
add_executable( libs_algorithm_test_find_if find_if.cpp )
set_target_properties( libs_algorithm_test_find_if PROPERTIES OUTPUT_NAME "find_if" )
add_test( libs_algorithm_test_find_if find_if )
add_executable( libs_algorithm_test_find_if_not find_if_not.cpp )
set_target_properties( libs_algorithm_test_find_if_not PROPERTIES OUTPUT_NAME "find_if_not" )
add_test( libs_algorithm_test_find_if_not find_if_not )
add_executable( libs_algorithm_test_generate generate.cpp )
set_target_properties( libs_algorithm_test_generate PROPERTIES OUTPUT_NAME "generate" )
add_test( libs_algorithm_test_generate generate )
add_executable( libs_algorithm_test_generate_n generate_n.cpp )
set_target_properties( libs_algorithm_test_generate_n PROPERTIES OUTPUT_NAME "generate_n" )
add_test( libs_algorithm_test_generate_n generate_n )
add_executable( libs_algorithm_test_includes includes.cpp )
set_target_properties( libs_algorithm_test_includes PROPERTIES OUTPUT_NAME "includes" )
add_test( libs_algorithm_test_includes includes )
add_executable( libs_algorithm_test_inplace_merge inplace_merge.cpp )
set_target_properties( libs_algorithm_test_inplace_merge PROPERTIES OUTPUT_NAME "inplace_merge" )
add_test( libs_algorithm_test_inplace_merge inplace_merge )
add_executable( libs_algorithm_test_is_decreasing is_decreasing.cpp )
set_target_properties( libs_algorithm_test_is_decreasing PROPERTIES OUTPUT_NAME "is_decreasing" )
add_test( libs_algorithm_test_is_decreasing is_decreasing )
add_executable( libs_algorithm_test_is_heap is_heap.cpp )
set_target_properties( libs_algorithm_test_is_heap PROPERTIES OUTPUT_NAME "is_heap" )
add_test( libs_algorithm_test_is_heap is_heap )
add_executable( libs_algorithm_test_is_heap_until is_heap_until.cpp )
set_target_properties( libs_algorithm_test_is_heap_until PROPERTIES OUTPUT_NAME "is_heap_until" )
add_test( libs_algorithm_test_is_heap_until is_heap_until )
add_executable( libs_algorithm_test_is_increasing is_increasing.cpp )
set_target_properties( libs_algorithm_test_is_increasing PROPERTIES OUTPUT_NAME "is_increasing" )
add_test( libs_algorithm_test_is_increasing is_increasing )
add_executable( libs_algorithm_test_is_partitioned is_partitioned.cpp )
set_target_properties( libs_algorithm_test_is_partitioned PROPERTIES OUTPUT_NAME "is_partitioned" )
add_test( libs_algorithm_test_is_partitioned is_partitioned )
add_executable( libs_algorithm_test_is_permutation is_permutation.cpp )
set_target_properties( libs_algorithm_test_is_permutation PROPERTIES OUTPUT_NAME "is_permutation" )
add_test( libs_algorithm_test_is_permutation is_permutation )
add_executable( libs_algorithm_test_is_sorted is_sorted.cpp )
set_target_properties( libs_algorithm_test_is_sorted PROPERTIES OUTPUT_NAME "is_sorted" )
add_test( libs_algorithm_test_is_sorted is_sorted )
add_executable( libs_algorithm_test_is_sorted_until is_sorted_until.cpp )
set_target_properties( libs_algorithm_test_is_sorted_until PROPERTIES OUTPUT_NAME "is_sorted_until" )
add_test( libs_algorithm_test_is_sorted_until is_sorted_until )
add_executable( libs_algorithm_test_is_strictly_decreasing is_strictly_decreasing.cpp )
set_target_properties( libs_algorithm_test_is_strictly_decreasing PROPERTIES OUTPUT_NAME "is_strictly_decreasing" )
add_test( libs_algorithm_test_is_strictly_decreasing is_strictly_decreasing )
add_executable( libs_algorithm_test_is_strictly_increasing is_strictly_increasing.cpp )
set_target_properties( libs_algorithm_test_is_strictly_increasing PROPERTIES OUTPUT_NAME "is_strictly_increasing" )
add_test( libs_algorithm_test_is_strictly_increasing is_strictly_increasing )
add_executable( libs_algorithm_test_lexicographical_compare lexicographical_compare.cpp )
set_target_properties( libs_algorithm_test_lexicographical_compare PROPERTIES OUTPUT_NAME "lexicographical_compare" )
add_test( libs_algorithm_test_lexicographical_compare lexicographical_compare )
add_executable( libs_algorithm_test_lower_bound lower_bound.cpp )
set_target_properties( libs_algorithm_test_lower_bound PROPERTIES OUTPUT_NAME "lower_bound" )
add_test( libs_algorithm_test_lower_bound lower_bound )
add_executable( libs_algorithm_test_make_heap make_heap.cpp )
set_target_properties( libs_algorithm_test_make_heap PROPERTIES OUTPUT_NAME "make_heap" )
add_test( libs_algorithm_test_make_heap make_heap )
add_executable( libs_algorithm_test_make_partial_heap make_partial_heap.cpp )
set_target_properties( libs_algorithm_test_make_partial_heap PROPERTIES OUTPUT_NAME "make_partial_heap" )
add_test( libs_algorithm_test_make_partial_heap make_partial_heap )
add_executable( libs_algorithm_test_max max.cpp )
set_target_properties( libs_algorithm_test_max PROPERTIES OUTPUT_NAME "max" )
add_test( libs_algorithm_test_max max )
add_executable( libs_algorithm_test_max_element max_element.cpp )
set_target_properties( libs_algorithm_test_max_element PROPERTIES OUTPUT_NAME "max_element" )
add_test( libs_algorithm_test_max_element max_element )
add_executable( libs_algorithm_test_merge merge.cpp )
set_target_properties( libs_algorithm_test_merge PROPERTIES OUTPUT_NAME "merge" )
add_test( libs_algorithm_test_merge merge )
add_executable( libs_algorithm_test_min min.cpp )
set_target_properties( libs_algorithm_test_min PROPERTIES OUTPUT_NAME "min" )
add_test( libs_algorithm_test_min min )
add_executable( libs_algorithm_test_min_element min_element.cpp )
set_target_properties( libs_algorithm_test_min_element PROPERTIES OUTPUT_NAME "min_element" )
add_test( libs_algorithm_test_min_element min_element )
add_executable( libs_algorithm_test_minmax minmax.cpp )
set_target_properties( libs_algorithm_test_minmax PROPERTIES OUTPUT_NAME "minmax" )
add_test( libs_algorithm_test_minmax minmax )
add_executable( libs_algorithm_test_minmax_element minmax_element.cpp )
set_target_properties( libs_algorithm_test_minmax_element PROPERTIES OUTPUT_NAME "minmax_element" )
add_test( libs_algorithm_test_minmax_element minmax_element )
add_executable( libs_algorithm_test_mismatch mismatch.cpp )
set_target_properties( libs_algorithm_test_mismatch PROPERTIES OUTPUT_NAME "mismatch" )
add_test( libs_algorithm_test_mismatch mismatch )
add_executable( libs_algorithm_test_modifying modifying.cpp )
set_target_properties( libs_algorithm_test_modifying PROPERTIES OUTPUT_NAME "modifying" )
add_test( libs_algorithm_test_modifying modifying )
add_executable( libs_algorithm_test_next_permutation next_permutation.cpp )
set_target_properties( libs_algorithm_test_next_permutation PROPERTIES OUTPUT_NAME "next_permutation" )
add_test( libs_algorithm_test_next_permutation next_permutation )
add_executable( libs_algorithm_test_non_modifying non_modifying.cpp )
set_target_properties( libs_algorithm_test_non_modifying PROPERTIES OUTPUT_NAME "non_modifying" )
add_test( libs_algorithm_test_non_modifying non_modifying )
add_executable( libs_algorithm_test_none_of none_of.cpp )
set_target_properties( libs_algorithm_test_none_of PROPERTIES OUTPUT_NAME "none_of" )
add_test( libs_algorithm_test_none_of none_of )
add_executable( libs_algorithm_test_none_of_equal none_of_equal.cpp )
set_target_properties( libs_algorithm_test_none_of_equal PROPERTIES OUTPUT_NAME "none_of_equal" )
add_test( libs_algorithm_test_none_of_equal none_of_equal )
add_executable( libs_algorithm_test_nth_element nth_element.cpp )
set_target_properties( libs_algorithm_test_nth_element PROPERTIES OUTPUT_NAME "nth_element" )
add_test( libs_algorithm_test_nth_element nth_element )
add_executable( libs_algorithm_test_one_of one_of.cpp )
set_target_properties( libs_algorithm_test_one_of PROPERTIES OUTPUT_NAME "one_of" )
add_test( libs_algorithm_test_one_of one_of )
add_executable( libs_algorithm_test_one_of_equal one_of_equal.cpp )
set_target_properties( libs_algorithm_test_one_of_equal PROPERTIES OUTPUT_NAME "one_of_equal" )
add_test( libs_algorithm_test_one_of_equal one_of_equal )
add_executable( libs_algorithm_test_partial_sort partial_sort.cpp )
set_target_properties( libs_algorithm_test_partial_sort PROPERTIES OUTPUT_NAME "partial_sort" )
add_test( libs_algorithm_test_partial_sort partial_sort )
add_executable( libs_algorithm_test_partition partition.cpp )
set_target_properties( libs_algorithm_test_partition PROPERTIES OUTPUT_NAME "partition" )
add_test( libs_algorithm_test_partition partition )
add_executable( libs_algorithm_test_partition_copy partition_copy.cpp )
set_target_properties( libs_algorithm_test_partition_copy PROPERTIES OUTPUT_NAME "partition_copy" )
add_test( libs_algorithm_test_partition_copy partition_copy )
add_executable( libs_algorithm_test_partition_point partition_point.cpp )
set_target_properties( libs_algorithm_test_partition_point PROPERTIES OUTPUT_NAME "partition_point" )
add_test( libs_algorithm_test_partition_point partition_point )
add_executable( libs_algorithm_test_pop_heap pop_heap.cpp )
set_target_properties( libs_algorithm_test_pop_heap PROPERTIES OUTPUT_NAME "pop_heap" )
add_test( libs_algorithm_test_pop_heap pop_heap )
add_executable( libs_algorithm_test_prev_permutation prev_permutation.cpp )
set_target_properties( libs_algorithm_test_prev_permutation PROPERTIES OUTPUT_NAME "prev_permutation" )
add_test( libs_algorithm_test_prev_permutation prev_permutation )
add_executable( libs_algorithm_test_push_heap push_heap.cpp )
set_target_properties( libs_algorithm_test_push_heap PROPERTIES OUTPUT_NAME "push_heap" )
add_test( libs_algorithm_test_push_heap push_heap )
add_executable( libs_algorithm_test_random_swap random_swap.cpp )
set_target_properties( libs_algorithm_test_random_swap PROPERTIES OUTPUT_NAME "random_swap" )
add_test( libs_algorithm_test_random_swap random_swap )
add_executable( libs_algorithm_test_random_swap_result random_swap_result.cpp )
set_target_properties( libs_algorithm_test_random_swap_result PROPERTIES OUTPUT_NAME "random_swap_result" )
add_test( libs_algorithm_test_random_swap_result random_swap_result )
add_executable( libs_algorithm_test_recurrence recurrence.cpp )
set_target_properties( libs_algorithm_test_recurrence PROPERTIES OUTPUT_NAME "recurrence" )
add_test( libs_algorithm_test_recurrence recurrence )
add_executable( libs_algorithm_test_recurrence_n recurrence_n.cpp )
set_target_properties( libs_algorithm_test_recurrence_n PROPERTIES OUTPUT_NAME "recurrence_n" )
add_test( libs_algorithm_test_recurrence_n recurrence_n )
add_executable( libs_algorithm_test_remove remove.cpp )
set_target_properties( libs_algorithm_test_remove PROPERTIES OUTPUT_NAME "remove" )
add_test( libs_algorithm_test_remove remove )
add_executable( libs_algorithm_test_remove_copy remove_copy.cpp )
set_target_properties( libs_algorithm_test_remove_copy PROPERTIES OUTPUT_NAME "remove_copy" )
add_test( libs_algorithm_test_remove_copy remove_copy )
add_executable( libs_algorithm_test_remove_copy_if remove_copy_if.cpp )
set_target_properties( libs_algorithm_test_remove_copy_if PROPERTIES OUTPUT_NAME "remove_copy_if" )
add_test( libs_algorithm_test_remove_copy_if remove_copy_if )
add_executable( libs_algorithm_test_remove_if remove_if.cpp )
set_target_properties( libs_algorithm_test_remove_if PROPERTIES OUTPUT_NAME "remove_if" )
add_test( libs_algorithm_test_remove_if remove_if )
add_executable( libs_algorithm_test_replace replace.cpp )
set_target_properties( libs_algorithm_test_replace PROPERTIES OUTPUT_NAME "replace" )
add_test( libs_algorithm_test_replace replace )
add_executable( libs_algorithm_test_replace_copy replace_copy.cpp )
set_target_properties( libs_algorithm_test_replace_copy PROPERTIES OUTPUT_NAME "replace_copy" )
add_test( libs_algorithm_test_replace_copy replace_copy )
add_executable( libs_algorithm_test_replace_copy_if replace_copy_if.cpp )
set_target_properties( libs_algorithm_test_replace_copy_if PROPERTIES OUTPUT_NAME "replace_copy_if" )
add_test( libs_algorithm_test_replace_copy_if replace_copy_if )
add_executable( libs_algorithm_test_replace_if replace_if.cpp )
set_target_properties( libs_algorithm_test_replace_if PROPERTIES OUTPUT_NAME "replace_if" )
add_test( libs_algorithm_test_replace_if replace_if )
add_executable( libs_algorithm_test_reverse reverse.cpp )
set_target_properties( libs_algorithm_test_reverse PROPERTIES OUTPUT_NAME "reverse" )
add_test( libs_algorithm_test_reverse reverse )
add_executable( libs_algorithm_test_reverse_copy reverse_copy.cpp )
set_target_properties( libs_algorithm_test_reverse_copy PROPERTIES OUTPUT_NAME "reverse_copy" )
add_test( libs_algorithm_test_reverse_copy reverse_copy )
add_executable( libs_algorithm_test_rotate rotate.cpp )
set_target_properties( libs_algorithm_test_rotate PROPERTIES OUTPUT_NAME "rotate" )
add_test( libs_algorithm_test_rotate rotate )
add_executable( libs_algorithm_test_rotate_copy rotate_copy.cpp )
set_target_properties( libs_algorithm_test_rotate_copy PROPERTIES OUTPUT_NAME "rotate_copy" )
add_test( libs_algorithm_test_rotate_copy rotate_copy )
add_executable( libs_algorithm_test_search search.cpp )
set_target_properties( libs_algorithm_test_search PROPERTIES OUTPUT_NAME "search" )
add_test( libs_algorithm_test_search search )
add_executable( libs_algorithm_test_search_n search_n.cpp )
set_target_properties( libs_algorithm_test_search_n PROPERTIES OUTPUT_NAME "search_n" )
add_test( libs_algorithm_test_search_n search_n )
add_executable( libs_algorithm_test_set_difference set_difference.cpp )
set_target_properties( libs_algorithm_test_set_difference PROPERTIES OUTPUT_NAME "set_difference" )
add_test( libs_algorithm_test_set_difference set_difference )
add_executable( libs_algorithm_test_set_intersection set_intersection.cpp )
set_target_properties( libs_algorithm_test_set_intersection PROPERTIES OUTPUT_NAME "set_intersection" )
add_test( libs_algorithm_test_set_intersection set_intersection )
add_executable( libs_algorithm_test_set_symmetric_difference set_symmetric_difference.cpp )
set_target_properties( libs_algorithm_test_set_symmetric_difference PROPERTIES OUTPUT_NAME "set_symmetric_difference" )
add_test( libs_algorithm_test_set_symmetric_difference set_symmetric_difference )
add_executable( libs_algorithm_test_set_union set_union.cpp )
set_target_properties( libs_algorithm_test_set_union PROPERTIES OUTPUT_NAME "set_union" )
add_test( libs_algorithm_test_set_union set_union )
add_executable( libs_algorithm_test_shuffle shuffle.cpp )
set_target_properties( libs_algorithm_test_shuffle PROPERTIES OUTPUT_NAME "shuffle" )
add_test( libs_algorithm_test_shuffle shuffle )
add_executable( libs_algorithm_test_shuffle_result shuffle_result.cpp )
set_target_properties( libs_algorithm_test_shuffle_result PROPERTIES OUTPUT_NAME "shuffle_result" )
add_test( libs_algorithm_test_shuffle_result shuffle_result )
add_executable( libs_algorithm_test_sort sort.cpp )
set_target_properties( libs_algorithm_test_sort PROPERTIES OUTPUT_NAME "sort" )
add_test( libs_algorithm_test_sort sort )
add_executable( libs_algorithm_test_sort_heap sort_heap.cpp )
set_target_properties( libs_algorithm_test_sort_heap PROPERTIES OUTPUT_NAME "sort_heap" )
add_test( libs_algorithm_test_sort_heap sort_heap )
add_executable( libs_algorithm_test_stable_partition stable_partition.cpp )
set_target_properties( libs_algorithm_test_stable_partition PROPERTIES OUTPUT_NAME "stable_partition" )
add_test( libs_algorithm_test_stable_partition stable_partition )
add_executable( libs_algorithm_test_stable_partition_copy stable_partition_copy.cpp )
set_target_properties( libs_algorithm_test_stable_partition_copy PROPERTIES OUTPUT_NAME "stable_partition_copy" )
add_test( libs_algorithm_test_stable_partition_copy stable_partition_copy )
add_executable( libs_algorithm_test_stable_sort stable_sort.cpp )
set_target_properties( libs_algorithm_test_stable_sort PROPERTIES OUTPUT_NAME "stable_sort" )
add_test( libs_algorithm_test_stable_sort stable_sort )
add_executable( libs_algorithm_test_swap_element swap_element.cpp )
set_target_properties( libs_algorithm_test_swap_element PROPERTIES OUTPUT_NAME "swap_element" )
add_test( libs_algorithm_test_swap_element swap_element )
add_executable( libs_algorithm_test_swap_element_copy swap_element_copy.cpp )
set_target_properties( libs_algorithm_test_swap_element_copy PROPERTIES OUTPUT_NAME "swap_element_copy" )
add_test( libs_algorithm_test_swap_element_copy swap_element_copy )
add_executable( libs_algorithm_test_transform transform.cpp )
set_target_properties( libs_algorithm_test_transform PROPERTIES OUTPUT_NAME "transform" )
add_test( libs_algorithm_test_transform transform )
add_executable( libs_algorithm_test_tristate_lexicographical_compare tristate_lexicographical_compare.cpp )
set_target_properties( libs_algorithm_test_tristate_lexicographical_compare PROPERTIES OUTPUT_NAME "tristate_lexicographical_compare" )
add_test( libs_algorithm_test_tristate_lexicographical_compare tristate_lexicographical_compare )
add_executable( libs_algorithm_test_unfold unfold.cpp )
set_target_properties( libs_algorithm_test_unfold PROPERTIES OUTPUT_NAME "unfold" )
add_test( libs_algorithm_test_unfold unfold )
add_executable( libs_algorithm_test_unfold_n unfold_n.cpp )
set_target_properties( libs_algorithm_test_unfold_n PROPERTIES OUTPUT_NAME "unfold_n" )
add_test( libs_algorithm_test_unfold_n unfold_n )
add_executable( libs_algorithm_test_unique unique.cpp )
set_target_properties( libs_algorithm_test_unique PROPERTIES OUTPUT_NAME "unique" )
add_test( libs_algorithm_test_unique unique )
add_executable( libs_algorithm_test_unique_copy unique_copy.cpp )
set_target_properties( libs_algorithm_test_unique_copy PROPERTIES OUTPUT_NAME "unique_copy" )
add_test( libs_algorithm_test_unique_copy unique_copy )
add_executable( libs_algorithm_test_upper_bound upper_bound.cpp )
set_target_properties( libs_algorithm_test_upper_bound PROPERTIES OUTPUT_NAME "upper_bound" )
add_test( libs_algorithm_test_upper_bound upper_bound )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,3 @@
add_executable( libs_array_test_array array.cpp )
set_target_properties( libs_array_test_array PROPERTIES OUTPUT_NAME "array" )
add_test( libs_array_test_array array )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,3 @@
add_executable( libs_bitset_test_bitset bitset.cpp )
set_target_properties( libs_bitset_test_bitset PROPERTIES OUTPUT_NAME "bitset" )
add_test( libs_bitset_test_bitset bitset )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,39 @@
add_executable( libs_cstring_test_cstring cstring.cpp )
set_target_properties( libs_cstring_test_cstring PROPERTIES OUTPUT_NAME "cstring" )
add_test( libs_cstring_test_cstring cstring )
add_executable( libs_cstring_test_memchr memchr.cpp )
set_target_properties( libs_cstring_test_memchr PROPERTIES OUTPUT_NAME "memchr" )
add_test( libs_cstring_test_memchr memchr )
add_executable( libs_cstring_test_memcmp memcmp.cpp )
set_target_properties( libs_cstring_test_memcmp PROPERTIES OUTPUT_NAME "memcmp" )
add_test( libs_cstring_test_memcmp memcmp )
add_executable( libs_cstring_test_strchr strchr.cpp )
set_target_properties( libs_cstring_test_strchr PROPERTIES OUTPUT_NAME "strchr" )
add_test( libs_cstring_test_strchr strchr )
add_executable( libs_cstring_test_strcmp strcmp.cpp )
set_target_properties( libs_cstring_test_strcmp PROPERTIES OUTPUT_NAME "strcmp" )
add_test( libs_cstring_test_strcmp strcmp )
add_executable( libs_cstring_test_strcoll strcoll.cpp )
set_target_properties( libs_cstring_test_strcoll PROPERTIES OUTPUT_NAME "strcoll" )
add_test( libs_cstring_test_strcoll strcoll )
add_executable( libs_cstring_test_strcspn strcspn.cpp )
set_target_properties( libs_cstring_test_strcspn PROPERTIES OUTPUT_NAME "strcspn" )
add_test( libs_cstring_test_strcspn strcspn )
add_executable( libs_cstring_test_strlen strlen.cpp )
set_target_properties( libs_cstring_test_strlen PROPERTIES OUTPUT_NAME "strlen" )
add_test( libs_cstring_test_strlen strlen )
add_executable( libs_cstring_test_strncmp strncmp.cpp )
set_target_properties( libs_cstring_test_strncmp PROPERTIES OUTPUT_NAME "strncmp" )
add_test( libs_cstring_test_strncmp strncmp )
add_executable( libs_cstring_test_strpbrk strpbrk.cpp )
set_target_properties( libs_cstring_test_strpbrk PROPERTIES OUTPUT_NAME "strpbrk" )
add_test( libs_cstring_test_strpbrk strpbrk )
add_executable( libs_cstring_test_strrchr strrchr.cpp )
set_target_properties( libs_cstring_test_strrchr PROPERTIES OUTPUT_NAME "strrchr" )
add_test( libs_cstring_test_strrchr strrchr )
add_executable( libs_cstring_test_strspn strspn.cpp )
set_target_properties( libs_cstring_test_strspn PROPERTIES OUTPUT_NAME "strspn" )
add_test( libs_cstring_test_strspn strspn )
add_executable( libs_cstring_test_strstr strstr.cpp )
set_target_properties( libs_cstring_test_strstr PROPERTIES OUTPUT_NAME "strstr" )
add_test( libs_cstring_test_strstr strstr )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,3 @@
add_executable( libs_optional_test_optional optional.cpp )
set_target_properties( libs_optional_test_optional PROPERTIES OUTPUT_NAME "optional" )
add_test( libs_optional_test_optional optional )

View file

@ -0,0 +1 @@
subdirs( test example )

View file

@ -0,0 +1,8 @@
add_executable( libs_random_example_array array.cpp )
set_target_properties( libs_random_example_array PROPERTIES OUTPUT_NAME "array" )
#add_executable( libs_random_example_distribution distribution.cpp )
#set_target_properties( libs_random_example_distribution PROPERTIES OUTPUT_NAME "distribution" )
#add_executable( libs_random_example_random random.cpp )
#set_target_properties( libs_random_example_random PROPERTIES OUTPUT_NAME "random" )
#add_executable( libs_random_example_seed seed.cpp )
#set_target_properties( libs_random_example_seed PROPERTIES OUTPUT_NAME "seed" )

View file

@ -0,0 +1,45 @@
add_executable( libs_random_test_additive_combine additive_combine.cpp )
set_target_properties( libs_random_test_additive_combine PROPERTIES OUTPUT_NAME "additive_combine" )
add_test( libs_random_test_additive_combine additive_combine )
add_executable( libs_random_test_bernoulli_distribution bernoulli_distribution.cpp )
set_target_properties( libs_random_test_bernoulli_distribution PROPERTIES OUTPUT_NAME "bernoulli_distribution" )
add_test( libs_random_test_bernoulli_distribution bernoulli_distribution )
add_executable( libs_random_test_binomial_distribution binomial_distribution.cpp )
set_target_properties( libs_random_test_binomial_distribution PROPERTIES OUTPUT_NAME "binomial_distribution" )
add_test( libs_random_test_binomial_distribution binomial_distribution )
add_executable( libs_random_test_geometric_distribution geometric_distribution.cpp )
set_target_properties( libs_random_test_geometric_distribution PROPERTIES OUTPUT_NAME "geometric_distribution" )
add_test( libs_random_test_geometric_distribution geometric_distribution )
add_executable( libs_random_test_inversive_congruential inversive_congruential.cpp )
set_target_properties( libs_random_test_inversive_congruential PROPERTIES OUTPUT_NAME "inversive_congruential" )
add_test( libs_random_test_inversive_congruential inversive_congruential )
add_executable( libs_random_test_linear_congruential linear_congruential.cpp )
set_target_properties( libs_random_test_linear_congruential PROPERTIES OUTPUT_NAME "linear_congruential" )
add_test( libs_random_test_linear_congruential linear_congruential )
#add_executable( libs_random_test_mersenne_twister mersenne_twister.cpp )
#set_target_properties( libs_random_test_mersenne_twister PROPERTIES OUTPUT_NAME "mersenne_twister" )
#add_test( libs_random_test_mersenne_twister mersenne_twister )
add_executable( libs_random_test_normal_distribution normal_distribution.cpp )
set_target_properties( libs_random_test_normal_distribution PROPERTIES OUTPUT_NAME "normal_distribution" )
add_test( libs_random_test_normal_distribution normal_distribution )
add_executable( libs_random_test_random random.cpp )
set_target_properties( libs_random_test_random PROPERTIES OUTPUT_NAME "random" )
add_test( libs_random_test_random random )
add_executable( libs_random_test_shuffle_order shuffle_order.cpp )
set_target_properties( libs_random_test_shuffle_order PROPERTIES OUTPUT_NAME "shuffle_order" )
add_test( libs_random_test_shuffle_order shuffle_order )
add_executable( libs_random_test_taus88 taus88.cpp )
set_target_properties( libs_random_test_taus88 PROPERTIES OUTPUT_NAME "taus88" )
add_test( libs_random_test_taus88 taus88 )
add_executable( libs_random_test_uniform_01 uniform_01.cpp )
set_target_properties( libs_random_test_uniform_01 PROPERTIES OUTPUT_NAME "uniform_01" )
add_test( libs_random_test_uniform_01 uniform_01 )
add_executable( libs_random_test_uniform_int_distribution uniform_int_distribution.cpp )
set_target_properties( libs_random_test_uniform_int_distribution PROPERTIES OUTPUT_NAME "uniform_int_distribution" )
add_test( libs_random_test_uniform_int_distribution uniform_int_distribution )
add_executable( libs_random_test_uniform_real_distribution uniform_real_distribution.cpp )
set_target_properties( libs_random_test_uniform_real_distribution PROPERTIES OUTPUT_NAME "uniform_real_distribution" )
add_test( libs_random_test_uniform_real_distribution uniform_real_distribution )
add_executable( libs_random_test_uniform_smallint uniform_smallint.cpp )
set_target_properties( libs_random_test_uniform_smallint PROPERTIES OUTPUT_NAME "uniform_smallint" )
add_test( libs_random_test_uniform_smallint uniform_smallint )

View file

@ -0,0 +1 @@
subdirs( test example )

View file

@ -0,0 +1,6 @@
add_executable( libs_string_example_c_str_to_sprout_string c_str_to_sprout_string.cpp )
set_target_properties( libs_string_example_c_str_to_sprout_string PROPERTIES OUTPUT_NAME "c_str_to_sprout_string" )
add_executable( libs_string_example_literals_to_string literals_to_string.cpp )
set_target_properties( libs_string_example_literals_to_string PROPERTIES OUTPUT_NAME "literals_to_string" )
add_executable( libs_string_example_simple simple.cpp )
set_target_properties( libs_string_example_simple PROPERTIES OUTPUT_NAME "simple" )

View file

@ -0,0 +1,3 @@
add_executable( libs_string_test_string string.cpp )
set_target_properties( libs_string_test_string PROPERTIES OUTPUT_NAME "string" )
add_test( libs_string_test_string string )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,3 @@
add_executable( libs_tuple_test_tuple tuple.cpp )
set_target_properties( libs_tuple_test_tuple PROPERTIES OUTPUT_NAME "tuple" )
add_test( libs_tuple_test_tuple tuple )

View file

@ -0,0 +1 @@
subdirs( string_ref )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,3 @@
add_executable( libs_utility_string_ref_test_string_ref string_ref.cpp )
set_target_properties( libs_utility_string_ref_test_string_ref PROPERTIES OUTPUT_NAME "string_ref" )
add_test( libs_utility_string_ref_test_string_ref string_ref )

View file

@ -0,0 +1 @@
subdirs( test )

View file

@ -0,0 +1,3 @@
add_executable( libs_variant_test_variant variant.cpp )
set_target_properties( libs_variant_test_variant PROPERTIES OUTPUT_NAME "variant" )
add_test( libs_variant_test_variant variant )

1
libs/weed/CMakeLists.txt Normal file
View file

@ -0,0 +1 @@
subdirs( example )

View file

@ -0,0 +1,4 @@
add_executable( libs_weed_example_as_tuple as_tuple.cpp )
set_target_properties( libs_weed_example_as_tuple PROPERTIES OUTPUT_NAME "as_tuple" )
add_executable( libs_weed_example_remove_space remove_space.cpp )
set_target_properties( libs_weed_example_remove_space PROPERTIES OUTPUT_NAME "remove_space" )

3
sprout/CMakeLists.txt Normal file
View file

@ -0,0 +1,3 @@
INSTALL( DIRECTORY ./
DESTINATION include/sprout/
FILES_MATCHING PATTERN "*.hpp" )

View file

@ -14,6 +14,7 @@
#include <sprout/iterator/operation.hpp> #include <sprout/iterator/operation.hpp>
#include <sprout/iterator/type_traits/category.hpp> #include <sprout/iterator/type_traits/category.hpp>
#include <sprout/utility/pair/pair.hpp> #include <sprout/utility/pair/pair.hpp>
#include <sprout/algorithm/count.hpp>
#include <sprout/algorithm/count_if.hpp> #include <sprout/algorithm/count_if.hpp>
namespace sprout { namespace sprout {

1
tools/CMakeLists.txt Normal file
View file

@ -0,0 +1 @@
subdirs( compost darkroom )

View file

@ -0,0 +1,6 @@
add_executable( tools_compost_wavconv wavconv.cpp )
set_target_properties( tools_compost_wavconv PROPERTIES OUTPUT_NAME "wavconv" )
install( TARGETS tools_compost_wavconv
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
)

View file

@ -0,0 +1,10 @@
if( OpenCV_FOUND )
include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${Boost_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} )
add_executable( tools_darkroom_texconv texconv.cpp )
target_link_libraries( tools_darkroom_texconv ${OpenCV_LDFLAGS} )
set_target_properties( tools_darkroom_texconv PROPERTIES OUTPUT_NAME "texconv" )
install( TARGETS tools_darkroom_texconv
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
)
endif( OpenCV_FOUND )

View file

@ -14,7 +14,7 @@
#include <opencv/cv.h> #include <opencv/cv.h>
#include <opencv/highgui.h> #include <opencv/highgui.h>
#include <opencv/cv.hpp> #include <opencv/cv.hpp>
#include <opencv/highgui.hpp> #include <opencv2/highgui/highgui.hpp>
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
if (argc < 2) { if (argc < 2) {