From c93d1289fdcab85dfd6254d9d42022ce34d19573 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Fri, 5 Nov 2010 18:06:25 +0000 Subject: [PATCH] [CMAKE] - Remove wpp from build. - Improve several tools and libs. - Improve the root cmake file. svn path=/branches/cmake-bringup/; revision=49492 --- CMakeLists.txt | 58 ++++++------ include/reactos/mc/CMakeLists.txt | 23 +++-- lib/3rdparty/fullfat/CMakeLists.txt | 18 +++- lib/3rdparty/icu4ros/CMakeLists.txt | 96 ++++++++++---------- lib/3rdparty/libmpg123/CMakeLists.txt | 1 + lib/3rdparty/libsamplerate/CMakeLists.txt | 14 ++- lib/3rdparty/libwine/CMakeLists.txt | 8 +- lib/3rdparty/libxml2/CMakeLists.txt | 105 ++++++++++++---------- lib/3rdparty/mingw/CMakeLists.txt | 58 ++++++------ lib/3rdparty/stlport/CMakeLists.txt | 64 ++++++------- lib/3rdparty/zlib/CMakeLists.txt | 27 +++--- lib/cmlib/CMakeLists.txt | 23 +++-- lib/dnslib/CMakeLists.txt | 22 ++++- 13 files changed, 297 insertions(+), 220 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29af31f68f0..0836826921a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,12 +29,13 @@ if(NOT CMAKE_CROSSCOMPILING) add_definitions(-DTARGET_i386) -include_directories(${REACTOS_SOURCE_DIR}/tools/unicode) -include_directories(include) -include_directories(include/host) -include_directories(include/reactos) -include_directories(include/reactos/wine) -include_directories(${REACTOS_BINARY_DIR}/include) +include_directories( + ${REACTOS_SOURCE_DIR}/tools/unicode + include + include/host + include/reactos + include/reactos/wine + ${REACTOS_BINARY_DIR}/include) add_subdirectory(tools) add_subdirectory(lib) @@ -48,12 +49,13 @@ endif() else() #Some cleanup -file(REMOVE ${REACTOS_BINARY_DIR}/boot/ros_livecd.txt) -file(REMOVE ${REACTOS_BINARY_DIR}/boot/ros_livecd_target.txt) -file(REMOVE ${REACTOS_BINARY_DIR}/boot/ros_minicd.txt) -file(REMOVE ${REACTOS_BINARY_DIR}/boot/ros_minicd_target.txt) -file(REMOVE ${REACTOS_BINARY_DIR}/boot/ros_cab.txt) -file(REMOVE ${REACTOS_BINARY_DIR}/boot/ros_cab_target.txt) +file(REMOVE + ${REACTOS_BINARY_DIR}/boot/ros_livecd.txt + ${REACTOS_BINARY_DIR}/boot/ros_livecd_target.txt + ${REACTOS_BINARY_DIR}/boot/ros_minicd.txt + ${REACTOS_BINARY_DIR}/boot/ros_minicd_target.txt + ${REACTOS_BINARY_DIR}/boot/ros_cab.txt + ${REACTOS_BINARY_DIR}/boot/ros_cab_target.txt) #Some useful variables set(LIVECD_DIR "${REACTOS_BINARY_DIR}/boot/livecd") @@ -66,7 +68,7 @@ enable_language(ASM) enable_language(RC) if(NOT DEFINED REACTOS_BUILD_TOOLS_DIR) - set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build) + set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build) endif() set(IMPORT_EXECUTABLES "${REACTOS_BUILD_TOOLS_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Host executables") @@ -89,26 +91,27 @@ add_definitions(-DWINVER=0x502 -D_WIN32_IE=0x600 -D_WIN32_WINNT=0x502 -D_WIN32_W add_definitions(-D_M_IX86 -D_X86_ -D__i386__) # Other -add_definitions(-DUSE_COMPILER_EXCEPTIONS) -add_definitions(-D_USE_32BIT_TIME_T) +add_definitions(-DUSE_COMPILER_EXCEPTIONS -D_USE_32BIT_TIME_T) + +include_directories( + include + include/psdk + include/dxsdk + ${REACTOS_BINARY_DIR}/include + ${REACTOS_BINARY_DIR}/include/dxsdk + ${REACTOS_BINARY_DIR}/include/psdk + ${REACTOS_BINARY_DIR}/include/reactos + include/crt + include/ddk + include/ndk + include/reactos + include/reactos/libs) -include_directories(include) -include_directories(include/psdk) -include_directories(include/dxsdk) -include_directories(${REACTOS_BINARY_DIR}/include) -include_directories(${REACTOS_BINARY_DIR}/include/dxsdk) -include_directories(${REACTOS_BINARY_DIR}/include/psdk) -include_directories(${REACTOS_BINARY_DIR}/include/reactos) -include_directories(include/crt) if(MSVC) include_directories(include/crt/msc) else() include_directories(include/crt/mingw32) endif(MSVC) -include_directories(include/ddk) -include_directories(include/ndk) -include_directories(include/reactos) -include_directories(include/reactos/libs) add_subdirectory(include/psdk) add_subdirectory(include/dxsdk) @@ -189,4 +192,3 @@ add_custom_target(gendib_generated ALL DEPENDS ${OUTPUT_FILES}) include(ros_cd.cmake) endif() - diff --git a/include/reactos/mc/CMakeLists.txt b/include/reactos/mc/CMakeLists.txt index d8005ea609e..061f7161ee2 100644 --- a/include/reactos/mc/CMakeLists.txt +++ b/include/reactos/mc/CMakeLists.txt @@ -1,17 +1,17 @@ if(MSVC) -MACRO(MACRO_MC FILE) +macro(MACRO_MC FILE) set (COMMAND_MC mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos ${REACTOS_SOURCE_DIR}/include/reactos/mc/${FILE}.mc) -ENDMACRO() +endmacro() else() -MACRO(MACRO_MC FILE) +macro(MACRO_MC FILE) set(COMMAND_MC ${MINGW_PREFIX}windmc -A -b ${REACTOS_SOURCE_DIR}/include/reactos/mc/${FILE}.mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos) -ENDMACRO() +endmacro() endif() -MACRO (MACRO_ADD_MESSAGE_HEADERS) +macro (MACRO_ADD_MESSAGE_HEADERS) - FOREACH(_in_FILE ${ARGN}) + foreach(_in_FILE ${ARGN}) get_filename_component(FILE ${_in_FILE} NAME_WE) MACRO_MC(${FILE}) @@ -26,9 +26,14 @@ MACRO (MACRO_ADD_MESSAGE_HEADERS) ) add_custom_target(${FILE} ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc) - ENDFOREACH(_in_FILE ${ARGN}) + endforeach(_in_FILE ${ARGN}) -ENDMACRO (MACRO_ADD_MESSAGE_HEADERS) +endmacro (MACRO_ADD_MESSAGE_HEADERS) -file(GLOB_RECURSE SOURCE "*.mc") +list(APPEND SOURCE + bugcodes.mc + errcodes.mc + netevent.mc + ntstatus.mc + pciclass.mc) MACRO_ADD_MESSAGE_HEADERS(${SOURCE}) diff --git a/lib/3rdparty/fullfat/CMakeLists.txt b/lib/3rdparty/fullfat/CMakeLists.txt index 001c38db0c7..657abdd3bb4 100644 --- a/lib/3rdparty/fullfat/CMakeLists.txt +++ b/lib/3rdparty/fullfat/CMakeLists.txt @@ -1,6 +1,20 @@ + include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/fullfat) add_definitions(-D__NTDRIVER__) -file(GLOB_RECURSE SOURCE "*.c") -add_library(fullfat ${SOURCE}) \ No newline at end of file +list(APPEND SOURCE + ff_blk.c + ff_crc.c + ff_dir.c + ff_error.c + ff_fat.c + ff_file.c + ff_hash.c + ff_ioman.c + ff_memory.c + ff_safety.c + ff_string.c + ff_time.c) + +add_library(fullfat ${SOURCE}) diff --git a/lib/3rdparty/icu4ros/CMakeLists.txt b/lib/3rdparty/icu4ros/CMakeLists.txt index 303dd1f6b6a..18133a9f188 100644 --- a/lib/3rdparty/icu4ros/CMakeLists.txt +++ b/lib/3rdparty/icu4ros/CMakeLists.txt @@ -1,50 +1,52 @@ -include_directories(icu/source/common) -include_directories(icu/source/i18n) -add_definitions(-DHAVE_EXPAT_CONFIG_H) -add_definitions(-DU_STATIC_IMPLEMENTATION) -add_definitions(-DU_HAVE_INTTYPES_H) -add_definitions(-DUCONFIG_NO_FILE_IO=1) -add_definitions(-DICU_NO_USER_DATA_OVERRIDE=1) +include_directories( + icu/source/common + icu/source/i18n) -set(SOURCE - "stubs.cpp" - "icu/source/common/bmpset.cpp" - "icu/source/common/uhash_us.cpp" - "icu/source/common/uidna.cpp" - "icu/source/common/unifilt.cpp" - "icu/source/common/unifunct.cpp" - "icu/source/common/uniset.cpp" - "icu/source/common/unisetspan.cpp" - "icu/source/common/unistr.cpp" - "icu/source/common/unorm.cpp" - "icu/source/common/uobject.cpp" - "icu/source/common/uobject.cpp" - "icu/source/common/uset.cpp" - "icu/source/common/usprep.cpp" - "icu/source/common/uiter.cpp" - "icu/source/common/util.cpp" - "icu/source/common/cmemory.c" - "icu/source/common/cstring.c" - "icu/source/common/locmap.c" - "icu/source/common/punycode.c" - "icu/source/common/ubidi_props.c" - "icu/source/common/ucln_cmn.c" - "icu/source/common/ucmndata.c" - "icu/source/common/ucol_swp.c" - "icu/source/common/udata.c" - "icu/source/common/udatamem.c" - "icu/source/common/udataswp.c" - "icu/source/common/uhash.c" - "icu/source/common/uinit.c" - "icu/source/common/uinvchar.c" - "icu/source/common/umapfile.c" - "icu/source/common/umath.c" - "icu/source/common/umutex.c" - "icu/source/common/ustring.c" - "icu/source/common/ustrtrns.c" - "icu/source/common/utf_impl.c" - "icu/source/common/utrie.c" - ) +add_definitions( + -DHAVE_EXPAT_CONFIG_H + -DU_STATIC_IMPLEMENTATION + -DU_HAVE_INTTYPES_H + -DUCONFIG_NO_FILE_IO=1 + -DICU_NO_USER_DATA_OVERRIDE=1) -add_library(icu4ros ${SOURCE}) \ No newline at end of file +list(APPEND SOURCE + stubs.cpp + icu/source/common/bmpset.cpp + icu/source/common/uhash_us.cpp + icu/source/common/uidna.cpp + icu/source/common/unifilt.cpp + icu/source/common/unifunct.cpp + icu/source/common/uniset.cpp + icu/source/common/unisetspan.cpp + icu/source/common/unistr.cpp + icu/source/common/unorm.cpp + icu/source/common/uobject.cpp + icu/source/common/uobject.cpp + icu/source/common/uset.cpp + icu/source/common/usprep.cpp + icu/source/common/uiter.cpp + icu/source/common/util.cpp + icu/source/common/cmemory.c + icu/source/common/cstring.c + icu/source/common/locmap.c + icu/source/common/punycode.c + icu/source/common/ubidi_props.c + icu/source/common/ucln_cmn.c + icu/source/common/ucmndata.c + icu/source/common/ucol_swp.c + icu/source/common/udata.c + icu/source/common/udatamem.c + icu/source/common/udataswp.c + icu/source/common/uhash.c + icu/source/common/uinit.c + icu/source/common/uinvchar.c + icu/source/common/umapfile.c + icu/source/common/umath.c + icu/source/common/umutex.c + icu/source/common/ustring.c + icu/source/common/ustrtrns.c + icu/source/common/utf_impl.c + icu/source/common/utrie.c) + +add_library(icu4ros ${SOURCE}) diff --git a/lib/3rdparty/libmpg123/CMakeLists.txt b/lib/3rdparty/libmpg123/CMakeLists.txt index afd33efe144..ba7bc4a05b9 100644 --- a/lib/3rdparty/libmpg123/CMakeLists.txt +++ b/lib/3rdparty/libmpg123/CMakeLists.txt @@ -1,3 +1,4 @@ + add_definitions( -DOPT_I386 -DREAL_IS_FLOAT diff --git a/lib/3rdparty/libsamplerate/CMakeLists.txt b/lib/3rdparty/libsamplerate/CMakeLists.txt index 30ab2807d86..9fa27006666 100644 --- a/lib/3rdparty/libsamplerate/CMakeLists.txt +++ b/lib/3rdparty/libsamplerate/CMakeLists.txt @@ -1,4 +1,12 @@ -add_definitions(-DHAVE_LRINT -DHAVE_LRINTF) -file(GLOB_RECURSE SOURCE "*.c") -add_library(libsamplerate ${SOURCE}) \ No newline at end of file +add_definitions( + -DHAVE_LRINT + -DHAVE_LRINTF) + +list(APPEND SOURCE + samplerate.c + src_linear.c + src_sinc.c + src_zoh.c) + +add_library(libsamplerate ${SOURCE}) diff --git a/lib/3rdparty/libwine/CMakeLists.txt b/lib/3rdparty/libwine/CMakeLists.txt index f3500b3e65c..1a243a2da2a 100644 --- a/lib/3rdparty/libwine/CMakeLists.txt +++ b/lib/3rdparty/libwine/CMakeLists.txt @@ -1,8 +1,12 @@ + include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) add_definitions(-D__WINESRC__) -file(GLOB_RECURSE SOURCE "*.c") -list(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/debug.c) +list(APPEND SOURCE + config.c + debug_ros.c + loader.c + string.c) add_library(wine ${SOURCE}) diff --git a/lib/3rdparty/libxml2/CMakeLists.txt b/lib/3rdparty/libxml2/CMakeLists.txt index 8facf73d8aa..e8c3ea20a95 100644 --- a/lib/3rdparty/libxml2/CMakeLists.txt +++ b/lib/3rdparty/libxml2/CMakeLists.txt @@ -1,54 +1,63 @@ -include_directories(.) -include_directories(./include) -add_definitions(-D__MINGW32__ -DLIBXML_STATIC -D_REENTRANT -DHAVE_WIN32_THREADS -D_MBCS -D_WINDOWS -DWIN32 -DHAVE_CONFIG_H) -add_definitions(-D_DLL -D__USE_CRTIMP) +include_directories( + . + include) + +add_definitions( + -D__MINGW32__ + -DLIBXML_STATIC + -D_REENTRANT + -DHAVE_WIN32_THREADS + -D_MBCS + -D_WINDOWS + -DWIN32 + -DHAVE_CONFIG_H + -D_DLL -D__USE_CRTIMP) list(APPEND SOURCE - c14n.c - catalog.c - chvalid.c - debugXML.c - dict.c - DOCBparser.c - encoding.c - entities.c - error.c - globals.c - hash.c - HTMLparser.c - HTMLtree.c - legacy.c - list.c - nanoftp.c - nanohttp.c - parser.c - parserInternals.c - pattern.c - relaxng.c - SAX.c - SAX2.c - threads.c - tree.c - uri.c - valid.c - xinclude.c - xlink.c - xmlIO.c - xmlmemory.c - xmlreader.c - xmlregexp.c - xmlmodule.c - xmlsave.c - xmlschemas.c - xmlschemastypes.c - xmlunicode.c - xmlwriter.c - xpath.c - xpointer.c - xmlstring.c -) + c14n.c + catalog.c + chvalid.c + debugXML.c + dict.c + DOCBparser.c + encoding.c + entities.c + error.c + globals.c + hash.c + HTMLparser.c + HTMLtree.c + legacy.c + list.c + nanoftp.c + nanohttp.c + parser.c + parserInternals.c + pattern.c + relaxng.c + SAX.c + SAX2.c + threads.c + tree.c + uri.c + valid.c + xinclude.c + xlink.c + xmlIO.c + xmlmemory.c + xmlreader.c + xmlregexp.c + xmlmodule.c + xmlsave.c + xmlschemas.c + xmlschemastypes.c + xmlunicode.c + xmlwriter.c + xpath.c + xpointer.c + xmlstring.c) add_library(libxml2 ${SOURCE}) target_link_libraries(libxml2 oldnames) -add_dependencies(libxml2 psdk) \ No newline at end of file +add_dependencies(libxml2 psdk) diff --git a/lib/3rdparty/mingw/CMakeLists.txt b/lib/3rdparty/mingw/CMakeLists.txt index 8157a509a6c..e985ceafd85 100644 --- a/lib/3rdparty/mingw/CMakeLists.txt +++ b/lib/3rdparty/mingw/CMakeLists.txt @@ -8,35 +8,35 @@ add_definitions(-Wno-main) endif(NOT MSVC) list(APPEND MINGW_COMMON_SOURCE - _newmode.c - atonexit.c - binmode.c - charmax.c - cinitexe.c - CRT_fp10.c - CRT_fp8.c - CRT_glob.c - crt_handler.c - dllentry.c - gccmain.c - gs_support.c - merr.c - mingw_helpers.c - natstart.c - pesect.c - pseudo-reloc.c - pseudo-reloc-list.c - tlsmcrt.c - tlsmthread.c - tlssup.c - tlsthrd.c - txtmode.c - wildcard.c - xncommod.c - xthdloc.c - xtxtmode.c - ofmt_stub.c - cxa_pure_virtual.c) + _newmode.c + atonexit.c + binmode.c + charmax.c + cinitexe.c + CRT_fp10.c + CRT_fp8.c + CRT_glob.c + crt_handler.c + dllentry.c + gccmain.c + gs_support.c + merr.c + mingw_helpers.c + natstart.c + pesect.c + pseudo-reloc.c + pseudo-reloc-list.c + tlsmcrt.c + tlsmthread.c + tlssup.c + tlsthrd.c + txtmode.c + wildcard.c + xncommod.c + xthdloc.c + xtxtmode.c + ofmt_stub.c + cxa_pure_virtual.c) add_library(mingw_common ${MINGW_COMMON_SOURCE}) diff --git a/lib/3rdparty/stlport/CMakeLists.txt b/lib/3rdparty/stlport/CMakeLists.txt index c8435ed59bc..e48de4e060f 100644 --- a/lib/3rdparty/stlport/CMakeLists.txt +++ b/lib/3rdparty/stlport/CMakeLists.txt @@ -7,37 +7,37 @@ add_definitions(-D_STLP_USE_EXCEPTIONS) set_cpp() list(APPEND SOURCE - src/allocators.cpp - src/bitset.cpp - src/codecvt.cpp - src/collate.cpp - src/complex.cpp - src/complex_io.cpp - src/complex_trig.cpp - src/ctype.cpp - src/dll_main.cpp - src/facets_byname.cpp - src/fstream.cpp - src/ios.cpp - src/iostream.cpp - src/istream.cpp - src/locale.cpp - src/locale_catalog.cpp - src/locale_impl.cpp - src/messages.cpp - src/monetary.cpp - src/num_get.cpp - src/num_get_float.cpp - src/num_put.cpp - src/num_put_float.cpp - src/numpunct.cpp - src/ostream.cpp - src/sstream.cpp - src/stdio_streambuf.cpp - src/string.cpp - src/strstream.cpp - src/time_facets.cpp - src/c_locale.c - src/cxa.c) + src/allocators.cpp + src/bitset.cpp + src/codecvt.cpp + src/collate.cpp + src/complex.cpp + src/complex_io.cpp + src/complex_trig.cpp + src/ctype.cpp + src/dll_main.cpp + src/facets_byname.cpp + src/fstream.cpp + src/ios.cpp + src/iostream.cpp + src/istream.cpp + src/locale.cpp + src/locale_catalog.cpp + src/locale_impl.cpp + src/messages.cpp + src/monetary.cpp + src/num_get.cpp + src/num_get_float.cpp + src/num_put.cpp + src/num_put_float.cpp + src/numpunct.cpp + src/ostream.cpp + src/sstream.cpp + src/stdio_streambuf.cpp + src/string.cpp + src/strstream.cpp + src/time_facets.cpp + src/c_locale.c + src/cxa.c) add_library(stlport ${SOURCE}) diff --git a/lib/3rdparty/zlib/CMakeLists.txt b/lib/3rdparty/zlib/CMakeLists.txt index 7c8fd9cb623..d0ac723a56c 100644 --- a/lib/3rdparty/zlib/CMakeLists.txt +++ b/lib/3rdparty/zlib/CMakeLists.txt @@ -1,18 +1,25 @@ -file(GLOB_RECURSE SOURCE "*.c") - -LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/minigzip.c) -LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/example.c) - add_definitions(-DNO_VIZ) +list(APPEND SOURCE + adler32.c + compress.c + crc32.c + deflate.c + gzclose.c + gzlib.c + gzread.c + gzwrite.c + infback.c + inffast.c + inflate.c + inftrees.c + trees.c + uncompr.c + zutil.c) + if(CMAKE_CROSSCOMPILING) - add_library(zlib ${SOURCE}) - else() - add_library(zlibhost ${SOURCE}) - endif() - diff --git a/lib/cmlib/CMakeLists.txt b/lib/cmlib/CMakeLists.txt index fef57655ff8..dcff7ac473d 100644 --- a/lib/cmlib/CMakeLists.txt +++ b/lib/cmlib/CMakeLists.txt @@ -1,18 +1,25 @@ -file(GLOB_RECURSE SOURCE "*.c") +add_definitions( + -D_NTOSKRNL_ + -D_NTSYSTEM_ + -DNASSERT) -add_definitions(-D_NTOSKRNL_ -D_NTSYSTEM_ -DNASSERT) +list(APPEND SOURCE + cminit.c + hivebin.c + hivecell.c + hiveinit.c + hivesum.c + hivewrt.c) if(CMAKE_CROSSCOMPILING) - add_library(cmlib ${SOURCE}) add_dependencies(cmlib bugcodes) - else() - -add_definitions(-DWINE_UNICODE_API= -D__NO_CTYPE_INLINES -DCMLIB_HOST) +add_definitions( + -DWINE_UNICODE_API= + -D__NO_CTYPE_INLINES + -DCMLIB_HOST) add_library(cmlibhost ${SOURCE}) target_link_libraries(cmlibhost unicode) - endif() - diff --git a/lib/dnslib/CMakeLists.txt b/lib/dnslib/CMakeLists.txt index f278f0756ca..4893ebfd7c1 100644 --- a/lib/dnslib/CMakeLists.txt +++ b/lib/dnslib/CMakeLists.txt @@ -1,7 +1,25 @@ + include_directories(inc) add_definitions(-DUNICODE -D_UNICODE) -file(GLOB_RECURSE SOURCE "*.c") +list(APPEND SOURCE + addr.c + debug.c + dnsaddr.c + dnsutil.c + flatbuf.c + hostent.c + ip6.c + memory.c + name.c + print.c + record.c + rrprint.c + sablob.c + straddr.c + string.c + table.c + utf8.c) -add_library(dnslib ${SOURCE}) \ No newline at end of file +add_library(dnslib ${SOURCE})