Created
February 9, 2015 21:47
-
-
Save jcfr/ac52d59f748a9f8fb5bc to your computer and use it in GitHub Desktop.
Illustrate update done to FindPythonQt.cmake while debugging Slicer packaging issue caused by CTK update. See here for more details: http://slicer-devel.65872.n3.nabble.com/Windows-and-Linux-nightly-packages-td4033451.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Find PythonQt | |
# | |
# Sets PYTHONQT_FOUND, PYTHONQT_INCLUDE_DIR, PYTHONQT_LIBRARY, PYTHONQT_LIBRARIES | |
# | |
# Python is required | |
find_package(PythonLibs) | |
if(NOT PYTHONLIBS_FOUND) | |
message(FATAL_ERROR "error: Python is required to build PythonQt") | |
endif() | |
message("-------------------") | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_INSTALL_DIR:${PYTHONQT_INSTALL_DIR}") | |
get_property(cache_is_defined_PYTHONQT_INSTALL_DIR CACHE VALUE PROPERTY PYTHONQT_INSTALL_DIR DEFINED) | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - cache_is_defined_PYTHONQT_INSTALL_DIR:${cache_is_defined_PYTHONQT_INSTALL_DIR}") | |
get_property(cache_is_set_PYTHONQT_INSTALL_DIR CACHE VALUE PROPERTY PYTHONQT_INSTALL_DIR SET) | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - cache_is_set_PYTHONQT_INSTALL_DIR:${cache_is_set_PYTHONQT_INSTALL_DIR}") | |
get_property(cache_value_PYTHONQT_INSTALL_DIR CACHE VALUE PROPERTY PYTHONQT_INSTALL_DIR) | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - cache_value_PYTHONQT_INSTALL_DIR:${cache_value_PYTHONQT_INSTALL_DIR}") | |
#message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_INCLUDE_DIR:${PYTHONQT_INCLUDE_DIR}") | |
#message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_LIBRARY_RELEASE:${PYTHONQT_LIBRARY_RELEASE}") | |
#message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_LIBRARY_DEBUG:${PYTHONQT_LIBRARY_DEBUG}") | |
#if(NOT EXISTS "${PYTHONQT_INSTALL_DIR}") | |
find_path(PYTHONQT_INSTALL_DIR include/PythonQt/PythonQt.h DOC "Directory where PythonQt was installed.") | |
#endif() | |
find_path(PYTHONQT_INCLUDE_DIR PythonQt.h "${PYTHONQT_INSTALL_DIR}/include/PythonQt" DOC "Path to the PythonQt include directory") | |
find_library(PYTHONQT_LIBRARY_RELEASE PythonQt PATHS "${PYTHONQT_INSTALL_DIR}/lib" DOC "The PythonQt library.") | |
find_library(PYTHONQT_LIBRARY_DEBUG NAMES PythonQt${CTK_CMAKE_DEBUG_POSTFIX} PythonQt${CMAKE_DEBUG_POSTFIX} PythonQt PATHS "${PYTHONQT_INSTALL_DIR}/lib" DOC "The PythonQt library.") | |
message("-------------------") | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_INSTALL_DIR:${PYTHONQT_INSTALL_DIR}") | |
get_property(cache_is_defined_PYTHONQT_INSTALL_DIR CACHE VALUE PROPERTY PYTHONQT_INSTALL_DIR DEFINED) | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - cache_is_defined_PYTHONQT_INSTALL_DIR:${cache_is_defined_PYTHONQT_INSTALL_DIR}") | |
get_property(cache_is_set_PYTHONQT_INSTALL_DIR CACHE VALUE PROPERTY PYTHONQT_INSTALL_DIR SET) | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - cache_is_set_PYTHONQT_INSTALL_DIR:${cache_is_set_PYTHONQT_INSTALL_DIR}") | |
get_property(cache_value_PYTHONQT_INSTALL_DIR CACHE VALUE PROPERTY PYTHONQT_INSTALL_DIR) | |
message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - cache_value_PYTHONQT_INSTALL_DIR:${cache_value_PYTHONQT_INSTALL_DIR}") | |
#message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_INCLUDE_DIR:${PYTHONQT_INCLUDE_DIR}") | |
#message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_LIBRARY_RELEASE:${PYTHONQT_LIBRARY_RELEASE}") | |
#message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} - PYTHONQT_LIBRARY_DEBUG:${PYTHONQT_LIBRARY_DEBUG}") | |
set(PYTHONQT_LIBRARY) | |
if(PYTHONQT_LIBRARY_RELEASE) | |
list(APPEND PYTHONQT_LIBRARY optimized ${PYTHONQT_LIBRARY_RELEASE}) | |
endif() | |
if(PYTHONQT_LIBRARY_DEBUG) | |
list(APPEND PYTHONQT_LIBRARY debug ${PYTHONQT_LIBRARY_DEBUG}) | |
endif() | |
mark_as_advanced(PYTHONQT_INSTALL_DIR) | |
mark_as_advanced(PYTHONQT_INCLUDE_DIR) | |
mark_as_advanced(PYTHONQT_LIBRARY_RELEASE) | |
mark_as_advanced(PYTHONQT_LIBRARY_DEBUG) | |
# On linux, also find libutil | |
if(UNIX AND NOT APPLE) | |
find_library(PYTHONQT_LIBUTIL util) | |
mark_as_advanced(PYTHONQT_LIBUTIL) | |
endif() | |
# All upper case _FOUND variable is maintained for backwards compatibility. | |
set(PYTHONQT_FOUND 0) | |
set(PythonQt_FOUND 0) | |
if(PYTHONQT_INCLUDE_DIR AND PYTHONQT_LIBRARY) | |
# Currently CMake'ified PythonQt only supports building against a python Release build. | |
# This applies independently of CTK build type (Release, Debug, ...) | |
add_definitions(-DPYTHONQT_USE_RELEASE_PYTHON_FALLBACK) | |
set(PYTHONQT_FOUND 1) | |
set(PythonQt_FOUND ${PYTHONQT_FOUND}) | |
set(PYTHONQT_LIBRARIES ${PYTHONQT_LIBRARY} ${PYTHONQT_LIBUTIL}) | |
endif() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment