diff options
author | Wolfgang Draxinger <Wolfgang.Draxinger@physik.uni-muenchen.de> | 2015-04-17 22:08:23 +0200 |
---|---|---|
committer | Wolfgang Draxinger <Wolfgang.Draxinger@physik.uni-muenchen.de> | 2015-04-17 22:08:23 +0200 |
commit | c3657a01ec8ce2c159978d1ee4d36b5456413ca1 (patch) | |
tree | 693deb440fe1f2ef028598ee428f07343b0bad13 /src/CMakeLists.txt | |
parent | b227e5e43414a59014c4882a2ead764ff3abd736 (diff) | |
download | wglarb-c3657a01ec8ce2c159978d1ee4d36b5456413ca1.tar.gz wglarb-c3657a01ec8ce2c159978d1ee4d36b5456413ca1.tar.bz2 |
changed build system from plain Makefile to CMake
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..c6abaf4 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 2.8) +project(libwglarb) + +include(GenerateExportHeader) + +# GCC intrinsics support and C++ standard library should be linked statically +# so that no external dependencies are created. +if(NOT MSVC) # TODO: this should test for GCC and not "not MSVC" compiler + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc -std=c99") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++") + set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -static-libgcc -s") + set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} -static-libgcc -static-libstdc++ -s") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++ -s ") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--output-def,wglarb${DLL_OUTPUT_SUFFIX}.def,--out-implib,wglarb.dll.a") +endif() + +set(OPENGL_API_LIBRARY opengl32) + +set(LIBWGLARB_INCLUDE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "wglarb source directory" FORCE) + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} ) +set(LIBWGLARB_SRC_FILES + wglarb.c ) + +add_library(wglarb_static STATIC + ${LIBWGLARB_SRC_FILES} ) + +add_library(wglarb_shared SHARED + ${LIBWGLARB_SRC_FILES} ) + +target_link_libraries( + wglarb_shared + ${OPENGL_API_LIBRARY} ) + +set_target_properties(wglarb_shared PROPERTIES DEFINE_SYMBOL "wglarb_EXPORTS") +set_target_properties(wglarb_shared PROPERTIES DEFINE_SYMBOL "wglarb_EXPORTS") + +set_target_properties(wglarb_shared PROPERTIES OUTPUT_NAME "wglarb") +set_target_properties(wglarb_static PROPERTIES OUTPUT_NAME "wglarb") + +set_target_properties(wglarb_shared PROPERTIES PREFIX "${DLL_OUTPUT_PREFIX}") +set_target_properties(wglarb_shared PROPERTIES SUFFIX "${DLL_OUTPUT_SUFFIX}.dll") |