QtSOAP.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #
  2. # QtSOAP
  3. #
  4. SET(QtSOAP_DEPENDS)
  5. ctkMacroShouldAddExternalProject(QTSOAP_LIBRARY add_project)
  6. IF(${add_project})
  7. # Sanity checks
  8. IF(DEFINED QtSOAP_DIR AND NOT EXISTS ${QtSOAP_DIR})
  9. MESSAGE(FATAL_ERROR "QtSOAP_DIR variable is defined but corresponds to non-existing directory")
  10. ENDIF()
  11. SET(QtSOAP_enabling_variable QTSOAP_LIBRARY)
  12. SET(proj QtSOAP)
  13. SET(proj_DEPENDENCIES)
  14. SET(QtSOAP_DEPENDS ${proj})
  15. IF(NOT DEFINED QtSOAP_DIR)
  16. IF(WIN32)
  17. SET(_qtsoap_url "${CTK_SOURCE_DIR}/Utilities/QtSOAP/qtsoap-2.7_1-opensource-win32.tar.gz")
  18. SET(_make_cmd nmake)
  19. IF(MINGW)
  20. SET(_make_cmd mingw32-make)
  21. ENDIF()
  22. ELSE()
  23. SET(_qtsoap_url "http://get.qt.nokia.com/qt/solutions/lgpl/qtsoap-2.7_1-opensource.tar.gz")
  24. SET(_make_cmd make)
  25. ENDIF()
  26. SET(_qtsoap_patch_script "${CTK_BINARY_DIR}/Utilities/QtSOAP/AcceptLicense.cmake")
  27. CONFIGURE_FILE("${CTK_SOURCE_DIR}/Utilities/QtSOAP/AcceptLicense.cmake.in" ${_qtsoap_patch_script} @ONLY)
  28. SET(_qtsoap_build_script "${CTK_BINARY_DIR}/Utilities/QtSOAP/BuildScript.cmake")
  29. CONFIGURE_FILE("${CTK_SOURCE_DIR}/Utilities/QtSOAP/BuildScript.cmake.in" ${_qtsoap_build_script} @ONLY)
  30. SET(_qtsoap_install_script "${CTK_BINARY_DIR}/Utilities/QtSOAP/InstallScript.cmake")
  31. CONFIGURE_FILE("${CTK_SOURCE_DIR}/Utilities/QtSOAP/InstallScript.cmake.in" ${_qtsoap_install_script} @ONLY)
  32. ExternalProject_Add(${proj}
  33. URL ${_qtsoap_url}
  34. PATCH_COMMAND ${CMAKE_COMMAND} -P ${_qtsoap_patch_script}
  35. CONFIGURE_COMMAND <SOURCE_DIR>/configure -library
  36. BUILD_IN_SOURCE 1
  37. BUILD_COMMAND ${CMAKE_COMMAND} -P ${_qtsoap_build_script}
  38. INSTALL_COMMAND ${CMAKE_COMMAND} -D INTERMEDIATE_DIRECTORY:STRING=$(IntDir) -P ${_qtsoap_install_script}
  39. )
  40. SET(QtSOAP_DIR "${CTK_BINARY_DIR}/Utilities/QtSOAP/")
  41. ELSE()
  42. ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
  43. ENDIF()
  44. SET(${QtSOAP_enabling_variable}_INCLUDE_DIRS QTSOAP_INCLUDE_DIR)
  45. SET(${QtSOAP_enabling_variable}_FIND_PACKAGE_CMD QtSOAP)
  46. ENDIF()