Split cmake files between directories
This commit is contained in:
parent
226dfdbc02
commit
9bec46cc1f
@ -7,25 +7,14 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
find_package(Boost CONFIG COMPONENTS unit_test_framework REQUIRED)
|
||||
|
||||
add_library(backend
|
||||
add_library(katja
|
||||
katja/database.cpp include/katja/database.hpp
|
||||
katja/sbo.cpp include/katja/sbo.hpp
|
||||
katja/repository.cpp include/katja/repository.hpp
|
||||
)
|
||||
target_include_directories(backend PRIVATE include ${Boost_INCLUDE_DIR})
|
||||
|
||||
add_executable(katja cli/main.cpp)
|
||||
target_include_directories(katja PRIVATE include ${Boost_INCLUDE_DIR})
|
||||
target_link_libraries(katja LINK_PUBLIC backend)
|
||||
include_directories(include ${Boost_INCLUDE_DIR})
|
||||
|
||||
add_subdirectory(cli)
|
||||
if(BUILD_TESTING)
|
||||
add_executable(tester tests/tester.cpp)
|
||||
|
||||
target_include_directories(tester PRIVATE include ${Boost_INCLUDE_DIR})
|
||||
target_compile_definitions(tester PRIVATE "BOOST_TEST_DYN_LINK=1")
|
||||
target_link_libraries(tester LINK_PRIVATE backend Boost::unit_test_framework)
|
||||
|
||||
add_test(NAME tester COMMAND tester)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
4
cli/CMakeLists.txt
Normal file
4
cli/CMakeLists.txt
Normal file
@ -0,0 +1,4 @@
|
||||
add_executable(katja-cli main.cpp)
|
||||
target_include_directories(katja-cli PRIVATE ${Boost_INCLUDE_DIR})
|
||||
target_link_libraries(katja-cli LINK_PUBLIC katja)
|
||||
set_target_properties(katja-cli PROPERTIES RUNTIME_OUTPUT_NAME katja)
|
@ -45,7 +45,7 @@ namespace katja
|
||||
|
||||
database_package::database_package(std::string&& name, std::string&& version,
|
||||
std::string&& architecture, std::string&& build_tag)
|
||||
: name(name), version(version), architecture(version), build_tag(build_tag)
|
||||
: name(name), version(version), architecture(architecture), build_tag(build_tag)
|
||||
{
|
||||
}
|
||||
|
||||
|
15
tests/CMakeLists.txt
Normal file
15
tests/CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
||||
find_package(Boost CONFIG COMPONENTS unit_test_framework REQUIRED)
|
||||
|
||||
file(GLOB KATJA_TEST_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
|
||||
|
||||
foreach(test_source ${KATJA_TEST_SOURCES})
|
||||
get_filename_component(test_name ${test_source} NAME_WE)
|
||||
set(tester ${test_name}-tester)
|
||||
|
||||
add_executable(${tester} ${test_source})
|
||||
|
||||
target_compile_definitions(${tester} PRIVATE "BOOST_TEST_DYN_LINK=1")
|
||||
target_link_libraries(${tester} LINK_PRIVATE katja Boost::unit_test_framework)
|
||||
|
||||
add_test(NAME ${test_name} COMMAND ${tester})
|
||||
endforeach()
|
14
tests/database.cpp
Normal file
14
tests/database.cpp
Normal file
@ -0,0 +1,14 @@
|
||||
#define BOOST_TEST_MODULE database tests
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "katja/database.hpp"
|
||||
|
||||
BOOST_AUTO_TEST_CASE(generate_package_identifier)
|
||||
{
|
||||
katja::database_package actual("libarchive-3.7.8-i586-1_slack15.0");
|
||||
|
||||
BOOST_TEST(actual.name == "libarchive");
|
||||
BOOST_TEST(actual.version == "3.7.8");
|
||||
BOOST_TEST(actual.architecture == "i586");
|
||||
BOOST_TEST(actual.build_tag == "1_slack15.0");
|
||||
}
|
13
tests/repository.cpp
Normal file
13
tests/repository.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
#define BOOST_TEST_MODULE repository tests
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "katja/repository.hpp"
|
||||
|
||||
BOOST_AUTO_TEST_CASE(construct_valid_database_package)
|
||||
{
|
||||
katja::package_identifier given{ "libarchive", "3.7.8", "i586", "slackware" };
|
||||
std::string actual = given.to_string();
|
||||
std::string expected = "libarchive;3.7.8;i586;slackware";
|
||||
|
||||
BOOST_TEST(actual == expected);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#define BOOST_TEST_MODULE unit tests
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "katja/repository.hpp"
|
||||
|
||||
BOOST_AUTO_TEST_CASE(construct_valid_database_package)
|
||||
{
|
||||
BOOST_TEST(true);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user