From 26a40933491c3fb26424301ed1f763f36bf1b616 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Tue, 11 Oct 2011 18:31:35 +0000 Subject: [PATCH] [CMAKE] * Use the gcc toolchain-provided STL. * Use STLport only on MSVC builds. [KSPROXY] * Set imagebase, properly set its entry point, use set_cpp() instead of hardcoded definition/includes and add no exceptions/rtti gcc flags. [GLU32] * Use set_cpp() instead of the hardcoded target_link_libraries(). [PORTCLS] * Use set_module_type() with proper entry point, instead of expanded macro calls, and get rid of hardcoded target_link_libraries(). * Commit Dedicated to Olaf Siejka (Caemyr). svn path=/trunk/; revision=54082 --- .../base/applications/sndrec32/CMakeLists.txt | 1 - reactos/cmake/CMakeMacros.cmake | 10 ++++++---- reactos/cmake/gcc.cmake | 2 +- reactos/dll/directx/ksproxy/CMakeLists.txt | 19 ++++++------------- reactos/dll/win32/glu32/CMakeLists.txt | 6 ++---- .../wdm/audio/backpln/portcls/CMakeLists.txt | 11 +++-------- reactos/lib/3rdparty/CMakeLists.txt | 4 +++- 7 files changed, 21 insertions(+), 32 deletions(-) diff --git a/reactos/base/applications/sndrec32/CMakeLists.txt b/reactos/base/applications/sndrec32/CMakeLists.txt index 761182c9d55..553a29ea6df 100644 --- a/reactos/base/applications/sndrec32/CMakeLists.txt +++ b/reactos/base/applications/sndrec32/CMakeLists.txt @@ -13,7 +13,6 @@ add_executable(sndrec32 sndrec32.cpp rsrc.rc) -target_link_libraries(sndrec32 stlport) set_module_type(sndrec32 win32gui UNICODE) add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt kernel32) add_cd_file(TARGET sndrec32 DESTINATION reactos/system32 FOR all) diff --git a/reactos/cmake/CMakeMacros.cmake b/reactos/cmake/CMakeMacros.cmake index 6cf6ad92826..869d0e7dd79 100644 --- a/reactos/cmake/CMakeMacros.cmake +++ b/reactos/cmake/CMakeMacros.cmake @@ -1,10 +1,12 @@ macro(set_cpp) - include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/c++/stlport) set(IS_CPP 1) - add_definitions( - -DNATIVE_CPP_INCLUDE=${REACTOS_SOURCE_DIR}/include/c++ - -DNATIVE_C_INCLUDE=${REACTOS_SOURCE_DIR}/include/crt) + if(MSVC) + include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/c++/stlport) + add_definitions( + -DNATIVE_CPP_INCLUDE=${REACTOS_SOURCE_DIR}/include/c++ + -DNATIVE_C_INCLUDE=${REACTOS_SOURCE_DIR}/include/crt) + endif() endmacro() function(add_dependency_node _node) diff --git a/reactos/cmake/gcc.cmake b/reactos/cmake/gcc.cmake index b11825dcf18..75a8ebdeb01 100644 --- a/reactos/cmake/gcc.cmake +++ b/reactos/cmake/gcc.cmake @@ -150,7 +150,7 @@ endfunction() function(set_module_type_toolchain MODULE TYPE) if(IS_CPP) - target_link_libraries(${MODULE} stlport -lsupc++ -lgcc) + target_link_libraries(${MODULE} -lstdc++ -lsupc++ -lgcc -lmingwex) endif() if(${TYPE} STREQUAL kernelmodedriver) diff --git a/reactos/dll/directx/ksproxy/CMakeLists.txt b/reactos/dll/directx/ksproxy/CMakeLists.txt index ab77395fa84..750130c56de 100644 --- a/reactos/dll/directx/ksproxy/CMakeLists.txt +++ b/reactos/dll/directx/ksproxy/CMakeLists.txt @@ -1,12 +1,8 @@ +set_cpp() + spec2def(ksproxy.ax ksproxy.spec) -add_definitions( - -DNATIVE_CPP_INCLUDE=${REACTOS_SOURCE_DIR}/include/c++ - -DNATIVE_C_INCLUDE=${REACTOS_SOURCE_DIR}/include/crt) - -include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/c++/stlport) - add_library(ksproxy SHARED allocator.cpp basicaudio.cpp @@ -28,17 +24,16 @@ add_library(ksproxy SHARED qualityforward.cpp ${CMAKE_CURRENT_BINARY_DIR}/ksproxy.def) -set_entrypoint(ksproxy 0) +set_module_type(ksproxy win32dll ENTRYPOINT 0) set_target_properties(ksproxy PROPERTIES SUFFIX ".ax") + if(MSVC) add_target_compile_flags(ksproxy "/GR-") else() - #FIXME : can't build if this is enabled, check if this is needed - #add_target_compile_flags(ksproxy "-fno-exceptions -fno-rtti") - target_link_libraries(ksproxy -lsupc++ -lgcc -lmingw32 oldnames) + add_target_compile_flags(ksproxy "-fno-exceptions -fno-rtti") endif() -target_link_libraries(ksproxy stlport strmiids) +target_link_libraries(ksproxy strmiids) add_importlibs(ksproxy advapi32 @@ -49,6 +44,4 @@ add_importlibs(ksproxy kernel32 ntdll) -add_dependencies(ksproxy psdk) - add_cd_file(TARGET ksproxy DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/glu32/CMakeLists.txt b/reactos/dll/win32/glu32/CMakeLists.txt index 4454707363c..9b16182cce7 100644 --- a/reactos/dll/win32/glu32/CMakeLists.txt +++ b/reactos/dll/win32/glu32/CMakeLists.txt @@ -1,4 +1,6 @@ +set_cpp() + add_definitions( -DRESOLVE_3D_TEXTURE_SUPPORT -DBUILD_GL32 @@ -110,10 +112,6 @@ add_library(glu32 SHARED ${SOURCE}) allow_warnings(glu32) set_module_type(glu32 win32dll ENTRYPOINT 0 ) -if(NOT MSVC) - target_link_libraries(glu32 stlport -lsupc++ -lgcc -lmingw32 oldnames) -endif() - add_importlibs(glu32 opengl32 gdi32 diff --git a/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt b/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt index 264aa7d9262..c5f109876df 100644 --- a/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt +++ b/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt @@ -53,20 +53,15 @@ add_library(portcls SHARED target_link_libraries(portcls libcntpr - stlport ${PSEH_LIB}) if(MSVC) add_target_compile_flags(portcls "/GR-") else() - target_link_libraries(portcls -lgcc) add_target_compile_flags(portcls "-fno-exceptions -fno-rtti") -endif(MSVC) +endif() +set_module_type(portcls kernelmodedriver ENTRYPOINT 0 ) add_pch(portcls private.hpp) -set_entrypoint(portcls 0) -set_image_base(portcls 0x00010000) -set_subsystem(portcls native) -set_target_properties(portcls PROPERTIES SUFFIX ".sys") add_importlibs(portcls ntoskrnl ks drmk hal) -add_cd_file(TARGET portcls DESTINATION reactos/system32/drivers FOR all) \ No newline at end of file +add_cd_file(TARGET portcls DESTINATION reactos/system32/drivers FOR all) diff --git a/reactos/lib/3rdparty/CMakeLists.txt b/reactos/lib/3rdparty/CMakeLists.txt index 78240271299..bd79d4b6e0a 100644 --- a/reactos/lib/3rdparty/CMakeLists.txt +++ b/reactos/lib/3rdparty/CMakeLists.txt @@ -9,5 +9,7 @@ add_subdirectory(libmpg123) add_subdirectory(libsamplerate) add_subdirectory(libwine) add_subdirectory(libxml2) -add_subdirectory(stlport) +if(MSVC) + add_subdirectory(stlport) +endif() add_subdirectory(zlib)