25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.9 KiB

  1. # Initialize ######################################################################################
  2. Include ( cotire OPTIONAL )
  3. Include ( pedantic OPTIONAL )
  4. Include ( strip_symbols OPTIONAL )
  5. Include ( ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/options.cmake )
  6. Set ( BUILD_SHARED_LIBS ${CPPUTILS_BUILD_SHARED} )
  7. Set ( CMAKE_CXX_STANDARD 17 )
  8. Set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PEDANTIC_C_FLAGS}" )
  9. Set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PEDANTIC_CXX_FLAGS}" )
  10. # Project: cpputils ###############################################################################
  11. # Build
  12. Project ( cpputils VERSION 1.0.0.0 LANGUAGES CXX )
  13. Set ( CPPUTILS_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include )
  14. File ( GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp )
  15. Add_Library ( cpputils ${SOURCE_FILES} )
  16. Target_Include_Directories ( cpputils
  17. PUBLIC ${CPPUTILS_INCLUDE_DIR} )
  18. # Install
  19. If ( BUILD_SHARED_LIBS OR CPPUTILS_INSTALL_DEV_FILES )
  20. Install ( TARGETS cpputils DESTINATION lib )
  21. EndIf ( )
  22. If ( CPPUTILS_INSTALL_DEV_FILES )
  23. Install ( DIRECTORY ${CPPUTILS_INCLUDE_DIR}/cpputils DESTINATION include )
  24. Install ( DIRECTORY ${CPPUTILS_INCLUDE_DIR}/nlohmann DESTINATION include )
  25. EndIf ( )
  26. # Optimize
  27. If ( __COTIRE_INCLUDED )
  28. Cotire ( cpputils )
  29. EndIf ( )
  30. If ( __STRIP_SYMBOLS_INCLUDED AND BUILD_SHARED_LIBS )
  31. Strip_Symbols ( cpputils DBG_FILE )
  32. EndIf ()