diff --git a/Code/Ace/Ace.cpp b/Code/Ace/Ace.cpp index 214b13e..64a4d1b 100644 --- a/Code/Ace/Ace.cpp +++ b/Code/Ace/Ace.cpp @@ -10,7 +10,7 @@ // Keep this include here..it uses an OpenCV macro X. // Moving this after Opticks includes will incorrectly use the Xerces X macro. #include -#include +#include #include "Ace.h" #include "AceDlg.h" diff --git a/Code/Ace/Ace.h b/Code/Ace/Ace.h index 6bd65bd..08445dc 100644 --- a/Code/Ace/Ace.h +++ b/Code/Ace/Ace.h @@ -17,7 +17,7 @@ #include #include -#include +#include class AoiElement; class BitMaskIterator; diff --git a/Code/CMakeLists.txt b/Code/CMakeLists.txt index 1acb9aa..11d29de 100644 --- a/Code/CMakeLists.txt +++ b/Code/CMakeLists.txt @@ -20,6 +20,7 @@ set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) if(CMAKE_MAJOR_VERSION GREATER 2) cmake_policy(SET CMP0043 NEW) cmake_policy(SET CMP0048 NEW) + cmake_policy(SET CMP0075 NEW) endif() if(CMAKE_MAJOR_VERSION GREATER 2) @@ -256,7 +257,7 @@ find_package(OpenGL REQUIRED) find_package(Glew REQUIRED) find_package(tiff REQUIRED) find_package(geotiff REQUIRED) -find_package(Ossim REQUIRED) # Is ossim needed? Cem, Mnf, and Elm SConscripts mention it, but not in the code... +find_package(Ossim) # Is ossim needed? Cem, Mnf, and Elm SConscripts mention it, but not in the code... find_package(proj REQUIRED) find_package(TBB REQUIRED) @@ -335,8 +336,10 @@ include_directories(${OPENGL_INCLUDE_DIRS}) include_directories(${Glew_INCLUDE_DIRS}) include_directories(${tiff_INCLUDE_DIRS}) include_directories(${geotiff_INCLUDE_DIRS}) -include_directories(${Ossim_INCLUDE_DIRS}) include_directories(${TBB_INCLUDE_DIRS}) +if(Ossim_FOUND) + include_directories(${Ossim_INCLUDE_DIRS}) +endif() if(CMAKE_SYSTEM_NAME STREQUAL "Linux") include_directories(${EXPAT_INCLUDE_DIRS}) # expat is an XML parser @@ -412,15 +415,18 @@ if(CODEDIR_PLUGIN_BUILD) # Create the multiple plugins here, rather than in the SpectralUtilities # add_library(SpectralUtilities) is in SpectralUtilities/CMakeLists.txt ${Opticks_LIBRARIES} ${QT_LIBRARIES} + ${Qwt6ForQt5_LIBRARY} ${tiff_LIBRARIES} ${geotiff_LIBRARIES} - ${Ossim_LIBRARIES} ${proj_LIBRARIES} ${Xerces_LIBRARIES} ${OpenCv_LIBRARIES} ${TBB_LIBRARIES} ${pthreads_LIBRARIES} ) + if(Ossim_FOUND) + target_link_libraries(${LIB_NAME} ${Ossim_LIBRARIES}) + endif() endforeach() if(WIN32) diff --git a/Code/Rx/Rx.cpp b/Code/Rx/Rx.cpp index d7e7f3a..59e0f74 100644 --- a/Code/Rx/Rx.cpp +++ b/Code/Rx/Rx.cpp @@ -10,7 +10,8 @@ // Keep this include here..it uses an OpenCV macro X. // Moving this after Opticks includes will incorrectly use the Xerces X macro. #include -#include +#include +#include #include "AoiElement.h" #include "AppVerify.h" diff --git a/Code/WangBovik/WangBovik.cpp b/Code/WangBovik/WangBovik.cpp index 49cb829..9dfaed9 100644 --- a/Code/WangBovik/WangBovik.cpp +++ b/Code/WangBovik/WangBovik.cpp @@ -10,7 +10,7 @@ // Keep this include here..it uses an OpenCV macro X. // Moving this after Opticks includes will incorrectly use the Xerces X macro. #include -#include +#include #include "AoiElement.h" #include "AppConfig.h" diff --git a/Code/WangBovik/WangBovik.h b/Code/WangBovik/WangBovik.h index 298253f..c31c1e9 100644 --- a/Code/WangBovik/WangBovik.h +++ b/Code/WangBovik/WangBovik.h @@ -17,7 +17,7 @@ #include #include -#include +#include class AoiElement; class BitMaskIterator; diff --git a/Code/cmake/Modules/ConfigureQt5Qwt6.cmake b/Code/cmake/Modules/ConfigureQt5Qwt6.cmake index c1dfafd..3fd97ce 100644 --- a/Code/cmake/Modules/ConfigureQt5Qwt6.cmake +++ b/Code/cmake/Modules/ConfigureQt5Qwt6.cmake @@ -1,58 +1,25 @@ ####################################################################################### # Qt5/Qwt6 boilerplate shared between Opticks and Spectral. # -set(HAVE_QSAVEFILE 0) # Experimental QSaveFile usage with journal and log files, likely not an issue for Spectral. -if(WIN32 AND EXISTS ${DEPENDENCY_PATH}/bin/qmake.exe) - #set(QT_BINARY_DIR "${DEPENDENCY_PATH}/bin" CACHE PATH "directory containing qmake, moc, uic, rcc. default ${DEPENDENCY_PATH}/bin") - set(QT_BINARY_DIR "${DEPENDENCY_PATH}/bin") -elseif(EXISTS ${DEPENDENCY_PATH}/bin/qmake) - set(QT_BINARY_DIR "${DEPENDENCY_PATH}/bin" CACHE PATH "directory containing qmake, moc, uic, rcc. default ${DEPENDENCY_PATH}/bin") -else() - # /usr/lib64/qt5/bin is an okay default for RedHat; we'll then make a better OS-dependent guess with CMAKE_SYSTEM_LIBRARY_PATH. - # But we set a default first, in case the foreach() loop fails to find anything, and RedHat's /usr/lib64/qt4/bin is as good as any. - set(QT_BINARY_DIR "/usr/lib64/qt5/bin" CACHE PATH "directory containing qmake, moc, uic, rcc. default /usr/lib64/qt5/bin") - foreach(lib ${CMAKE_SYSTEM_LIBRARY_PATH}) - if(EXISTS "${lib}/qt5/bin") - set(QT_BINARY_DIR "${lib}/qt5/bin" CACHE PATH "directory containing qmake, moc, uic, rcc. default ${lib}/qt5/bin") - break() - endif() - endforeach() -endif() -message(STATUS "QT Binary Dir: ${QT_BINARY_DIR}") - -if(WIN32) - set(QT_QMAKE_EXECUTABLE ${QT_BINARY_DIR}/qmake.exe CACHE FILEPATH "path to qmake. default ${QT_BINARY_DIR}/qmake") -else() - set(QT_QMAKE_EXECUTABLE ${QT_BINARY_DIR}/qmake CACHE FILEPATH "path to qmake. default ${QT_BINARY_DIR}/qmake") -endif() - -if(EXISTS ${QT_QMAKE_EXECUTABLE}) - message(STATUS "Found QT QMake Executable: ${QT_QMAKE_EXECUTABLE}") - # Get Qt version from Qmake - execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_VERSION OUTPUT_VARIABLE qt_version OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_LIBS OUTPUT_VARIABLE qt_install_libs OUTPUT_STRIP_TRAILING_WHITESPACE) - message(STATUS "Found Qt version \"${qt_version}\"") - if("${qt_version}" VERSION_LESS "5.9.1") - message(ERROR " Qt version must be 5.9.1 or greater") - endif() - set(HAVE_QSAVEFILE 1) # Experimental: Qt5 writes disk files more reliably with QSaveFile than with QFile - set(QT_Qt5_DIR "${qt_install_libs}/cmake/Qt5" CACHE PATH "Path to directory containing Qt5Config.cmake") - set(Qt5_DIR ${QT_Qt5_DIR}) - if(IS_DIRECTORY ${Qt5_DIR}) - message(STATUS "Found Qt5_DIR: ${Qt5_DIR}") +if(NOT IS_DIRECTORY "${Qt5_DIR}") + if(IS_DIRECTORY "/usr/lib64/cmake/Qt5") + message(STATUS "Qt5_DIR ${Qt5_DIR} NOT FOUND, using /usr/lib64/cmake/Qt5") + set(Qt5_DIR "/usr/lib64/cmake/Qt5") else() - message(WARNING " ${Qt5_DIR} NOT FOUND") + message(WARNING "Qt5_DIR ${Qt5_DIR} NOT FOUND, please set Qt5_DIR to the directory containing Qt5Config.cmake") endif() - set(CMAKE_INCLUDE_CURRENT_DIR ON) - set(CMAKE_AUTOMOC ON) - set(CMAKE_AUTORCC ON) - set(CMAKE_AUTOUIC ON) +endif() +if(IS_DIRECTORY ${Qt5_DIR}) + message(STATUS "Found Qt5_DIR: ${Qt5_DIR}") else() - message(WARNING " QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE} does not exist") + message(WARNING "Qt5_DIR ${Qt5_DIR} NOT FOUND") endif() -add_definitions(-DHAVE_QSAVEFILE=${HAVE_QSAVEFILE}) +find_package(Qt5 COMPONENTS Core Concurrent Gui Widgets OpenGL Xml Network PrintSupport REQUIRED PATHS ${Qt5_DIR}) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -find_package(Qt5 COMPONENTS Core Concurrent Gui Widgets OpenGL Xml Network PrintSupport REQUIRED) set(Qt_VERSION_MAJOR ${Qt5_VERSION_MAJOR}) add_definitions(-DQt_VERSION_MAJOR=${Qt5_VERSION_MAJOR}) @@ -60,7 +27,7 @@ set(QT_INCLUDE_DIRS ${Qt5Concurrent_INCLUDE_DIRS};${Qt5Core_INCLUDE_DIRS};${Qt5G set(QT_LIBRARIES ${Qt5Concurrent_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5PrintSupport_LIBRARIES}) # message(STATUS "QT_INCLUDE_DIRS: ${QT_INCLUDE_DIRS}") -# message(STATUS "QT_LIBRARIES: ${QT_LIBRARIES}") +message(STATUS "QT_LIBRARIES: ${QT_LIBRARIES}") include_directories(${QT_INCLUDE_DIRS}) # Debug messages: @@ -69,12 +36,13 @@ include_directories(${QT_INCLUDE_DIRS}) # Message(STATUS "QT_LIBRARIES: ${QT_LIBRARIES}") ####################################################################################### find_package(Qwt6ForQt5 REQUIRED) +message(STATUS "Qwt6ForQt5_INCLUDE_DIR: ${Qwt6ForQt5_INCLUDE_DIR}") include_directories(${Qwt6ForQt5_INCLUDE_DIR}) # It's important the user can verify which Qwt6-qt5 library she's linking, # in case she's specified a non-system qt5 and doesn't want to pick up a # system qwt6-qt5 by mistake: if(Qwt6ForQt5_FOUND) - message(STATUS "Found Qwt6ForQt5_LIBRARY: ${Qwt6ForQt5_LIBRARY}") + message(STATUS "Qwt6ForQt5_LIBRARY: ${Qwt6ForQt5_LIBRARY}") else() message(STATUS "${Qwt6ForQt5_LIBRARY}") endif() diff --git a/Code/cmake/Modules/FindOpenCv.cmake b/Code/cmake/Modules/FindOpenCv.cmake index dbda33a..96a2850 100644 --- a/Code/cmake/Modules/FindOpenCv.cmake +++ b/Code/cmake/Modules/FindOpenCv.cmake @@ -1,12 +1,11 @@ -find_path(OpenCv_INCLUDE_DIR opencv2/opencv.hpp) -#find_path(OpenCv_INCLUDE_DIR opencv.hpp SUFFIXES opencv2) - +find_path(OpenCv_INCLUDE_DIR opencv2/opencv.hpp PATH_SUFFIXES opencv2 opencv4) +#message(STATUS "OpenCv_INCLUDE_DIR: ${OpenCv_INCLUDE_DIR}") if(OpenCv_INCLUDE_DIR AND EXISTS "${OpenCv_INCLUDE_DIR}/opencv2/core/version.hpp") file(STRINGS "${OpenCv_INCLUDE_DIR}/opencv2/core/version.hpp" OpenCv_Parsed_Major_Version REGEX "^#define CV_MAJOR_VERSION.*[0-9]+.*$") file(STRINGS "${OpenCv_INCLUDE_DIR}/opencv2/core/version.hpp" OpenCv_Parsed_Minor_Version REGEX "^#define CV_MINOR_VERSION.*[0-9]+.*$") file(STRINGS "${OpenCv_INCLUDE_DIR}/opencv2/core/version.hpp" OpenCv_Parsed_Subminor_Version REGEX "^#define CV_SUBMINOR_VERSION.*[0-9]+.*$") -string(REGEX REPLACE "^.*CV_MAJOR_VERSION.*([0-9]+).*$" "\\1" OpenCv_VERSION_MAJOR "${OpenCv_Parsed_Major_Version}") + string(REGEX REPLACE "^.*CV_MAJOR_VERSION.*([0-9]+).*$" "\\1" OpenCv_VERSION_MAJOR "${OpenCv_Parsed_Major_Version}") string(REGEX REPLACE "^.*CV_MINOR_VERSION.*([0-9]+).*$" "\\1" OpenCv_VERSION_MINOR "${OpenCv_Parsed_Minor_Version}") string(REGEX REPLACE "^.*CV_SUBMINOR_VERSION.*([0-9]+).*$" "\\1" OpenCv_VERSION_RELEASE "${OpenCv_Parsed_Subminor_Version}") @@ -88,4 +87,5 @@ else() endif() set(OpenCv_INCLUDE_DIRS ${OpenCv_INCLUDE_DIR}) mark_as_advanced(OpenCv_INCLUDE_DIR) +message(STATUS "${OpenCv_LIBRARIES}") set(OpenCv_FOUND ${OPENCV_FOUND}) diff --git a/Code/cmake/Modules/FindOssim.cmake b/Code/cmake/Modules/FindOssim.cmake index 6a86e75..d1887f2 100644 --- a/Code/cmake/Modules/FindOssim.cmake +++ b/Code/cmake/Modules/FindOssim.cmake @@ -1,17 +1,23 @@ -find_path(Ossim_INCLUDE_DIR ossim/ossimConfig.h) +find_path(Ossim_INCLUDE_DIR ossimConfig.h HINTS ${Ossim_INCLUDE_DIR} PATH_SUFFIXES ossim) -find_file(ossimConfig_h NAMES ossimConfig.h PATH_SUFFIXES ossim) +if(NOT Ossim_INCLUDE_DIR) + message(STATUS "Could not find Ossim: ${Ossim_INCLUDE_DIR}") + return() +endif() + +# message(STATUS "Ossim_INCLUDE_DIR: " ${Ossim_INCLUDE_DIR}) +set(ossimConfig_h ${Ossim_INCLUDE_DIR}/ossimConfig.h) file(STRINGS "${ossimConfig_h}" OSSIM_VERSION_STRING REGEX "^#.*define OSSIM_VERSION +.*$") if(NOT OSSIM_VERSION_STRING) - find_file(ossimVersion_h NAMES ossimVersion.h PATH_SUFFIXES ossim) - message(STATUS "ossimVersion_h: ${ossimVersion_h}") + set(ossimVersion_h ${Ossim_INCLUDE_DIR}/ossimVersion.h) + # message(STATUS "ossimVersion_h: ${ossimVersion_h}") if(EXISTS "${ossimVersion_h}") file(STRINGS "${ossimVersion_h}" OSSIM_VERSION_STRING REGEX "^#.*define OSSIM_VERSION +.*$") endif() endif() if(OSSIM_VERSION_STRING) string(REGEX REPLACE "^.*OSSIM_VERSION +(.*)$" "\\1" OSSIM_VERSION_STRING "${OSSIM_VERSION_STRING}") - message(STATUS "Found Ossim: (version ${OSSIM_VERSION_STRING})") + message(STATUS "Found Ossim version ${OSSIM_VERSION_STRING} in ${ossimVersion_h}") endif() find_library(Ossim_LIBRARY_RELEASE NAMES ossim) @@ -20,10 +26,21 @@ find_library(Ossim_LIBRARY_DEBUG NAMES ossimd) include(SelectLibraryConfigurations) select_library_configurations(Ossim) +string(REPLACE "/ossim" "" Ossim_INCLUDE_DIR "${Ossim_INCLUDE_DIR}") +if(Ossim_INCLUDE_DIR STREQUAL "/usr/include") + set(Ossim_INCLUDE_DIR "") +endif() + + set(Ossim_INCLUDE_DIRS ${Ossim_INCLUDE_DIR}) mark_as_advanced(Ossim_INCLUDE_DIR) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Ossim REQUIRED_VARS Ossim_INCLUDE_DIR Ossim_LIBRARY) -set(Ossim_LIBRARIES ${Ossim_LIBRARY}) + +if(OSSIM_FOUND) + message(STATUS "Ossim_INCLUDE_DIR: " ${Ossim_INCLUDE_DIR}) + message(STATUS "Ossim_LIBRARY: " ${Ossim_LIBRARY}) + set(Ossim_LIBRARIES ${Ossim_LIBRARY}) +endif() set(Ossim_FOUND ${OSSIM_FOUND}) diff --git a/Code/cmake/Modules/FindQwt6ForQt5.cmake b/Code/cmake/Modules/FindQwt6ForQt5.cmake index 575be7a..b78dd25 100644 --- a/Code/cmake/Modules/FindQwt6ForQt5.cmake +++ b/Code/cmake/Modules/FindQwt6ForQt5.cmake @@ -1,4 +1,4 @@ -find_path(Qwt6ForQt5_INCLUDE_DIR qwt.h PATH_SUFFIXES qwt qt5/qwt) +find_path(Qwt6ForQt5_INCLUDE_DIR qwt.h PATH_SUFFIXES qt5/qwt qwt) if(Qwt6ForQt5_INCLUDE_DIR AND EXISTS "${Qwt6ForQt5_INCLUDE_DIR}/qwt_global.h") file(STRINGS "${Qwt6ForQt5_INCLUDE_DIR}/qwt_global.h" Qwt6ForQt5_Parsed_Version REGEX "^#define QWT_VERSION_STR +\"[^\"]+\"$") string(REGEX REPLACE "^.*QWT_VERSION_STR +\"([0-9]+).*$" "\\1" Qwt6ForQt5_VERSION_MAJOR "${Qwt6ForQt5_Parsed_Version}") @@ -11,20 +11,18 @@ if(Qwt6ForQt5_INCLUDE_DIR AND EXISTS "${Qwt6ForQt5_INCLUDE_DIR}/qwt_global.h") set(Qwt6ForQt5_PATCH_VERSION "${Qwt6ForQt5_VERSION_PATCH}") endif() -find_library(Qwt6ForQt5_LIBRARY_RELEASE NAMES qwt-qt5) -find_library(Qwt6ForQt5_LIBRARY_DEBUG NAMES qwt-qt5) +find_library(Qwt6ForQt5_LIBRARY_RELEASE NAMES qwt-qt5 qwt) +get_filename_component(Qwt6ForQt5_LIBRARY_DIR ${Qwt6ForQt5_LIBRARY_RELEASE} DIRECTORY) +set(Qwt6ForQt5_LIBRARY_DEBUG ${Qwt6ForQt5_LIBRARY_RELEASE}) + +#message(STATUS "Qwt6ForQt5_LIBRARY_RELEASE: ${Qwt6ForQt5_LIBRARY_RELEASE}") +#message(STATUS "Qwt6ForQt5_LIBRARY_DEBUG: ${Qwt6ForQt5_LIBRARY_DEBUG}") include(SelectLibraryConfigurations) select_library_configurations(Qwt6ForQt5) #sets Qwt6ForQt5_LIBRARY using Qwt6ForQt5_LIBRARY_DEBUG and Qwt6ForQt5_LIBRARY_RELEASE -if(NOT Qwt6ForQt5_LIBRARY) - set(Qwt6ForQt5_LIBRARY optimized ${Qwt6ForQt5_LIBRARY_RELEASE} debug ${Qwt6ForQt5_LIBRARY_DEBUG}) - set(Qwt6ForQt5_LIBRARY ${Qwt6ForQt5_LIBRARY} CACHE FILEPATH "The Qwt6ForQt5 library") -endif() set(Qwt6ForQt5_INCLUDE_DIRS ${Qwt6ForQt5_INCLUDE_DIR}) mark_as_advanced(Qwt6ForQt5_INCLUDE_DIR) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Qwt6ForQt5 REQUIRED_VARS Qwt6ForQt5_INCLUDE_DIR Qwt6ForQt5_LIBRARY VERSION_VAR Qwt6ForQt5_VERSION_STRING) -set(Qwt6ForQt5_FOUND ${QWT6FORQT5_FOUND}) - +find_package_handle_standard_args(Qwt6ForQt5 FOUND_VAR Qwt6ForQt5_FOUND REQUIRED_VARS Qwt6ForQt5_INCLUDE_DIR Qwt6ForQt5_LIBRARY VERSION_VAR Qwt6ForQt5_VERSION_STRING) diff --git a/Code/cmake/Modules/Findgeotiff.cmake b/Code/cmake/Modules/Findgeotiff.cmake index 0cdd7ae..090567e 100644 --- a/Code/cmake/Modules/Findgeotiff.cmake +++ b/Code/cmake/Modules/Findgeotiff.cmake @@ -9,8 +9,8 @@ if(geotiff_INCLUDE_DIR AND EXISTS "${geotiff_INCLUDE_DIR}/geotiff.h") set(geotiff_VERSION_STRING "${geotiff_MAJOR_VERSION}.${geotiff_MINOR_VERSION}.${geotiff_PATCH_VERSION}") endif() -find_library(geotiff_LIBRARY_RELEASE NAMES geotiff) -find_library(geotiff_LIBRARY_DEBUG NAMES geotiffd) +find_library(geotiff_LIBRARY_RELEASE NAMES geotiff geotiff_i) +find_library(geotiff_LIBRARY_DEBUG NAMES geotiffd geotiff_d geotiff_d_i) include(SelectLibraryConfigurations) select_library_configurations(geotiff) #sets geotiff_LIBRARY using geotiff_LIBRARY_DEBUG and geotiff_LIBRARY_RELEASE diff --git a/Code/cmake/Modules/Findproj.cmake b/Code/cmake/Modules/Findproj.cmake index 5ae1656..8de4e7d 100644 --- a/Code/cmake/Modules/Findproj.cmake +++ b/Code/cmake/Modules/Findproj.cmake @@ -1,14 +1,32 @@ -find_path(proj_INCLUDE_DIR proj_api.h) +find_path(proj_INCLUDE_DIR NAMES proj_api.h proj.h) +#message(STATUS "proj_INCLUDE_DIR: ${proj_INCLUDE_DIR}") -if(proj_INCLUDE_DIR AND EXISTS "${proj_INCLUDE_DIR}/proj_api.h") - file(STRINGS "${proj_INCLUDE_DIR}/proj_api.h" proj_Parsed_Version REGEX "^#define PJ_VERSION +[0-9]+.*$") - string(SUBSTRING ${proj_Parsed_Version} 19 -1 proj_Parsed_Version) - math(EXPR proj_MAJOR_VERSION "${proj_Parsed_Version} / 100") - math(EXPR proj_MINOR_VERSION "${proj_Parsed_Version} % 100 / 10") - math(EXPR proj_PATCH_VERSION "${proj_Parsed_Version} % 100 % 10") - set(proj_VERSION_STRING "${proj_MAJOR_VERSION}.${proj_MINOR_VERSION}.${proj_PATCH_VERSION}") +if(proj_INCLUDE_DIR) + if(EXISTS "${proj_INCLUDE_DIR}/proj.h") + file(STRINGS "${proj_INCLUDE_DIR}/proj.h" proj_Parsed_Version_Major REGEX "^#define PROJ_VERSION_MAJOR +[0-9]+.*$") + file(STRINGS "${proj_INCLUDE_DIR}/proj.h" proj_Parsed_Version_Minor REGEX "^#define PROJ_VERSION_MINOR +[0-9]+.*$") + file(STRINGS "${proj_INCLUDE_DIR}/proj.h" proj_Parsed_Version_Patch REGEX "^#define PROJ_VERSION_PATCH +[0-9]+.*$") + #Message(STATUS "PROJ_VERSION_MAJOR: ${proj_Parsed_Version_Major}") + string(SUBSTRING ${proj_Parsed_Version_Major} 27 -1 proj_Parsed_Version_Major) + string(SUBSTRING ${proj_Parsed_Version_Minor} 27 -1 proj_Parsed_Version_Minor) + string(SUBSTRING ${proj_Parsed_Version_Patch} 27 -1 proj_Parsed_Version_Patch) + math(EXPR proj_MAJOR_VERSION "${proj_Parsed_Version_Major}") + math(EXPR proj_MINOR_VERSION "${proj_Parsed_Version_Minor}") + math(EXPR proj_PATCH_VERSION "${proj_Parsed_Version_Patch}") + set(proj_VERSION_STRING "${proj_MAJOR_VERSION}.${proj_MINOR_VERSION}.${proj_PATCH_VERSION}") + elseif(EXISTS "${proj_INCLUDE_DIR}/proj_api.h") + file(STRINGS "${proj_INCLUDE_DIR}/proj_api.h" proj_Parsed_Version REGEX "^#define PJ_VERSION +[0-9]+.*$") + string(SUBSTRING ${proj_Parsed_Version} 19 -1 proj_Parsed_Version) + math(EXPR proj_MAJOR_VERSION "${proj_Parsed_Version} / 100") + math(EXPR proj_MINOR_VERSION "${proj_Parsed_Version} % 100 / 10") + math(EXPR proj_PATCH_VERSION "${proj_Parsed_Version} % 100 % 10") + set(proj_VERSION_STRING "${proj_MAJOR_VERSION}.${proj_MINOR_VERSION}.${proj_PATCH_VERSION}") + endif() + #Message(STATUS "PROJ_VERSION_MAJOR: ${proj_Parsed_Version_Major}") + #Message(STATUS "PROJ_VERSION_MINOR: ${proj_Parsed_Version_Minor}") + #Message(STATUS "PROJ_VERSION_PATCH: ${proj_Parsed_Version_Patch}") + #Message(STATUS "PROJ_VERSION_STRING: ${proj_VERSION_STRING}") endif() - find_library(proj_LIBRARY_RELEASE NAMES proj) find_library(proj_LIBRARY_DEBUG NAMES projd) @@ -22,5 +40,3 @@ set(proj_LIBRARIES ${proj_LIBRARY}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(proj REQUIRED_VARS proj_INCLUDE_DIR proj_LIBRARY VERSION_VAR proj_VERSION_STRING) - -set(proj_FOUND ${GEOTIFF_FOUND}) diff --git a/Code/cmake/Modules/Findtiff.cmake b/Code/cmake/Modules/Findtiff.cmake index d7a5c63..5b81545 100644 --- a/Code/cmake/Modules/Findtiff.cmake +++ b/Code/cmake/Modules/Findtiff.cmake @@ -8,7 +8,7 @@ if(tiff_INCLUDE_DIR AND EXISTS "${tiff_INCLUDE_DIR}/tiffvers.h") endif() find_library(tiff_LIBRARY_RELEASE NAMES libtiff tiff) -find_library(tiff_LIBRARY_DEBUG NAMES libtiffd) +find_library(tiff_LIBRARY_DEBUG NAMES libtiffd tiffd) include(SelectLibraryConfigurations) select_library_configurations(tiff) #sets tiff_LIBRARY using tiff_LIBRARY_DEBUG and tiff_LIBRARY_RELEASE