CMakeLists.txt 2.09 KB
Newer Older
1 2 3 4 5 6
project (project_mtapi_cpp)

file(GLOB_RECURSE EMBB_MTAPI_CPP_SOURCES "src/*.cc" "src/*.h")
file(GLOB_RECURSE EMBB_MTAPI_CPP_HEADERS "include/*.h")
file(GLOB_RECURSE EMBB_MTAPI_CPP_TEST_SOURCES "test/*.cc" "test/*.h")

7 8 9 10 11 12 13 14 15 16 17 18
if (USE_AUTOMATIC_INITIALIZATION STREQUAL ON)
  message("-- Automatic initialization enabled (default)")
  set(MTAPI_CPP_AUTOMATIC_INITIALIZE 1)
else()
  set(MTAPI_CPP_AUTOMATIC_INITIALIZE 0)
  message("-- Automatic initialization disabled")
endif()
message("   (set with command line option -DUSE_AUTOMATIC_INITIALIZATION=ON/OFF)")

configure_file("include/embb/mtapi/internal/cmake_config.h.in"
               "include/embb/mtapi/internal/cmake_config.h")

19
# Execute the GroupSources macro
20
include(${CMAKE_SOURCE_DIR}/CMakeCommon/GroupSourcesMSVC.cmake)
21 22 23 24 25 26
GroupSourcesMSVC(include)
GroupSourcesMSVC(src)
GroupSourcesMSVC(test)

set (EMBB_MTAPI_CPP_INCLUDE_DIRS "include" "src" "test")
include_directories(${EMBB_MTAPI_CPP_INCLUDE_DIRS}
27
                    ${CMAKE_CURRENT_BINARY_DIR}/include
28 29 30 31
                    ${CMAKE_CURRENT_SOURCE_DIR}/../base_c/include
                    ${CMAKE_CURRENT_BINARY_DIR}/../base_c/include
                    ${CMAKE_CURRENT_SOURCE_DIR}/../base_cpp/include
                    ${CMAKE_CURRENT_BINARY_DIR}/../base_cpp/include
32
                    ${CMAKE_CURRENT_SOURCE_DIR}/../mtapi_c/include)
33 34 35 36 37 38 39 40 41 42 43 44 45 46

add_library (embb_mtapi_cpp ${EMBB_MTAPI_CPP_SOURCES} ${EMBB_MTAPI_CPP_HEADERS})
target_link_libraries(embb_mtapi_cpp embb_mtapi_c)

if (BUILD_TESTS STREQUAL ON)
  include_directories(${CMAKE_CURRENT_BINARY_DIR}/../partest/include)
  add_executable (embb_mtapi_cpp_test ${EMBB_MTAPI_CPP_TEST_SOURCES})
  target_link_libraries(embb_mtapi_cpp_test embb_mtapi_cpp embb_mtapi_c partest 
                        embb_base_cpp embb_base_c ${compiler_libs})
  CopyBin(BIN embb_mtapi_cpp_test DEST ${local_install_dir})
endif()

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
        DESTINATION include FILES_MATCHING PATTERN "*.h")
47 48
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
        DESTINATION include FILES_MATCHING PATTERN "*.h")
49
install(TARGETS embb_mtapi_cpp DESTINATION lib)