[A] Add test for add_subdirectory

This commit is contained in:
seleznevae 2020-02-23 09:09:32 +03:00
parent 90265dd628
commit 594cbe83c7
4 changed files with 86 additions and 0 deletions

View File

@ -271,6 +271,20 @@ script:
- rm -rf _install_foo
- cd ../../build
# Test subdirectory
- cd ..
- rm -r build/*
- mkdir build
- ln -s `pwd` tests/add_subdirectory_tests/libfort
- cd tests/add_subdirectory_tests/
- cmake -H. -B_build -DCMAKE_C_STANDARD=99 -DCMAKE_CXX_STANDARD=11 -DCMAKE_INSTALL_PREFIX=./_install_foo
- cmake --build _build -- -j3
- ./_build/foo-app
- cmake --build _build -- install
- rm -rf _build
- rm -rf _install_foo
- cd ../../build
# Build for coveralls (should be the last)
- |
if [ "${CC}" = 'gcc' ]; then

View File

@ -0,0 +1,43 @@
cmake_minimum_required(VERSION 3.0)
project(foo)
add_subdirectory(libfort)
# Create target that depend on libfort and check they'll compile ok
add_executable(foo-app
foo-app.cpp)
target_link_libraries(foo-app
PRIVATE fort
)
add_library(foo-lib
foo-lib.cpp)
target_link_libraries(foo-lib
PRIVATE fort)
add_library(foo-lib-shared SHARED
foo-lib.cpp)
target_link_libraries(foo-lib-shared
PRIVATE fort)
include(GNUInstallDirs)
install(
TARGETS foo-lib foo-lib-shared
EXPORT ${PROJECT_NAME}-targets
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
include(CMakePackageConfigHelpers)
install(
EXPORT ${PROJECT_NAME}-targets
FILE ${PROJECT_NAME}-targets.cmake
NAMESPACE ${PROJECT_NAME}::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)

View File

@ -0,0 +1,16 @@
#include <iostream>
#include "fort.hpp"
int main()
{
fort::char_table table;
table << fort::header
<< "N" << "Driver" << "Time" << "Avg Speed" << fort::endr
<< "1" << "Ricciardo" << "1:25.945" << "47.362" << fort::endr
<< "2" << "Hamilton" << "1:26.373" << "35.02" << fort::endr
<< "3" << "Verstappen" << "1:26.469" << "29.78" << fort::endr;
std::cout << table.to_string() << std::endl;
}

View File

@ -0,0 +1,13 @@
#include "fort.hpp"
std::string print_string()
{
fort::char_table table;
table << fort::header
<< "N" << "Driver" << "Time" << "Avg Speed" << fort::endr
<< "1" << "Ricciardo" << "1:25.945" << "47.362" << fort::endr
<< "2" << "Hamilton" << "1:26.373" << "35.02" << fort::endr
<< "3" << "Verstappen" << "1:26.469" << "29.78" << fort::endr;
return table.to_string();
}