[CMake] try_compile question

Mark Moll mmoll at cs.rice.edu
Mon Jun 7 12:57:56 EDT 2010


I must be missing something obvious, but I can’t get try_compile to work. I have the following file, CheckSZencoder.cpp:

#include <stdlib.h>
#include <szlib.h>
int main(void)
{
    if(SZ_encoder_enabled() == 1)
        exit(0);
    else
        exit(1);
}


I have these cmake commands:

find_library(SZ_LIBRARY sz DOC "Szip library")
find_path(SZ_INCLUDE szlib.h DOC "Szip include directory")
message("${SZ_INCLUDE}\n${SZ_LIBRARY}")
try_compile(SZ_ENCODER "${PROJECT_BINARY_DIR}"
	"${CMAKE_SOURCE_DIR}/CMakeModules/CheckSZencoder.cpp"
	CMAKE_FLAGS 
	INCLUDE_DIRECTORIES ${SZ_INCLUDE}
	LINK_LIBRARIES ${SZ_LIBRARY}
	OUTPUT_VARIABLE szoutput)
message(${szoutput})

The output I get from cmake is:

/Users/mmoll/external/sandbox/include
/Users/mmoll/external/sandbox/lib/libsz.a
Change Dir: /Users/mmoll/build/Release/CMakeFiles/CMakeTmp

Run Build Command:/opt/local/bin/gmake "cmTryCompileExec/fast"
/opt/local/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build
gmake[1]: Entering directory `/Users/mmoll/build/Release/CMakeFiles/CMakeTmp'
/opt/local/bin/cmake -E cmake_progress_report /Users/mmoll/build/Release/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSZencoder.cpp.o
/opt/local/bin/c++    -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5   -o CMakeFiles/cmTryCompileExec.dir/CheckSZencoder.cpp.o -c /Users/mmoll/CMakeModules/CheckSZencoder.cpp
/Users/mmoll/CMakeModules/CheckSZencoder.cpp:2:19: error: szlib.h: No such file or directory
/Users/mmoll/CMakeModules/CheckSZencoder.cpp: In function ‘int main()’:
/Users/mmoll/CMakeModules/CheckSZencoder.cpp:7: error: ‘SZ_encoder_enabled’ was not declared in this scope
gmake[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSZencoder.cpp.o] Error 1
gmake[1]: Leaving directory `/Users/mmoll/build/Release/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec/fast] Error 2

FALSE

-- 
Mark





More information about the CMake mailing list