\r
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86")\r
- add_definitions(-D__i386__)\r
-endif()\r
-\r
-add_definitions(-Dinline=__inline)\r
-\r
-if(CMAKE_CROSSCOMPILING)\r
-\r
if(OPTIMIZE STREQUAL "1")\r
add_definitions(/O1)\r
elseif(OPTIMIZE STREQUAL "2")\r
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")\r
endif()\r
\r
+if(${ARCH} MATCHES amd64)\r
+ add_definitions(-D__x86_64)\r
+endif()\r
+\r
link_directories("${REACTOS_BINARY_DIR}/importlibs" ${REACTOS_BINARY_DIR}/lib/3rdparty/mingw)\r
\r
set(CMAKE_RC_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")\r
# dummy, this workaround is only needed in mingw due to lack of RC support in cmake\r
endmacro()\r
\r
-#idl files support\r
-set(IDL_COMPILER midl)\r
-set(IDL_FLAGS /win32)\r
-set(IDL_HEADER_ARG /h) #.h\r
-set(IDL_TYPELIB_ARG /tlb) #.tlb\r
-set(IDL_SERVER_ARG /sstub) #.c for stub server library\r
-set(IDL_CLIENT_ARG /cstub) #.c for stub client library\r
-set(IDL_PROXY_ARG /proxy)\r
-set(IDL_DLLDATA_ARG /dlldata )\r
-\r
# Thanks MS for creating a stupid linker\r
macro(add_importlib_target _exports_file)\r
get_filename_component(_name ${_exports_file} NAME_WE)\r
# Generate the asm stub file and the export def file\r
add_custom_command(\r
OUTPUT ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_exp.def\r
- COMMAND native-spec2def -@ -r -d=${CMAKE_BINARY_DIR}/importlibs/lib${_name}_exp.def -l=${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file}\r
+ COMMAND native-spec2def --kill-at -r -d=${CMAKE_BINARY_DIR}/importlibs/lib${_name}_exp.def -l=${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file}\r
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file})\r
\r
# Assemble the stub file\r
add_custom_target(\r
lib${_name}\r
DEPENDS ${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib)\r
- \r
+\r
add_dependencies(lib${_name} asm ${_dependencies})\r
endmacro()\r
\r
get_filename_component(_file ${_spec_file} NAME_WE)\r
add_custom_command(\r
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c\r
- COMMAND native-spec2def -@ -n=${_dllname} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file}\r
+ COMMAND native-spec2def --kill-at -n=${_dllname} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file}\r
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file})\r
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c\r
PROPERTIES GENERATED TRUE)\r
#pseh workaround\r
set(PSEH_LIB "")\r
\r
-endif(CMAKE_CROSSCOMPILING)\r
-\r