project( OGLFT ) CMAKE_MINIMUM_REQUIRED (VERSION 2.6) Set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake ) FIND_PACKAGE( OpenGL REQUIRED ) FIND_PACKAGE( FreeType2 REQUIRED ) if( ENABLE_QT ) find_package( Qt REQUIRED ) if( DESIRED_QT_VERSION EQUAL 3 ) find_package( KDE3 REQUIRED ) endif( DESIRED_QT_VERSION EQUAL 3 ) endif( ENABLE_QT ) if( ENABLE_GLE ) find_package( GLE ) endif( ENABLE_GLE ) # # Test to determine if we want the "tripledot" (variable) form of the GLU tesselator callback. # if(NOT GLU_TESS_CALLBACK_TRIPLEDOT) if(WIN32 OR CMAKE_SYSTEM_NAME MATCHES "Linux") # Skip the compile check for platforms that never need the variable form set(DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT false) else(WIN32 OR CMAKE_SYSTEM_NAME MATCHES "Linux") # For other platforms perform the check include(CheckCXXSourceCompiles) include(CheckIncludeFiles) set(CMAKE_REQUIRED_INCLUDES ${OPENGL_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${OPENGL_LIBRARY}) check_include_files(OpenGL/gl.h HAVE_OPENGL_DIR) if(HAVE_OPENGL_DIR) set(OPENGL_DIR_PREFIX "OpenGL") else(HAVE_OPENGL_DIR) set(OPENGL_DIR_PREFIX "GL") endif(HAVE_OPENGL_DIR) set(GLUTESS_TEST_SOURCE " #include <${OPENGL_DIR_PREFIX}/gl.h> #include <${OPENGL_DIR_PREFIX}/glu.h> typedef GLvoid (*GLUTessCallback)(...); static void testcb(GLvoid *, void*) { } int main() { GLUtesselator *t = gluNewTess(); gluTessCallback(t, GLU_TESS_VERTEX_DATA, GLUTessCallback(testcb)); return 0; } ") check_cxx_source_compiles("${GLUTESS_TEST_SOURCE}" GLU_Tesselator_Needs_Variable_Parameter_Callback_Convention_Failure_Means_No) set(GLU_TESS_CALLBACK_TRIPLEDOT ${GLU_Tesselator_Needs_Variable_Parameter_Callback_Convention_Failure_Means_No}) endif(WIN32 OR CMAKE_SYSTEM_NAME MATCHES "Linux") endif(NOT GLU_TESS_CALLBACK_TRIPLEDOT) add_subdirectory( liboglft ) set( BUILD_OGLFT_TESTS OFF CACHE BOOL "Build oglft tests." ) if( BUILD_OGLFT_TESTS ) enable_testing() add_subdirectory( tests ) endif( BUILD_OGLFT_TESTS )