[CMAKE]
[reactos.git] / lib / 3rdparty / mingw / CMakeLists.txt
index 91e1721..2dc9e03 100644 (file)
@@ -1,9 +1,13 @@
 
 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/mingw-w64)
 
-add_definitions(-D_CRTBLD -Wno-main)
+add_definitions(-D_CRTBLD)
 
-set(MINGW_COMMON_SOURCE
+if(NOT MSVC)
+add_definitions(-Wno-main)
+endif(NOT MSVC)
+
+list(APPEND MINGW_COMMON_SOURCE
   _newmode.c
   atonexit.c
   binmode.c
@@ -23,6 +27,7 @@ set(MINGW_COMMON_SOURCE
   pseudo-reloc.c
   pseudo-reloc-list.c
   tlsmcrt.c
+  tlsmthread.c
   tlssup.c
   tlsthrd.c
   txtmode.c
@@ -31,11 +36,16 @@ set(MINGW_COMMON_SOURCE
   xthdloc.c
   xtxtmode.c
   ofmt_stub.c
-  cxa_pure_virtual.c
-)
+  cxa_pure_virtual.c)
 
 add_library(mingw_common ${MINGW_COMMON_SOURCE})
-target_link_libraries(mingw_common oldnames ${REACTOS_SOURCE_DIR}/dll/win32/kernel32/libkernel32.a ${REACTOS_SOURCE_DIR}/dll/ntdll/libntdll.a)
+
+if(NOT MSVC)
+  target_link_libraries(mingw_common)
+#  add_importlibs(mingw_common kernel32 ntdll oldnames)
+#  add_dependencies(mingw_common oldnames)
+endif(NOT MSVC)
+
 set_target_properties(mingw_common PROPERTIES COMPILE_DEFINITIONS _M_CEE_PURE)
 add_dependencies(mingw_common psdk)
 
@@ -53,8 +63,7 @@ add_dependencies(mingw_dllmain psdk)
 add_custom_command(
   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/liboldnames.a
   COMMAND ${MINGW_PREFIX}dlltool --def ${CMAKE_CURRENT_SOURCE_DIR}/moldname-msvcrt.def --kill-at --output-lib ${CMAKE_CURRENT_BINARY_DIR}/liboldnames.a
-  COMMAND ${MINGW_PREFIX}ar -rc ${CMAKE_CURRENT_BINARY_DIR}/liboldnames.a
-)
+  COMMAND ${MINGW_PREFIX}ar -rc ${CMAKE_CURRENT_BINARY_DIR}/liboldnames.a)
 
 set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/liboldnames.a PROPERTIES GENERATED TRUE)