diff --git a/CMake/VTKmConfig.cmake.in b/CMake/VTKmConfig.cmake.in index 7841ab8265e48b4f8e4ba65836a831b8fe5368b0..97e9547fc09421b7ea2554afb0bdf3f0df4ee24f 100755 --- a/CMake/VTKmConfig.cmake.in +++ b/CMake/VTKmConfig.cmake.in @@ -37,7 +37,6 @@ cmake_minimum_required(VERSION 3.3 FATAL_ERROR) @PACKAGE_INIT@ - # The VTKm version number set(VTKm_VERSION_MAJOR "@VTKm_VERSION_MAJOR@") set(VTKm_VERSION_MINOR "@VTKm_VERSION_MINOR@") @@ -46,20 +45,23 @@ set(VTKm_VERSION_FULL "@VTKm_VERSION_FULL@") set(VTKm_VERSION "@VTKm_VERSION@") # This is true when the package is still in the build directory (not installed) -if(CMAKE_CURRENT_LIST_DIR STREQUAL "@VTKm_BINARY_DIR@/@VTKm_INSTALL_CONFIG_DIR@") +if(CMAKE_CURRENT_LIST_DIR STREQUAL "@VTKm_BINARY_DIR@") set(VTKm_PACKAGE_IN_BUILD TRUE) endif() +if(VTKm_PACKAGE_IN_BUILD) + set(PACKAGE_PREFIX_DIR ${CMAKE_CURRENT_LIST_DIR}) +endif() # The VTKm include file directories. set_and_check(VTKm_INCLUDE_DIRS "@PACKAGE_VTKm_INSTALL_INCLUDE_DIR@") if(VTKm_PACKAGE_IN_BUILD) - set(VTKm_INCLUDE_DIRS ${VTKm_INCLUDE_DIRS} "@VTKm_SOURCE_DIR@") + list(APPEND VTKm_INCLUDE_DIRS "@VTKm_SOURCE_DIR@") endif() -if(NOT VTKm_PACKAGE_IN_BUILD) - set_and_check(VTKm_CMAKE_MODULE_PATH "@PACKAGE_VTKm_INSTALL_CMAKE_MODULE_DIR@") -else() +if(VTKm_PACKAGE_IN_BUILD) set_and_check(VTKm_CMAKE_MODULE_PATH "@VTKm_SOURCE_DIR@/CMake") +else() + set_and_check(VTKm_CMAKE_MODULE_PATH "@PACKAGE_VTKm_INSTALL_CMAKE_DIR@") endif() set(VTKm_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@") @@ -70,9 +72,8 @@ set(VTKm_ENABLE_OSMESA "@VTKm_ENABLE_OSMESA@") set(VTKm_ENABLE_RENDERING "@VTKm_ENABLE_RENDERING@") # Load the library exports, but only if not compiling VTK-m itself -set_and_check(VTKm_CONFIG_DIR "@PACKAGE_VTKm_INSTALL_CONFIG_DIR@") if(NOT "${CMAKE_BINARY_DIR}" STREQUAL "@VTKm_BINARY_DIR@") - include(${VTKm_CONFIG_DIR}/VTKmTargets.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/VTKmTargets.cmake) endif() # Clear out the libraries. We will add more when loading components. diff --git a/CMakeLists.txt b/CMakeLists.txt index 5fe2f7f7ec35d391b19d9a9fcad85d3e8fbe09c1..b12bb3cc2058e2c5af7342fbfd4a56469fe84e3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,10 +28,15 @@ cmake_minimum_required(VERSION 3.3) project (VTKm) set(VTKm_INSTALL_INCLUDE_DIR "include") -set(VTKm_INSTALL_CONFIG_DIR "lib") set(VTKm_INSTALL_LIB_DIR "lib") set(VTKm_INSTALL_BIN_DIR "bin") -set(VTKm_INSTALL_CMAKE_MODULE_DIR "share/vtkm/cmake") +set(VTKm_INSTALL_CONFIG_DIR "share/VTKm") + +if (WIN32) + set(VTKm_INSTALL_CMAKE_DIR "cmake") +else() + set(VTKm_INSTALL_CMAKE_DIR "share/VTKm/cmake") +endif() set(VTKm_EXPORT_NAME "VTKmTargets") @@ -255,25 +260,25 @@ endforeach()" ) configure_package_config_file( ${VTKm_SOURCE_DIR}/CMake/VTKmConfig.cmake.in - ${VTKm_BINARY_DIR}/${VTKm_INSTALL_CONFIG_DIR}/VTKmConfig.cmake - INSTALL_DESTINATION ${VTKm_INSTALL_CONFIG_DIR} + ${VTKm_BINARY_DIR}/VTKmConfig.cmake + INSTALL_DESTINATION ${VTKm_INSTALL_CMAKE_DIR} PATH_VARS VTKm_INSTALL_INCLUDE_DIR - VTKm_INSTALL_CONFIG_DIR VTKm_INSTALL_LIB_DIR VTKm_INSTALL_BIN_DIR - VTKm_INSTALL_CMAKE_MODULE_DIR + VTKm_INSTALL_CONFIG_DIR + VTKm_INSTALL_CMAKE_DIR ) write_basic_package_version_file( - ${VTKm_BINARY_DIR}/${VTKm_INSTALL_CONFIG_DIR}/VTKmConfigVersion.cmake + ${VTKm_BINARY_DIR}/VTKmConfigVersion.cmake VERSION ${VTKm_VERSION} COMPATIBILITY ExactVersion ) install( FILES - ${VTKm_BINARY_DIR}/${VTKm_INSTALL_CONFIG_DIR}/VTKmConfig.cmake - ${VTKm_BINARY_DIR}/${VTKm_INSTALL_CONFIG_DIR}/VTKmConfigVersion.cmake - DESTINATION ${VTKm_INSTALL_CONFIG_DIR} + ${VTKm_BINARY_DIR}/VTKmConfig.cmake + ${VTKm_BINARY_DIR}/VTKmConfigVersion.cmake + DESTINATION ${VTKm_INSTALL_CMAKE_DIR} ) # Install the readme and license files. @@ -295,7 +300,7 @@ install( ${VTKm_SOURCE_DIR}/CMake/FindMESA.cmake ${VTKm_SOURCE_DIR}/CMake/FindTBB.cmake ${VTKm_SOURCE_DIR}/CMake/FindThrust.cmake - DESTINATION ${VTKm_INSTALL_CMAKE_MODULE_DIR} + DESTINATION ${VTKm_INSTALL_CMAKE_DIR} ) # Install support files. @@ -306,16 +311,16 @@ install( ${VTKm_SOURCE_DIR}/CMake/VTKmCompilerOptimizations.cmake ${VTKm_SOURCE_DIR}/CMake/VTKmDetectCUDAVersion.cu ${VTKm_SOURCE_DIR}/CMake/VTKmExportHeaderTemplate.h.in - DESTINATION ${VTKm_INSTALL_CMAKE_MODULE_DIR} + DESTINATION ${VTKm_INSTALL_CMAKE_DIR} ) # Create and install exports for external projects export(EXPORT ${VTKm_EXPORT_NAME} - FILE ${CMAKE_BINARY_DIR}/${VTKm_INSTALL_CONFIG_DIR}/VTKmTargets.cmake + FILE ${CMAKE_BINARY_DIR}/VTKmTargets.cmake ) install(EXPORT ${VTKm_EXPORT_NAME} - DESTINATION ${VTKm_INSTALL_LIB_DIR} FILE VTKmTargets.cmake + DESTINATION ${VTKm_INSTALL_CMAKE_DIR} ) # Enable CPack packaging