Advertisement
Guest User

Untitled

a guest
Oct 11th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 2.05 KB | None | 0 0
  1. cmake_minimum_required(VERSION 3.4)
  2. project(Library)
  3.  
  4. #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  5.  
  6. set(SOURCE_FILES
  7.     include/model/Address.h
  8.     include/model/Client.h
  9.     src/model/Client.cpp
  10.     src/model/Address.cpp
  11. )
  12.  
  13. add_library(Library ${SOURCE_FILES})
  14.  
  15. #add 'include' directory with header files from 'Library' project to paths
  16. target_include_directories(Library PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
  17.  
  18. #Unit Tests section
  19.  
  20. # Check if generating Visual Studio 14 2015 project
  21. if(MSVC)
  22.     if(NOT BOOST_ROOT)
  23.         set(BOOST_ROOT "C:/local/boost_1_60_0")
  24.     endif()
  25.     set(Boost_INCLUDE_DIR "${BOOST_ROOT}")
  26.     set(Boost_LIBRARY_DIR "${BOOST_ROOT}/lib32-msvc-14.0")
  27.     set(Boost_USE_STATIC_LIBS ON)
  28.     set(Boost_USE_MULTITHREADED ON)
  29.  
  30.     if(NOT EXISTS ${Boost_LIBRARY_DIR})
  31.         message(WARNING "Boost library requires manual installation in Windows")
  32.         message("1) Browse: https://sourceforge.net/projects/boost/files/boost-binaries/1.60.0/")
  33.         message("2) Download: boost_1_60_0-msvc-14.0-32.exe")
  34.         message("3) Install into default directory: C:\\local")
  35.         message("")
  36.         message(FATAL_ERROR "Boost libraries not found at ${Boost_LIBRARY_DIR}")
  37.     endif()
  38.  
  39.     find_package(Boost COMPONENTS unit_test_framework REQUIRED)
  40.  
  41.     include_directories(${Boost_INCLUDE_DIR})
  42.     link_directories(${Boost_LIBRARY_DIR})
  43.  
  44. else()
  45.     find_package(Boost COMPONENTS unit_test_framework REQUIRED)
  46. endif()
  47.  
  48. set(SOURCE_TEST_FILES
  49.         test/master.cpp
  50.         test/StudentTest.cpp
  51.         )
  52.  
  53. include_directories(
  54.         ${CMAKE_CURRENT_SOURCE_DIR}/include
  55.         ${Boost_INCLUDE_DIRS}
  56. )
  57.  
  58. add_executable (Test ${SOURCE_TEST_FILES})
  59.  
  60. target_link_libraries (Test
  61.         Library
  62.         ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
  63.         )
  64.  
  65. add_custom_target(check ${CMAKE_COMMAND} -E env CTEST_OUTPUT_ON_FAILURE=1 BOOST_TEST_LOG_LEVEL=all
  66.         ${CMAKE_CTEST_COMMAND} -C $<CONFIG> --verbose
  67.         WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
  68.  
  69. enable_testing()
  70. add_test(LibraryTest Test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement