Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

43 рядки
2.4 KiB

  1. # Initialize ######################################################################################
  2. Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE )
  3. Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC )
  4. Include ( strip_symbols OPTIONAL RESULT_VARIABLE HAS_STRIP_SYMBOLS )
  5. # Interface Library ###############################################################################
  6. If ( "${CPPCORE_CONVERT_CAST}" STREQUAL "abort" )
  7. Set ( CPPCORE_CONVERT_CAST_ABORT 1 )
  8. ElseIf ( "${CPPCORE_CONVERT_CAST}" STREQUAL "throw" )
  9. Set ( CPPCORE_CONVERT_CAST_THROW 1 )
  10. EndIf ( )
  11. Set ( CPPCORE_GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated )
  12. Configure_File ( ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/config.h.in
  13. ${CPPCORE_GENERATED_INCLUDE_DIR}/cppcore/config.h )
  14. Set ( CPPCORE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include )
  15. Add_Library ( cppcore INTERFACE )
  16. Target_Include_Directories ( cppcore
  17. INTERFACE
  18. $<BUILD_INTERFACE:${CPPCORE_INCLUDE_DIR}>
  19. $<BUILD_INTERFACE:${CPPCORE_GENERATED_INCLUDE_DIR}>
  20. $<INSTALL_INTERFACE:${CPPCORE_INSTALL_DIR_INCLUDE}> )
  21. # Install #########################################################################################
  22. Set ( CPPCORE_HAS_EXPORT False PARENT_SCOPE )
  23. # Header
  24. If ( CPPCORE_INSTALL_HEADER )
  25. Set ( CPPCORE_HAS_EXPORT True PARENT_SCOPE )
  26. Install ( FILES ${CPPCORE_INCLUDE_DIR}/cppcore.h
  27. DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
  28. Install ( DIRECTORY ${CPPCORE_INCLUDE_DIR}/cppcore
  29. DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
  30. Install ( DIRECTORY ${CPPCORE_GENERATED_INCLUDE_DIR}/cppcore
  31. DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
  32. Install ( TARGETS cppcore
  33. EXPORT cppcore
  34. DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
  35. EndIf ( )