From 39ecaf0ca8304bd953853b5f1cc13c53e93bbe42 Mon Sep 17 00:00:00 2001 From: Frederic Bouvier Date: Sat, 8 Jan 2011 15:17:49 +0100 Subject: [PATCH] Cmake: use debug version of plib when building in debug mode --- CMakeModules/FindPLIB.cmake | 39 ++++++++++++++++++++++++++-------- CMakeModules/FindSimGear.cmake | 6 +++--- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/CMakeModules/FindPLIB.cmake b/CMakeModules/FindPLIB.cmake index 09188948f..1fe81b200 100644 --- a/CMakeModules/FindPLIB.cmake +++ b/CMakeModules/FindPLIB.cmake @@ -34,6 +34,8 @@ # OPENAL_LIBRARY to override this selection or set the CMake environment # CMAKE_INCLUDE_PATH to modify the search paths. +include(SelectLibraryConfigurations) + set(save_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK}) set(CMAKE_FIND_FRAMEWORK ONLY) FIND_PATH(PLIB_INCLUDE_DIR ul.h @@ -82,21 +84,40 @@ macro(find_static_component comp libs) set(compLib "plib${comp}") endif(MSVC) - string(TOUPPER "PLIB_${comp}_LIBRARY" compLibName) - - FIND_LIBRARY(${compLibName} - NAMES ${compLib} - HINTS $ENV{PLIBDIR} + string(TOUPPER "PLIB_${comp}" compLibBase) + set( compLibName ${compLibBase}_LIBRARY ) + + FIND_LIBRARY(${compLibName}_DEBUG + NAMES ${compLib}_d + HINTS $ENV{SIMGEAR_DIR} PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64 PATHS /usr/local /usr /opt ) - - set(componentLib ${${compLibName}}) - if (NOT ${componentLib} STREQUAL "componentLib-NOTFOUND") - list(APPEND ${libs} ${componentLib}) + FIND_LIBRARY(${compLibName}_RELEASE + NAMES ${compLib} + HINTS $ENV{SIMGEAR_DIR} + PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64 + PATHS + /usr/local + /usr + /opt + ) + select_library_configurations( ${compLibBase} ) + + set(componentLibRelease ${${compLibName}_RELEASE}) + #message(STATUS "Simgear ${compLibName}_RELEASE ${componentLibRelease}") + set(componentLibDebug ${${compLibName}_DEBUG}) + #message(STATUS "Simgear ${compLibName}_DEBUG ${componentLibDebug}") + if (NOT ${compLibName}_DEBUG) + if (NOT ${compLibName}_RELEASE) + #message(STATUS "found ${componentLib}") + list(APPEND ${libs} ${componentLibRelease}) + endif() + else() + list(APPEND ${libs} optimized ${componentLibRelease} debug ${componentLibDebug}) endif() endmacro() diff --git a/CMakeModules/FindSimGear.cmake b/CMakeModules/FindSimGear.cmake index b17a4cb7f..8a494dde7 100644 --- a/CMakeModules/FindSimGear.cmake +++ b/CMakeModules/FindSimGear.cmake @@ -33,7 +33,7 @@ # 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) FIND_PATH(SIMGEAR_INCLUDE_DIR simgear/math/SGMath.hxx @@ -89,9 +89,9 @@ macro(find_sg_component comp libs) select_library_configurations( ${compLibBase} ) set(componentLibRelease ${${compLibName}_RELEASE}) - message(STATUS "Simgear ${compLibName}_RELEASE ${componentLibRelease}") + #message(STATUS "Simgear ${compLibName}_RELEASE ${componentLibRelease}") set(componentLibDebug ${${compLibName}_DEBUG}) - message(STATUS "Simgear ${compLibName}_DEBUG ${componentLibDebug}") + #message(STATUS "Simgear ${compLibName}_DEBUG ${componentLibDebug}") if (NOT ${compLibName}_DEBUG) if (NOT ${compLibName}_RELEASE) #message(STATUS "found ${componentLib}")