CMakeLists.txt 1.23 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
find_package(Git QUIET)
if (GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
# Update submodules as needed
  option(GIT_SUBMODULE "Check submodules during build" ON)
  if (GIT_SUBMODULE)
    execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
                    RESULT_VARIABLE GIT_SUBMOD_RESULT)
    if(NOT GIT_SUBMOD_RESULT EQUAL "0")
      message(FATAL_ERROR "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
    endif()
  endif()
endif()

if (NOT EXISTS "${PROJECT_SOURCE_DIR}/externals/fmt/CMakeLists.txt")
  message(FATAL_ERROR "The submodules were not downloaded! GIT_SUBMODULE was turned off or failed. Please update submodules and try again.")
endif()


20
dune_library_add_sources(fmt SOURCES
21
  fmt/src/format.cc
22 23 24 25 26
  fmt/src/posix.cc
)

target_include_directories(fmt PUBLIC
  $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/externals/fmt/include>)
27 28 29 30 31 32 33 34 35 36 37

install(FILES
  fmt/include/fmt/core.h
  fmt/include/fmt/format-inl.h
  fmt/include/fmt/format.h
  fmt/include/fmt/ostream.h
  fmt/include/fmt/posix.h
  fmt/include/fmt/printf.h
  fmt/include/fmt/ranges.h
  fmt/include/fmt/time.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fmt)