On Tuesday 18 January 2011 08:23:49 Eric Noulard wrote: > May be you can post your CMakeLists.txt here if it's not too big? > What is your platform/compiler target? > Linux/gcc, Windows/Visual etc... > I bet the " -MT -MD -MP" options are specific to the compiler use, did you
Thanks for your kind response. Rhe package in question is gsl ( http://www.gnu.org/software/gsl/ ) and the platform is linux; compiler gcc I have generated a config.h of sorts ( I was looking at the wrong source directory. build.h is there alright as an integral part thereof). CMake did generate Makefiles and a config.h. The make fails not long after starting with the following:- ########### ~/sys/infnan.c:98:3: error: #error "cannot define gsl_finite without HAVE_DECL_FINITE or HAVE_IEEE_COMPARISONS" ~/sys/infnan.c:115:3: error: #error "cannot define gsl_isnan without HAVE_DECL_ISNAN or HAVE_IEEE_COMPARISONS" ########## The problem seems to revolve around the scope/ of the functions used to mimic the config.h (aoto-tools). :- ----------------Here is the relevant configure output checking for ieeefp.h... no checking for vprintf... yes checking for _doprnt... no checking for memcpy... yes checking for memmove... yes checking for strdup... yes checking for strtol... yes checking for strtoul... yes checking for EXIT_SUCCESS and EXIT_FAILURE... yes checking for cos in -lm... yes checking whether feenableexcept is declared... yes checking whether fesettrapenable is declared... no checking whether hypot is declared... yes checking whether expm1 is declared... yes checking whether acosh is declared... yes checking whether asinh is declared... yes checking whether atanh is declared... yes checking whether ldexp is declared... yes checking whether frexp is declared... yes checking whether isinf is declared... yes checking whether isfinite is declared... yes checking whether finite is declared... yes checking whether isnan is declared... yes checking whether log1p is declared... yes checking for long double stdio... yes checking for extended floating point registers... yes checking for IEEE arithmetic interface type... gnux86 checking for FPU_SETCW... yes checking for SSE extensions... yes checking for IEEE compiler flags... none checking for IEEE comparisons... yes checking for IEEE denormalized values... yes ------------------ and the relevant section from config.log configure:11068: checking whether hypot is declared configure:11068: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11068: $? = 0 configure:11068: result: yes configure:11080: checking whether expm1 is declared configure:11080: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11080: $? = 0 configure:11080: result: yes configure:11092: checking whether acosh is declared configure:11092: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11092: $? = 0 configure:11092: result: yes configure:11104: checking whether asinh is declared configure:11104: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11104: $? = 0 configure:11104: result: yes configure:11116: checking whether atanh is declared configure:11116: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11116: $? = 0 configure:11116: result: yes configure:11128: checking whether ldexp is declared configure:11128: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11128: $? = 0 configure:11128: result: yes configure:11140: checking whether frexp is declared configure:11140: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11140: $? = 0 configure:11140: result: yes configure:11152: checking whether isinf is declared configure:11152: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11152: $? = 0 configure:11152: result: yes configure:11164: checking whether isfinite is declared configure:11164: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11164: $? = 0 configure:11164: result: yes configure:11176: checking whether finite is declared configure:11176: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11176: $? = 0 configure:11176: result: yes configure:11191: checking whether isnan is declared configure:11191: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11191: $? = 0 configure:11191: result: yes configure:11210: checking whether log1p is declared configure:11210: gcc -c -O3 -fexceptions -m64 -fPIC conftest.c >&5 configure:11210: $? = 0 configure:11210: result: yes -------------and here it is in cmake (using the config.h.cmake (below) -- Looking for dlfcn.h -- Looking for dlfcn.h - found -- Looking for inttypes.h -- Looking for inttypes.h - found -- Looking for memory.h -- Looking for memory.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stdlib.h -- Looking for stdlib.h - found -- Looking for strings.h -- Looking for strings.h - found -- Looking for string.h -- Looking for string.h - found -- Looking for sys/stat.h -- Looking for sys/stat.h - found -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for unistd.h -- Looking for unistd.h - found -- Looking for acosh -- Looking for acosh - not found. -- Looking for asinh -- Looking for asinh - not found. -- Looking for atanh -- Looking for atanh - not found. -- Looking for expm1 -- Looking for expm1 - not found -- Looking for feenableexcept -- Looking for feenableexcept - not found -- Looking for finite -- Looking for finite - found -- Looking for frexp -- Looking for frexp - found -- Looking for hypot -- Looking for hypot - not found -- Looking for isfinite -- Looking for isfinite - not found -- Looking for isinf -- Looking for isinf - found -- Looking for isnan -- Looking for isnan - found -- Looking for ldexp -- Looking for ldexp - found -- Looking for log1p -- Looking for log1p - not found -- Looking for fpu_x86_sse -- Looking for fpu_x86_sse - not found -- Looking for ieee_comparisons -- Looking for ieee_comparisons - not found -- Looking for ieee_dnormals -- Looking for ieee_dnormals - not found -- Looking for inline -- Looking for inline - not found -- Looking for memcpy -- Looking for memcpy - found -- Looking for memmoven -- Looking for memmoven - not found -- Looking for strdup -- Looking for strdup - found -- Looking for strtol -- Looking for strtol - found -- Looking for strtoul -- Looking for strtoul - found -- Looking for vprintf -- Looking for vprintf - found -- Looking for ieee_gnux86_interface -- Looking for ieee_gnux86_interface - not found -- Looking for printf_longdouble -- Looking for printf_longdouble - not found -- Looking for exit_success_and_failure -- Looking for exit_success_and_failure - not found -- Looking for extended_precision_registers -- Looking for extended_precision_registers - not found -- Looking for pow in m -- Looking for pow in m - found -- Configuring done -- Generating done ########### here is my config.h.cmake ############## INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckCXXSourceCompiles.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckCSourceCompiles.cmake) INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) #INCLUDE (${CMAKE_ROOT}/Modules/CheckPrototypeExists.cmake ) INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake ) #--------------------------------------------------------- CHECK_LIBRARY_EXISTS(m pow "" HAVE_LIBM ) if (HAVE_LIBM) set (LIB_M "m") endif (HAVE_LIBM) CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H ) CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H ) CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H ) CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H ) CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H ) CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H ) CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H ) CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H ) CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H ) CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H ) #CHECK_FUNCTION_EXISTS(decl_acosh HAVE_DECL_ACOSH ) **see below CHECK_FUNCTION_EXISTS(decl_asinh HAVE_DECL_ASINH ) CHECK_FUNCTION_EXISTS(decl_atanh HAVE_DECL_ATANH ) CHECK_FUNCTION_EXISTS(expm1 HAVE_DECL_EXPM1 ) CHECK_FUNCTION_EXISTS(feenableexcept HAVE_DECL_FEENABLEEXCEPT ) CHECK_FUNCTION_EXISTS(finite HAVE_DECL_FINITE ) CHECK_FUNCTION_EXISTS(frexp HAVE_DECL_FREXP ) CHECK_FUNCTION_EXISTS(hypot HAVE_DECL_HYPOT ) CHECK_FUNCTION_EXISTS(isfinite HAVE_DECL_ISFINITE ) CHECK_FUNCTION_EXISTS(isinf HAVE_DECL_ISINF ) CHECK_FUNCTION_EXISTS(isnan HAVE_DECL_ISNAN ) CHECK_FUNCTION_EXISTS(ldexp HAVE_DECL_LDEXP ) CHECK_FUNCTION_EXISTS(log1p HAVE_DECL_LOG1P ) CHECK_FUNCTION_EXISTS(fpu_x86_sse HAVE_FPU_X86_SSE ) CHECK_FUNCTION_EXISTS(ieee_comparisons HAVE_IEEE_COMPARISONS ) CHECK_FUNCTION_EXISTS(ieee_dnormals HAVE_IEEE_DENORMALS ) CHECK_FUNCTION_EXISTS(inline HAVE_INLINE ) CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY ) CHECK_FUNCTION_EXISTS(memmoven HAVE_MEMMOVE ) CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP ) CHECK_FUNCTION_EXISTS(strtol HAVE_STRTOL ) CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL ) CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF ) CHECK_FUNCTION_EXISTS(ieee_gnux86_interface HAVE_GNUX86_IEEE_INTERFACE ) CHECK_FUNCTION_EXISTS(printf_longdouble HAVE_PRINTF_LONGDOUBLE ) CHECK_FUNCTION_EXISTS(exit_success_and_failure HAVE_EXIT_SUCCESS_AND_FAILURE ) CHECK_FUNCTION_EXISTS(extended_precision_registers HAVE_EXTENDED_PRECISION_REGISTERS ) configure_file( config.h.in ${CMAKE_SOURCE_DIR}/config.h @ONLY ) #---------------------------------------------------------- ** fiddles (I tried ) with HAVE_DECL_ACOSH # first did find_package(Boost REQUIRED) then CHECK_SYMBOL_EXISTS(decl_acosh "acosh" HAVE_DECL_ACOSH ) # ------this returns notfound ## so abandoned the boost approach then tried respectively CHECK_LIBRARY_EXISTS(m acosh "" HAVE_DECL_ACOSH ) '# ------this eturns found CHECK_C_SOURCE_COMPILES( ${CMAKE_SOURCE_DIR}/sys/infnan.c HAVE_DECL_ACOSH ) #---- this returns not found like so:- -- Looking for unistd.h - found -- Performing Test HAVE_DECL_ACOSH -- Performing Test HAVE_DECL_ACOSH - Failed -- Looking for decl_asinh -- Looking for decl_asinh - not found -- Looking for decl_atanh -- Looking for decl_atanh - not found ----------------- To a cmake ignoramus like me, it would appear that more is needed to do ----maths/capability checks ----cpu checks for this type of package. Advice would be appreciated. Sincerely LuxInteg _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake