Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -116,10 +116,20 @@ configure_file("include/QtCrypto/qca_version.h.in" "${CMAKE_BINARY_DIR}/qca_version.h") if (WIN32) - set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-DWIN32_LEAN_AND_MEAN) + set(CMAKE_DEBUG_POSTFIX "d") + add_definitions(-DWIN32_LEAN_AND_MEAN) + + include(CheckCXXSourceCompiles) + CHECK_CXX_SOURCE_COMPILES(" + #include + int main() { return std::min(1, 2); } + " MINMAX_ARE_FUNCTIONS) + if(NOT MINMAX_ARE_FUNCTIONS) + message(STATUS "min, max macro defined by windows.h") + add_definitions(-DNOMINMAX) + endif() elseif (APPLE) - set(CMAKE_DEBUG_POSTFIX "_debug") + set(CMAKE_DEBUG_POSTFIX "_debug") endif (WIN32) if (CMAKE_COMPILER_IS_GNUCXX) Index: crypto.prf.cmake =================================================================== --- crypto.prf.cmake +++ crypto.prf.cmake @@ -3,6 +3,11 @@ CONFIG *= qt +IS_MINMAX_FUNCTION = @MINMAX_ARE_FUNCTIONS@ +isEmpty(IS_MINMAX_FUNCTION) { + DEFINES *= NOMINMAX +} + LINKAGE = exists($$QCA_LIBDIR/qca.framework) {