[A] Add test for add_subdirectory
This commit is contained in:
parent
90265dd628
commit
594cbe83c7
14
.travis.yml
14
.travis.yml
@ -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
|
||||
|
43
tests/add_subdirectory_tests/CMakeLists.txt
Normal file
43
tests/add_subdirectory_tests/CMakeLists.txt
Normal 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}
|
||||
)
|
||||
|
16
tests/add_subdirectory_tests/foo-app.cpp
Normal file
16
tests/add_subdirectory_tests/foo-app.cpp
Normal 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;
|
||||
}
|
13
tests/add_subdirectory_tests/foo-lib.cpp
Normal file
13
tests/add_subdirectory_tests/foo-lib.cpp
Normal 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();
|
||||
}
|
Loading…
Reference in New Issue
Block a user