[CMAKE]
[reactos.git] / dll / 3rdparty / mesa32 / CMakeLists.txt
index f2a4c7b..7cc558f 100644 (file)
@@ -1,11 +1,14 @@
 
+if(NOT MSVC)
+add_definitions(-w)
+endif()
+
 add_definitions(
     -DUSE_EXTERNAL_DXTN_LIB=1
     -DBUILD_GL32
     -DWIN32
-    -D_WINDOWS)
-
-add_definitions(-D_DLL -D__USE_CRTIMP)
+    -DUSE_3DNOW_ASM
+    -D_DLL -D__USE_CRTIMP)
 
 if(ARCH MATCHES i386)
 add_definitions(
@@ -16,17 +19,22 @@ else()
 add_definitions(-DGL_NO_STDCALL)
 endif(ARCH MATCHES i386)
 
-include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/main)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/glapi)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/math)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/tnl)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/grammar)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/slang)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/slang/OSDependent/Linux)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/slang/OGLCompilersDLL)
+if(NOT MSVC)
+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--enable-stdcall-fixup")
+endif()
+
+include_directories(
+    BEFORE include
+    src
+    src/main
+    src/glapi
+    src/math
+    src/tnl
+    src/shader
+    src/shader/grammar
+    src/shader/slang
+    src/shader/slang/OSDependent/Linux
+    src/shader/slang/OGLCompilersDLL)
 
 list(APPEND SOURCE
     src/drivers/common/driverfuncs.c
@@ -218,7 +226,10 @@ list(APPEND SOURCE
     src/vbo/vbo_save_loopback.c
     src/vbo/vbo_split.c
     src/vbo/vbo_split_copy.c
-    src/vbo/vbo_split_inplace.c)
+    src/vbo/vbo_split_inplace.c
+    src/drivers/windows/icd/mesa.def)
+
+set_source_files_properties(src/drivers/windows/icd/mesa.def PROPERTIES EXTERNAL_OBJECT TRUE)
 
 if(ARCH MATCHES i386)
 list(APPEND SOURCE
@@ -254,15 +265,8 @@ add_library(mesa32 SHARED ${SOURCE})
 
 set_entrypoint(mesa32 0)
 
-if (NOT MSVC)
-# this hides all warnings, is this really wanted ?
-#add_definitions(-w)
-
-endif(NOT MSVC)
-
-
-target_link_libraries(mesa32 ${CMAKE_CURRENT_SOURCE_DIR}/src/drivers/windows/icd/mesa.def)
-
 add_importlibs(mesa32 gdi32 user32 msvcrt kernel32 ntdll)
 
-add_dependencies(mesa32 psdk buildno_header)
+add_dependencies(mesa32 psdk)
+
+add_cd_file(TARGET mesa32 DESTINATION reactos/system32)