[GLU32]
[reactos.git] / reactos / dll / opengl / glu32 / CMakeLists.txt
diff --git a/reactos/dll/opengl/glu32/CMakeLists.txt b/reactos/dll/opengl/glu32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6892dc0
--- /dev/null
@@ -0,0 +1,132 @@
+
+include_directories(BEFORE
+    include
+    src/include
+    src/libnurbs/internals
+    src/libnurbs/interface
+    src/libnurbs/nurbtess
+)
+
+add_definitions(
+    -DBUILD_GLU32
+    -DNDEBUG
+    -DLIBRARYBUILD
+    -DRESOLVE_3D_TEXTURE_SUPPORT
+)
+
+#this library uses C++
+# set_cpp()
+
+# we must use our own spec file
+spec2def(glu32.dll glu32.spec ADD_IMPORTLIB)
+
+list(APPEND SOURCE
+    src/libutil/error.c
+    src/libutil/glue.c
+    src/libutil/mipmap.c
+    src/libutil/project.c
+    src/libutil/quad.c
+    src/libutil/registry.c
+    src/libtess/dict.c
+    src/libtess/geom.c
+    src/libtess/memalloc.c
+    src/libtess/mesh.c
+    src/libtess/normal.c
+    src/libtess/priorityq.c
+    src/libtess/render.c
+    src/libtess/sweep.c
+    src/libtess/tess.c
+    src/libtess/tessmono.c
+    src/libnurbs/interface/bezierEval.cc
+    src/libnurbs/interface/bezierPatch.cc
+    src/libnurbs/interface/bezierPatchMesh.cc
+    src/libnurbs/interface/glcurveval.cc
+    src/libnurbs/interface/glinterface.cc
+    src/libnurbs/interface/glrenderer.cc
+    src/libnurbs/interface/glsurfeval.cc
+    src/libnurbs/interface/incurveeval.cc
+    src/libnurbs/interface/insurfeval.cc
+    src/libnurbs/internals/arc.cc
+    src/libnurbs/internals/arcsorter.cc
+    src/libnurbs/internals/arctess.cc
+    src/libnurbs/internals/backend.cc
+    src/libnurbs/internals/basiccrveval.cc
+    src/libnurbs/internals/basicsurfeval.cc
+    src/libnurbs/internals/bin.cc
+    src/libnurbs/internals/bufpool.cc
+    src/libnurbs/internals/cachingeval.cc
+    src/libnurbs/internals/ccw.cc
+    src/libnurbs/internals/coveandtiler.cc
+    src/libnurbs/internals/curve.cc
+    src/libnurbs/internals/curvelist.cc
+    src/libnurbs/internals/curvesub.cc
+    src/libnurbs/internals/dataTransform.cc
+    src/libnurbs/internals/displaylist.cc
+    src/libnurbs/internals/flist.cc
+    src/libnurbs/internals/flistsorter.cc
+    src/libnurbs/internals/hull.cc
+    src/libnurbs/internals/intersect.cc
+    src/libnurbs/internals/knotvector.cc
+    src/libnurbs/internals/mapdesc.cc
+    src/libnurbs/internals/mapdescv.cc
+    src/libnurbs/internals/maplist.cc
+    src/libnurbs/internals/mesher.cc
+    src/libnurbs/internals/monoTriangulationBackend.cc
+    src/libnurbs/internals/monotonizer.cc
+    src/libnurbs/internals/mycode.cc
+    src/libnurbs/internals/nurbsinterfac.cc
+    src/libnurbs/internals/nurbstess.cc
+    src/libnurbs/internals/patch.cc
+    src/libnurbs/internals/patchlist.cc
+    src/libnurbs/internals/quilt.cc
+    src/libnurbs/internals/reader.cc
+    src/libnurbs/internals/renderhints.cc
+    src/libnurbs/internals/slicer.cc
+    src/libnurbs/internals/sorter.cc
+    src/libnurbs/internals/splitarcs.cc
+    src/libnurbs/internals/subdivider.cc
+    src/libnurbs/internals/tobezier.cc
+    src/libnurbs/internals/trimline.cc
+    src/libnurbs/internals/trimregion.cc
+    src/libnurbs/internals/trimvertpool.cc
+    src/libnurbs/internals/uarray.cc
+    src/libnurbs/internals/varray.cc
+    src/libnurbs/nurbtess/directedLine.cc
+    src/libnurbs/nurbtess/gridWrap.cc
+    src/libnurbs/nurbtess/monoChain.cc
+    src/libnurbs/nurbtess/monoPolyPart.cc
+    src/libnurbs/nurbtess/monoTriangulation.cc
+    src/libnurbs/nurbtess/partitionX.cc
+    src/libnurbs/nurbtess/partitionY.cc
+    src/libnurbs/nurbtess/polyDBG.cc
+    src/libnurbs/nurbtess/polyUtil.cc
+    src/libnurbs/nurbtess/primitiveStream.cc
+    src/libnurbs/nurbtess/quicksort.cc
+    src/libnurbs/nurbtess/rectBlock.cc
+    src/libnurbs/nurbtess/sampleComp.cc
+    src/libnurbs/nurbtess/sampleCompBot.cc
+    src/libnurbs/nurbtess/sampleCompRight.cc
+    src/libnurbs/nurbtess/sampleCompTop.cc
+    src/libnurbs/nurbtess/sampleMonoPoly.cc
+    src/libnurbs/nurbtess/sampledLine.cc
+    src/libnurbs/nurbtess/searchTree.cc
+    ${CMAKE_CURRENT_BINARY_DIR}/glu32.def
+)
+
+add_library(glu32 SHARED ${SOURCE})
+set_module_type(glu32 win32dll)
+
+if(NOT MSVC)
+#FIXME: we really need a standard C++ library
+    target_link_libraries(glu32 -lsupc++ -lgcc)
+    add_compile_flags("-Wno-error=write-strings")
+endif()
+
+add_importlibs(glu32
+    opengl32
+    gdi32
+    msvcrt
+    kernel32
+    ntdll)
+
+add_cd_file(TARGET glu32 DESTINATION reactos/system32 FOR all)