polybar-dwm/tests/CMakeLists.txt
infokiller fb6e874235 feat(label): Add minlen with alignment (#1546)
* Add label minlen and alignment.

Fix build

* Update src/drawtypes/label.cpp

Co-Authored-By: infokiller <infokiller@users.noreply.github.com>

* Use existing alignment type.

* Remove redundant max_len handling in label::get.

* Fix shadowing.

* Add label alignment tests.

* Handle minlen/maxlen and alignment in same function.

Also add a test for a test case brought up in the PR discussion.

* Format files with clang-format

* Move builder::get_label_text tests into label tests

builder::get_label_text doesn't really do anything anymore

* builder: remove get_label_text

* label: Clean up label::get()

* Fix comment style.

* Set default label alignment to left.

* Update src/drawtypes/label.cpp

Co-Authored-By: Patrick Ziegler <p.ziegler96@gmail.com>

* Update include/drawtypes/label.hpp

Co-Authored-By: Patrick Ziegler <p.ziegler96@gmail.com>
2019-12-01 01:28:41 +01:00

67 lines
2.0 KiB
CMake

include_directories(${dirs})
include_directories(${CMAKE_CURRENT_LIST_DIR})
# Download and unpack googletest at configure time {{{
configure_file(
CMakeLists.txt.in
${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt
)
execute_process( COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download)
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
endif()
# Add googletest directly to our build. This defines
# the gtest, gtest_main, gmock and gmock_main targets.
add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src
${CMAKE_BINARY_DIR}/googletest-build
EXCLUDE_FROM_ALL)
# }}}
# Compile all unit tests with 'make all_unit_tests'
add_custom_target(all_unit_tests
COMMENT "Building all unit test")
function(add_unit_test source_file)
string(REPLACE "/" "_" testname ${source_file})
set(name "unit_test.${testname}")
add_executable(${name} unit_tests/${source_file}.cpp)
# Link against gmock (this automatically links against gtest)
target_link_libraries(${name} poly gmock_main)
add_test(NAME ${name} COMMAND ${name})
add_dependencies(all_unit_tests ${name})
endfunction()
add_unit_test(utils/color)
add_unit_test(utils/math unit_tests)
add_unit_test(utils/memory unit_tests)
add_unit_test(utils/scope unit_tests)
add_unit_test(utils/string unit_tests)
add_unit_test(utils/file)
add_unit_test(components/command_line)
add_unit_test(components/bar)
add_unit_test(components/parser)
add_unit_test(components/config_parser)
add_unit_test(drawtypes/label)
# Run make check to build and run all unit tests
add_custom_target(check
COMMAND GTEST_COLOR=1 ctest --output-on-failure
DEPENDS all_unit_tests
)