-# Per my request, CMake should search for frameworks first in
-# the following order:
-# ~/Library/Frameworks/SimGear.framework/Headers
-# /Library/Frameworks/SimGear.framework/Headers
-# /System/Library/Frameworks/SimGear.framework/Headers
-#
-# On OS X, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of
-# SimGear_LIBRARIES to override this selection or set the CMake environment
-# CMAKE_INCLUDE_PATH to modify the search paths.
+include(SelectLibraryConfigurations)
+
+macro(find_sg_library libName varName libs)
+ set(libVarName "${varName}_LIBRARY")
+ # do not cache the library check
+ unset(${libVarName}_DEBUG CACHE)
+ unset(${libVarName}_RELEASE CACHE)
+
+ FIND_LIBRARY(${libVarName}_DEBUG
+ NAMES ${libName}${CMAKE_DEBUG_POSTFIX}
+ HINTS $ENV{SIMGEAR_DIR}
+ PATH_SUFFIXES ${CMAKE_INSTALL_LIBDIR} libs64 libs libs/Win32 libs/Win64
+ PATHS
+ ${ADDITIONAL_LIBRARY_PATHS}
+ )
+ FIND_LIBRARY(${libVarName}_RELEASE
+ NAMES ${libName}${CMAKE_RELEASE_POSTFIX}
+ HINTS $ENV{SIMGEAR_DIR}
+ PATH_SUFFIXES ${CMAKE_INSTALL_LIBDIR} libs64 libs libs/Win32 libs/Win64
+ PATHS
+ ${ADDITIONAL_LIBRARY_PATHS}
+ )
+
+ # message(STATUS "before: Simgear ${${libVarName}_RELEASE} ")
+ # message(STATUS "before: Simgear ${${libVarName}_DEBUG} ")
+
+ select_library_configurations( ${varName} )
+
+ # message(STATUS "after:Simgear ${${libVarName}_RELEASE} ")
+ # message(STATUS "after:Simgear ${${libVarName}_DEBUG} ")
+
+ set(componentLibRelease ${${libVarName}_RELEASE})
+ # message(STATUS "Simgear ${libVarName}_RELEASE ${componentLibRelease}")
+ set(componentLibDebug ${${libVarName}_DEBUG})
+ # message(STATUS "Simgear ${libVarName}_DEBUG ${componentLibDebug}")
+
+ if (NOT ${libVarName}_DEBUG)
+ if (NOT ${libVarName}_RELEASE)
+ #message(STATUS "found ${componentLib}")
+ list(APPEND ${libs} ${componentLibRelease})
+ endif()
+ else()
+ list(APPEND ${libs} optimized ${componentLibRelease} debug ${componentLibDebug})
+ endif()
+endmacro()