CTKGenerateCTKConfig.cmake 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. ###########################################################################
  2. #
  3. # Library: CTK
  4. #
  5. # Copyright (c) Kitware Inc.
  6. #
  7. # Licensed under the Apache License, Version 2.0 (the "License");
  8. # you may not use this file except in compliance with the License.
  9. # You may obtain a copy of the License at
  10. #
  11. # http://www.commontk.org/LICENSE
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS,
  15. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. # See the License for the specific language governing permissions and
  17. # limitations under the License.
  18. #
  19. ###########################################################################
  20. ###########################################################################
  21. #
  22. # Program: Visualization Toolkit
  23. # Module: vtkGenerateVTKConfig.cmake
  24. #
  25. # Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  26. #
  27. # All rights reserved.
  28. # See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
  29. #
  30. # This software is distributed WITHOUT ANY WARRANTY; without even
  31. # the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  32. # PURPOSE. See the above copyright notice for more information.
  33. #
  34. ###########################################################################
  35. #
  36. # Generate the CTKConfig.cmake file in the build tree. Also configure
  37. # one for installation. The file tells external projects how to use CTK.
  38. #
  39. # Construct version numbers for CTKConfigVersion.cmake.
  40. SET(_CTK_VERSION_MAJOR ${CTK_MAJOR_VERSION})
  41. SET(_CTK_VERSION_MINOR ${CTK_MINOR_VERSION})
  42. SET(_CTK_VERSION_PATCH ${CTK_BUILD_VERSION})
  43. # We use odd minor numbers for development versions.
  44. # Use a date for the development patch level.
  45. # IF("${_CTK_VERSION_MINOR}" MATCHES "[13579]$")
  46. # INCLUDE(${CTK_SOURCE_DIR}/Utilities/kwsys/kwsysDateStamp.cmake)
  47. # SET(_CTK_VERSION_PATCH
  48. # "${KWSYS_DATE_STAMP_YEAR}${KWSYS_DATE_STAMP_MONTH}${KWSYS_DATE_STAMP_DAY}"
  49. # )
  50. # ENDIF()
  51. #-----------------------------------------------------------------------------
  52. # Settings shared between the build tree and install tree.
  53. #-----------------------------------------------------------------------------
  54. # Settings specific to the build tree.
  55. # The install-only section is empty for the build tree.
  56. SET(CTK_CONFIG_INSTALL_ONLY)
  57. # The "use" file.
  58. SET(CTK_USE_FILE ${CTK_SUPERBUILD_BINARY_DIR}/UseCTK.cmake)
  59. # Export targets so they can be imported by a project using CTK
  60. # as an external library
  61. EXPORT(TARGETS ${CTK_LIBRARIES} ${CTK_PLUGIN_LIBRARIES} FILE ${CTK_SUPERBUILD_BINARY_DIR}/CTKExports.cmake)
  62. # Write a set of variables containing plugin specific include directories
  63. SET(CTK_PLUGIN_INCLUDE_DIRS_CONFIG)
  64. FOREACH(plugin ${CTK_PLUGIN_LIBRARIES})
  65. SET(${plugin}_INCLUDE_DIRS ${${plugin}_SOURCE_DIR} ${${plugin}_BINARY_DIR})
  66. ctkFunctionGetIncludeDirs(${plugin}_INCLUDE_DIRS ${plugin})
  67. SET(CTK_PLUGIN_INCLUDE_DIRS_CONFIG "${CTK_PLUGIN_INCLUDE_DIRS_CONFIG}
  68. SET(${plugin}_INCLUDE_DIRS \"${${plugin}_INCLUDE_DIRS}\")")
  69. ENDFOREACH()
  70. # Determine the include directories needed.
  71. SET(CTK_INCLUDE_DIRS_CONFIG
  72. ${CTK_BASE_INCLUDE_DIRS}
  73. )
  74. # Library directory.
  75. SET(CTK_LIBRARY_DIRS_CONFIG ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
  76. # External project libraries.
  77. SET(CTK_EXTERNAL_LIBRARIES_CONFIG ${CTK_EXTERNAL_LIBRARIES})
  78. # External project library directory.
  79. SET(CTK_EXTERNAL_LIBRARY_DIRS_CONFIG ${CTK_EXTERNAL_LIBRARY_DIRS})
  80. # Runtime library directory.
  81. SET(CTK_RUNTIME_LIBRARY_DIRS_CONFIG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
  82. # Binary executable directory.
  83. SET(CTK_EXECUTABLE_DIRS_CONFIG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
  84. # QtDesigner plugins directory
  85. SET(CTK_QTDESIGNERPLUGINS_DIR_CONFIG ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
  86. # PythonQt directory
  87. SET(CTK_PYTHONQT_INSTALL_DIR_CONFIG ${PYTHONQT_INSTALL_DIR})
  88. # Executable locations.
  89. # CMake extension module directory.
  90. SET(CTK_CMAKE_DIR_CONFIG ${CTK_CMAKE_DIR})
  91. SET(CTK_CMAKE_UTILITIES_DIR_CONFIG ${CTK_CMAKE_UTILITIES_DIR})
  92. # Build configuration information.
  93. SET(CTK_CONFIGURATION_TYPES_CONFIG ${CMAKE_CONFIGURATION_TYPES})
  94. SET(CTK_BUILD_TYPE_CONFIG ${CMAKE_BUILD_TYPE})
  95. #-----------------------------------------------------------------------------
  96. # Configure CTKConfig.cmake for the build tree.
  97. CONFIGURE_FILE(${CTK_SOURCE_DIR}/CTKConfig.cmake.in
  98. ${CTK_SUPERBUILD_BINARY_DIR}/CTKConfig.cmake @ONLY IMMEDIATE)
  99. CONFIGURE_FILE(${CTK_SOURCE_DIR}/CTKConfigVersion.cmake.in
  100. ${CTK_SUPERBUILD_BINARY_DIR}/CTKConfigVersion.cmake @ONLY IMMEDIATE)
  101. #-----------------------------------------------------------------------------
  102. # Settings specific to the install tree.
  103. #-----------------------------------------------------------------------------
  104. # Configure CTKConfig.cmake for the install tree.