diff --git a/CMake/cmake/modules/CGAL_SetupFlags.cmake b/CMake/cmake/modules/CGAL_SetupFlags.cmake index dde2812ddc2..eafb4f8945d 100644 --- a/CMake/cmake/modules/CGAL_SetupFlags.cmake +++ b/CMake/cmake/modules/CGAL_SetupFlags.cmake @@ -1,9 +1,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CGAL_CXX_FLAGS}") -message( STATUS "Compiler flags: ${CMAKE_CXX_FLAGS}" ) if ( CGAL_RELEASE ) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CGAL_CXX_FLAGS_RELEASE}") - message( STATUS "Release compiler flags: ${CMAKE_CXX_FLAGS_RELEASE}" ) + message( STATUS "USING CUSTOM_CXXFLAGS ${CGAL_CXX_FLAGS} ${CGAL_CXX_FLAGS_RELEASE}" ) + message( STATUS "USING CXXFLAGS ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}" ) if ( NOT CMAKE_BUILD_TYPE ) set ( CMAKE_BUILD_TYPE Release ) endif() @@ -11,53 +11,58 @@ endif() if ( CGAL_DEBUG ) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CGAL_CXX_FLAGS_DEBUG}") - message( STATUS "Debug compiler flags: ${CMAKE_CXX_FLAGS_DEBUG}" ) + message( STATUS "USING CUSTOM_CXXFLAGS ${CGAL_CXX_FLAGS} ${CGAL_CXX_FLAGS_DEBUG}" ) + message( STATUS "USING CXXFLAGS ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}" ) if ( NOT CMAKE_BUILD_TYPE ) set ( CMAKE_BUILD_TYPE Debug ) endif() endif() + if ( BUILD_SHARED_LIBS ) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CGAL_SHARED_LINKER_FLAGS}") - message( STATUS "Shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS}" ) if ( CGAL_RELEASE ) set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${CGAL_SHARED_LINKER_FLAGS_RELEASE}") - message( STATUS "Release shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" ) + message( STATUS "USING CUSTOM_LDFLAGS ${CGAL_SHARED_LINKER_FLAGS} ${CGAL_SHARED_LINKER_FLAGS_RELEASE}" ) + message( STATUS "USING LDFLAGS ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" ) endif() if ( CGAL_DEBUG ) set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${CGAL_SHARED_LINKER_FLAGS_DEBUG}") - message( STATUS "Debug shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" ) + message( STATUS "USING CUSTOM_LDFLAGS ${CGAL_SHARED_LINKER_FLAGS} ${CGAL_SHARED_LINKER_FLAGS_DEBUG}" ) + message( STATUS "USING LDFLAGS ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" ) endif() else() set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CGAL_MODULE_LINKER_FLAGS}") - message( STATUS "Module linker flags: ${CMAKE_MODULE_LINKER_FLAGS}" ) if ( CGAL_RELEASE ) set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${CGAL_MODULE_LINKER_FLAGS_RELEASE}") - message( STATUS "Release module linker flags: ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}" ) + message( STATUS "USING CUSTOM_LDFLAGS ${CGAL_STATIC_LINKER_FLAGS} ${CGAL_STATIC_LINKER_FLAGS_RELEASE}" ) + message( STATUS "USING LDFLAGS ${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_RELEASE}" ) endif() if ( CGAL_DEBUG ) set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} ${CGAL_MODULE_LINKER_FLAGS_DEBUG}") - message( STATUS "Debug module linker flags: ${CMAKE_MODULE_LINKER_FLAGS_DEBUG}" ) + message( STATUS "USING CUSTOM_LDFLAGS ${CGAL_STATIC_LINKER_FLAGS} ${CGAL_STATIC_LINKER_FLAGS_DEBUG}" ) + message( STATUS "USING LDFLAGS ${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_DEBUG}" ) endif() endif() set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CGAL_EXE_LINKER_FLAGS}") -message( STATUS "Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS}" ) if ( CGAL_RELEASE ) set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${CGAL_EXE_LINKER_FLAGS_RELEASE}") - message( STATUS "Release Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS_RELEASE}" ) + message( STATUS "USING CUSTOM_EXEFLAGS ${CGAL_EXE_LINKER_FLAGS} ${CGAL_EXE_LINKER_FLAGS_RELEASE}" ) + message( STATUS "USING EXEFLAGS ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}" ) endif() if ( CGAL_DEBUG ) set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${CGAL_EXE_LINKER_FLAGS_DEBUG}") - message( STATUS "Debug Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS_DEBUG}" ) + message( STATUS "USING CUSTOM_EXEFLAGS ${CGAL_EXE_LINKER_FLAGS} ${CGAL_EXE_LINKER_FLAGS_DEBUG}" ) + message( STATUS "USING EXEFLAGS ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}" ) endif() diff --git a/CMake/cmake/modules/CGALcommon.cmake b/CMake/cmake/modules/CGALcommon.cmake index 64b28adff20..cc3941498ce 100644 --- a/CMake/cmake/modules/CGALcommon.cmake +++ b/CMake/cmake/modules/CGALcommon.cmake @@ -20,7 +20,7 @@ if( NOT CGAL_COMMON_FILE_INCLUDED ) message( FATAL_ERROR "CMAKE_ROOT enviroment variable not set. It should point to the directory where CMake is installed.") endif() - CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR) + CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5 FATAL_ERROR) if ( NOT BUILD_SHARED_LIBS ) if ( WIN32 ) @@ -30,6 +30,12 @@ if( NOT CGAL_COMMON_FILE_INCLUDED ) endif() endif() + if ( BUILD_SHARED_LIBS ) + message( STATUS "Building shared libraries" ) + else() + message( STATUS "Building static libraries" ) + endif() + if ( WIN32 ) find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin ) if(CMAKE_UNAME) diff --git a/CMake/cmake/modules/FindBOOST_PROGRAM_OPTIONS.cmake b/CMake/cmake/modules/FindBOOST_PROGRAM_OPTIONS.cmake index b65d90a954f..d1ca732846b 100644 --- a/CMake/cmake/modules/FindBOOST_PROGRAM_OPTIONS.cmake +++ b/CMake/cmake/modules/FindBOOST_PROGRAM_OPTIONS.cmake @@ -21,6 +21,11 @@ if(Boost_FOUND AND Boost_LIBRARY_DIRS) hide_variable(BOOST_PROGRAM_OPTIONS_LIBRARIES) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(BOOST_PROGRAM_OPTIONS "boost_program_options not found." BOOST_PROGRAM_OPTIONS_LIBRARIES ) + find_package_handle_standard_args(BOOST_PROGRAM_OPTIONS "boost_program_options not found." BOOST_PROGRAM_OPTIONS_LIBRARIES ) + + if ( BOOST_PROGRAM_OPTIONS_FOUND ) + message( STATUS "USING BOOST_PROGRAM_OPTIONS_VERSION ${BOOST_LIB_VERSION_STR}" ) + endif() + endif() diff --git a/CMake/cmake/modules/FindBOOST_THREAD.cmake b/CMake/cmake/modules/FindBOOST_THREAD.cmake index 0745e6e3466..0ff6bf08b0c 100644 --- a/CMake/cmake/modules/FindBOOST_THREAD.cmake +++ b/CMake/cmake/modules/FindBOOST_THREAD.cmake @@ -22,6 +22,11 @@ if(Boost_FOUND AND Boost_LIBRARY_DIRS) hide_variable(BOOST_THREAD_LIBRARIES) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(BOOST_THREAD "boost_thread not found." BOOST_THREAD_LIBRARIES ) + find_package_handle_standard_args(BOOST_THREAD "boost_thread not found." BOOST_THREAD_LIBRARIES ) + + if ( BOOST_THREAD_FOUND ) + message( STATUS "USING BOOST_THREAD_VERSION ${BOOST_LIB_VERSION_STR}" ) + endif() + endif() diff --git a/CMake/cmake/modules/FindBoost2.cmake b/CMake/cmake/modules/FindBoost2.cmake index 4a4823ccc21..07a715c8129 100644 --- a/CMake/cmake/modules/FindBoost2.cmake +++ b/CMake/cmake/modules/FindBoost2.cmake @@ -138,7 +138,7 @@ if(Boost_INCLUDE_DIRS) string( REGEX MATCH "\".*\"$" BOOST_LIB_VERSION_STR2 ${BOOST_LIB_VERSION_LINE} ) string( REPLACE "\"" "" BOOST_LIB_VERSION_STR1 ${BOOST_LIB_VERSION_STR2} ) string( REPLACE "_" "." BOOST_LIB_VERSION_STR ${BOOST_LIB_VERSION_STR1} ) - message( STATUS "Using BOOST VERSION ${BOOST_LIB_VERSION_STR}" ) + message( STATUS "USING BOOST_VERSION ${BOOST_LIB_VERSION_STR}" ) endif() diff --git a/CMake/cmake/modules/FindGMP.cmake b/CMake/cmake/modules/FindGMP.cmake index 60d07e63c84..fa5b541d6f8 100644 --- a/CMake/cmake/modules/FindGMP.cmake +++ b/CMake/cmake/modules/FindGMP.cmake @@ -9,6 +9,8 @@ include(FindPackageHandleStandardArgs) include(GeneratorSpecificSettings) +include(ReadLines) +include(FindMatchingItem) # Is it already configured? if (GMP_INCLUDE_DIR AND GMP_LIBRARIES_DIR ) @@ -56,7 +58,29 @@ else() include( GMPConfig OPTIONAL ) endif() - FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMP "DEFAULT_MSG" GMP_INCLUDE_DIR GMP_LIBRARIES_DIR) + find_package_handle_standard_args(GMP "DEFAULT_MSG" GMP_INCLUDE_DIR GMP_LIBRARIES_DIR) + + if ( GMP_FOUND ) + + readlines(${GMP_INCLUDE_DIR}/gmp.h GMP_H_FILE) + + find_matching_item(GMP_H_FILE "__GNU_MP_VERSION " __GNU_MP_VERSION_LINE ) + find_matching_item(GMP_H_FILE "__GNU_MP_VERSION_MINOR " __GNU_MP_VERSION_MINOR_LINE ) + find_matching_item(GMP_H_FILE "__GNU_MP_VERSION_PATCHLEVEL " __GNU_MP_VERSION_PATCHLEVEL_LINE ) + + string( REPLACE " " ";" __GNU_MP_VERSION_LINE_LIST ${__GNU_MP_VERSION_LINE} ) + string( REPLACE " " ";" __GNU_MP_VERSION_MINOR_LINE_LIST ${__GNU_MP_VERSION_MINOR_LINE} ) + string( REPLACE " " ";" __GNU_MP_VERSION_PATCHLEVEL_LINE_LIST ${__GNU_MP_VERSION_PATCHLEVEL_LINE} ) + + list( GET __GNU_MP_VERSION_LINE_LIST 2 __GNU_MP_VERSION ) + list( GET __GNU_MP_VERSION_MINOR_LINE_LIST 2 __GNU_MP_VERSION_MINOR ) + list( GET __GNU_MP_VERSION_PATCHLEVEL_LINE_LIST 2 __GNU_MP_VERSION_PATCHLEVEL ) + + set( GMP_VERSION "${__GNU_MP_VERSION}.${__GNU_MP_VERSION_MINOR}.${__GNU_MP_VERSION_PATCHLEVEL}" ) + + message( STATUS "USING GMP_VERSION ${GMP_VERSION}" ) + + endif() endif() diff --git a/CMake/cmake/modules/FindGMPXX.cmake b/CMake/cmake/modules/FindGMPXX.cmake index f212923ff8d..23b4ef96f59 100644 --- a/CMake/cmake/modules/FindGMPXX.cmake +++ b/CMake/cmake/modules/FindGMPXX.cmake @@ -24,6 +24,11 @@ if(GMP_FOUND) ) include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMPXX "DEFAULT_MSG" GMPXX_LIBRARIES GMPXX_INCLUDE_DIR ) + + find_package_handle_standard_args(GMPXX "DEFAULT_MSG" GMPXX_LIBRARIES GMPXX_INCLUDE_DIR ) + + if ( GMPXX_FOUND ) + message( STATUS "USING GMPXX_VERSION ${GMP_VERSION}" ) + endif() endif() diff --git a/CMake/cmake/modules/FindMPFR.cmake b/CMake/cmake/modules/FindMPFR.cmake index 52d6ab8a704..19eb030a555 100644 --- a/CMake/cmake/modules/FindMPFR.cmake +++ b/CMake/cmake/modules/FindMPFR.cmake @@ -9,6 +9,8 @@ include(FindPackageHandleStandardArgs) include(GeneratorSpecificSettings) +include(ReadLines) +include(FindMatchingItem) # Is it already configured? if (MPFR_INCLUDE_DIR AND MPFR_LIBRARIES_DIR ) @@ -56,7 +58,25 @@ else() include( MPFRConfig OPTIONAL ) endif() - FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPFR "DEFAULT_MSG" MPFR_INCLUDE_DIR MPFR_LIBRARIES_DIR) + find_package_handle_standard_args(MPFR "DEFAULT_MSG" MPFR_INCLUDE_DIR MPFR_LIBRARIES_DIR) + + if ( MPFR_FOUND ) + + readlines(${MPFR_INCLUDE_DIR}/mpfr.h MPFR_H_FILE) + + find_matching_item(MPFR_H_FILE "MPFR_VERSION_STRING" MPFR_VERSION_STRING_LINE ) + + string( REPLACE " " ";" MPFR_VERSION_STRING_LINE_LIST ${MPFR_VERSION_STRING_LINE} ) + + list( GET MPFR_VERSION_STRING_LINE_LIST 2 MPFR_VERSION_STR ) + + string( REPLACE "\"" "" MPFR_VERSION ${MPFR_VERSION_STR} ) + + message( STATUS "USING MPFR_VERSION ${MPFR_VERSION}" ) + + endif() + +#define MPFR_VERSION_STRING "2.2.0" endif() diff --git a/CMake/cmake/modules/FindMatchingItem.cmake b/CMake/cmake/modules/FindMatchingItem.cmake index b9f4390fb32..b15b9508b87 100644 --- a/CMake/cmake/modules/FindMatchingItem.cmake +++ b/CMake/cmake/modules/FindMatchingItem.cmake @@ -2,16 +2,15 @@ macro( find_matching_item list regex output ) set( ${output} "NOTFOUND" ) - foreach( ${list}_lfmi_idx ${${list}} ) + foreach( ${list}_row__ ${${list}} ) - list( GET ${list}_lfmi_idx ${list} ${list}_lfmi_row ) + if ( ${list}_row__ MATCHES ${regex} ) - if ( ${list}_lfmi_row MATCHES ${regex} ) - - set( ${output} "${${list}_lfmi_row}" ) + set( ${output} "${${list}_row__}" ) - endif( ${list}_lfmi_row MATCHES ${regex} ) + endif( ${list}_row__ MATCHES ${regex} ) - endforeach( ${list}_lfmi_idx ${${list}} ) + endforeach( ${list}_row__ ${${list}} ) endmacro( find_matching_item list regex output ) + diff --git a/Testsuite/test/collect_cgal_testresults_from_cmake b/Testsuite/test/collect_cgal_testresults_from_cmake index 4c890cc1304..e39b77010de 100755 --- a/Testsuite/test/collect_cgal_testresults_from_cmake +++ b/Testsuite/test/collect_cgal_testresults_from_cmake @@ -51,6 +51,12 @@ print_testresult() parse_flags_and_third_party_choices() { + if grep "Building shared libraries" ${BUILD_LOGFILE}; then + shared_or_static='shared' + else + shared_or_static='static' + fi + grep "^USING " ${BUILD_LOGFILE} >> $RESULT_FILE echo "------------" >> $RESULT_FILE } @@ -60,10 +66,6 @@ parse_lib_building_results() libname=$1 target=$2 -echo "parsing result of building: ${libname}" - - shared_or_static='static' - mkdir "${libname}_${shared_or_static}" y_or_no='n' @@ -117,11 +119,11 @@ if [ -f "${BUILD_LOGFILE}" ] ; then parse_flags_and_third_party_choices - parse_lib_building_results "libCGAL-core++" "CGAL_CORE" + parse_lib_building_results "libCGALCore" "CGAL_CORE" parse_lib_building_results "libCGAL" "CGAL" parse_lib_building_results "libCGALimageIO" "CGAL_IMAGEIO" - parse_lib_building_results "libCGAL-PDB" "CGAL_PDB" - parse_lib_building_results "libCGAL-Qt" "CGAL_QT" + parse_lib_building_results "libCGALPDB" "CGAL_PDB" + parse_lib_building_results "libCGALQt" "CGAL_QT" else echo "ERROR: Installation log ${BUILD_LOGFILE} not found!"