You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

46 lines
2.0 KiB

  1. Include ( ExternalProject )
  2. Include ( FindPackageHandleStandardArgs )
  3. Set ( CPPUTILS_PATH ${CMAKE_BINARY_DIR}/extern/cpputils )
  4. If ( NOT TARGET cpputils_extern )
  5. ExternalProject_Add ( cpputils_extern
  6. PREFIX ${CPPUTILS_PATH}
  7. TMP_DIR ${CPPUTILS_PATH}/tmp
  8. STAMP_DIR ${CPPUTILS_PATH}/stamp
  9. SOURCE_DIR ${CPPUTILS_PATH}/src
  10. BINARY_DIR ${CPPUTILS_PATH}/build
  11. INSTALL_DIR ${CPPUTILS_PATH}/install
  12. GIT_REPOSITORY "https://git.bergmann89.de/cpp/cpputils.git"
  13. GIT_TAG "master"
  14. TEST_COMMAND make test
  15. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
  16. -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
  17. -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
  18. -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
  19. -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH})
  20. EndIf ( )
  21. Set ( CPPUTILS_LIBRARY ${CPPUTILS_PATH}/install/lib/libcpputils.so )
  22. Set ( CPPUTILS_INCLUDE_DIR ${CPPUTILS_PATH}/install/include )
  23. Set ( CPPUTILS_LIBRARIES ${CPPUTILS_LIBRARY} )
  24. Set ( CPPUTILS_INCLUDE_DIRS ${CPPUTILS_INCLUDE_DIR} )
  25. File ( MAKE_DIRECTORY ${CPPUTILS_INCLUDE_DIR} )
  26. Find_Package_Handle_Standard_Args ( cpputils DEFAULT_MSG
  27. CPPUTILS_LIBRARY
  28. CPPUTILS_INCLUDE_DIR )
  29. If ( NOT TARGET cpputils )
  30. Add_Library ( cpputils SHARED IMPORTED )
  31. Add_Dependencies ( cpputils cpputils_extern )
  32. Set_Property ( TARGET cpputils
  33. PROPERTY IMPORTED_LOCATION ${CPPUTILS_LIBRARY} )
  34. Set_Property ( TARGET cpputils
  35. PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CPPUTILS_INCLUDE_DIRS} )
  36. Install ( FILES ${CPPUTILS_LIBRARY} DESTINATION lib )
  37. If ( CPPMARIADB_INSTALL_DEV_FILES )
  38. Install ( DIRECTORY ${CPPUTILS_INCLUDE_DIR}/ DESTINATION include )
  39. EndIf ( )
  40. EndIf ( )