diff options
Diffstat (limited to 'build/cmake/testbuild')
-rw-r--r-- | build/cmake/testbuild/CMakeLists.txt | 24 | ||||
-rw-r--r-- | build/cmake/testbuild/main.c | 23 |
2 files changed, 47 insertions, 0 deletions
diff --git a/build/cmake/testbuild/CMakeLists.txt b/build/cmake/testbuild/CMakeLists.txt new file mode 100644 index 0000000..275e24d --- /dev/null +++ b/build/cmake/testbuild/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 2.8.12) +project(glew-cmake-test) + +find_package(GLEW REQUIRED CONFIG) +find_package(OpenGL REQUIRED) + +add_executable(cmake-test main.c) +set_target_properties(cmake-test PROPERTIES DEBUG_POSTFIX _d) +target_link_libraries(cmake-test PRIVATE GLEW::GLEW ${OPENGL_LIBRARIES}) +target_include_directories(cmake-test PRIVATE ${OPENGL_INCLUDE_DIR}) + +if(CMAKE_VERSION VERSION_LESS 3.0) + set(cgex $<CONFIGURATION>) +else() + set(cgex $<CONFIG>) +endif() + +target_compile_definitions(cmake-test PRIVATE + -DGLEW_CMAKE_TEST_CONFIG=${cgex} + -DGLEW_CMAKE_TEST_TARGET_FILE_NAME=$<TARGET_FILE_NAME:GLEW::GLEW> + -DGLEW_CMAKE_TEST_TARGET_TYPE=$<TARGET_PROPERTY:GLEW::GLEW,TYPE> + ) + +install(TARGETS cmake-test DESTINATION bin) diff --git a/build/cmake/testbuild/main.c b/build/cmake/testbuild/main.c new file mode 100644 index 0000000..5975817 --- /dev/null +++ b/build/cmake/testbuild/main.c @@ -0,0 +1,23 @@ +#include <GL/glew.h> + +#include <stdio.h> +#include <stdlib.h> + +#define S(x) SS(x) +#define SS(x) #x + +int main(int argc, char* argv[]) { + printf("GLEW CMake test, %s build\n", + S(GLEW_CMAKE_TEST_CONFIG)); + printf("-- linked to %s which is %s\n", + S(GLEW_CMAKE_TEST_TARGET_FILE_NAME), + S(GLEW_CMAKE_TEST_TARGET_TYPE)); + const GLubyte* v = glewGetString(GLEW_VERSION); + if(v) { + printf("-- glewGetString(GLEW_VERSION) returns %s\n-- test passed.\n", v); + return EXIT_SUCCESS; + } else { + printf("-- glewGetString(GLEW_VERSION) returns NULL\n-- test failed.\n"); + return EXIT_FAILURE; + } +} |