Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Code/Ace/Ace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cstddef>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>

#include "Ace.h"
#include "AceDlg.h"
Expand Down
2 changes: 1 addition & 1 deletion Code/Ace/Ace.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

#include <string>
#include <vector>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>

class AoiElement;
class BitMaskIterator;
Expand Down
12 changes: 9 additions & 3 deletions Code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion Code/Rx/Rx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cstddef>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
#include <opencv2/core/core_c.h>

#include "AoiElement.h"
#include "AppVerify.h"
Expand Down
2 changes: 1 addition & 1 deletion Code/WangBovik/WangBovik.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cstddef>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>

#include "AoiElement.h"
#include "AppConfig.h"
Expand Down
2 changes: 1 addition & 1 deletion Code/WangBovik/WangBovik.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

#include <string>
#include <vector>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>

class AoiElement;
class BitMaskIterator;
Expand Down
66 changes: 17 additions & 49 deletions Code/cmake/Modules/ConfigureQt5Qwt6.cmake
Original file line number Diff line number Diff line change
@@ -1,66 +1,33 @@
#######################################################################################
# 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})

set(QT_INCLUDE_DIRS ${Qt5Concurrent_INCLUDE_DIRS};${Qt5Core_INCLUDE_DIRS};${Qt5Gui_INCLUDE_DIRS};${Qt5Widgets_INCLUDE_DIRS};${Qt5OpenGL_INCLUDE_DIRS};${Qt5Xml_INCLUDE_DIRS};${Qt5Network_INCLUDE_DIRS};${Qt5PrintSupport_INCLUDE_DIRS})

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:
Expand All @@ -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()
Expand Down
8 changes: 4 additions & 4 deletions Code/cmake/Modules/FindOpenCv.cmake
Original file line number Diff line number Diff line change
@@ -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}")

Expand Down Expand Up @@ -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})
29 changes: 23 additions & 6 deletions Code/cmake/Modules/FindOssim.cmake
Original file line number Diff line number Diff line change
@@ -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)
Expand All @@ -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})
18 changes: 8 additions & 10 deletions Code/cmake/Modules/FindQwt6ForQt5.cmake
Original file line number Diff line number Diff line change
@@ -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}")
Expand All @@ -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)
4 changes: 2 additions & 2 deletions Code/cmake/Modules/Findgeotiff.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
38 changes: 27 additions & 11 deletions Code/cmake/Modules/Findproj.cmake
Original file line number Diff line number Diff line change
@@ -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)

Expand All @@ -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})
2 changes: 1 addition & 1 deletion Code/cmake/Modules/Findtiff.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down