Author: tfaber
Date: Sat Jun 22 14:44:56 2013
New Revision: 59288
URL:
http://svn.reactos.org/svn/reactos?rev=59288&view=rev
Log:
[CMAKE]
- rework set_cpp to allow fine-grained control over enabled language features
CORE-6950
Modified:
trunk/reactos/base/applications/atactl/CMakeLists.txt
trunk/reactos/base/applications/games/solitaire/CMakeLists.txt
trunk/reactos/base/applications/games/spider/CMakeLists.txt
trunk/reactos/base/applications/network/telnet/CMakeLists.txt
trunk/reactos/base/applications/sndrec32/CMakeLists.txt
trunk/reactos/base/shell/explorer/CMakeLists.txt
trunk/reactos/cmake/CMakeMacros.cmake
trunk/reactos/cmake/gcc.cmake
trunk/reactos/cmake/msvc.cmake
trunk/reactos/dll/directx/ksproxy/CMakeLists.txt
trunk/reactos/dll/opengl/glu32/CMakeLists.txt
trunk/reactos/dll/opengl/mesa/src/gallium/targets/libgl-gdi/CMakeLists.txt
trunk/reactos/dll/opengl/mesa/src/glsl/CMakeLists.txt
trunk/reactos/dll/opengl/mesa/src/mapi/glapi/CMakeLists.txt
trunk/reactos/dll/opengl/mesa/src/mesa/CMakeLists.txt
trunk/reactos/dll/win32/browseui/CMakeLists.txt
trunk/reactos/dll/win32/netshell/CMakeLists.txt
trunk/reactos/dll/win32/shell32/CMakeLists.txt
trunk/reactos/drivers/storage/ide/uniata/CMakeLists.txt
trunk/reactos/drivers/usb/usbehci/CMakeLists.txt
trunk/reactos/drivers/usb/usbohci/CMakeLists.txt
trunk/reactos/drivers/usb/usbuhci/CMakeLists.txt
trunk/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt
trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/CMakeLists.txt
trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cmicontrol/CMakeLists.txt
trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cpl/CMakeLists.txt
trunk/reactos/lib/atl/CMakeLists.txt
trunk/reactos/lib/drivers/libusb/CMakeLists.txt
trunk/reactos/lib/drivers/sound/stdunk/CMakeLists.txt
trunk/reactos/lib/sdk/comsupp/CMakeLists.txt
trunk/rostests/rosautotest/CMakeLists.txt
Modified: trunk/reactos/base/applications/atactl/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/atactl/C…
==============================================================================
--- trunk/reactos/base/applications/atactl/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/base/applications/atactl/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -1,4 +1,6 @@
+
set_cpp()
+
add_definitions(-DUSER_MODE)
include_directories(${REACTOS_SOURCE_DIR}/drivers/storage/ide/uniata)
add_executable(atactl atactl.cpp atactl.rc)
@@ -9,7 +11,6 @@
# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
#allow_warnings(atactl)
set_source_files_properties(atactl.cpp PROPERTIES COMPILE_FLAGS
"-Wno-error")
- target_link_libraries(atactl gcc)
endif()
add_cd_file(TARGET atactl DESTINATION reactos/system32 FOR all)
Modified: trunk/reactos/base/applications/games/solitaire/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/CMakeLists.txt [iso-8859-1]
(original)
+++ trunk/reactos/base/applications/games/solitaire/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -1,5 +1,5 @@
-set_cpp()
+set_cpp(WITH_RUNTIME)
include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib)
Modified: trunk/reactos/base/applications/games/spider/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/sp…
==============================================================================
--- trunk/reactos/base/applications/games/spider/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/base/applications/games/spider/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -1,7 +1,9 @@
-set_cpp()
+set_cpp(WITH_RUNTIME)
-include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib
${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(
+ ${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib
+ ${CMAKE_CURRENT_SOURCE_DIR})
add_executable(spider
spider.cpp
Modified: trunk/reactos/base/applications/network/telnet/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/…
==============================================================================
--- trunk/reactos/base/applications/network/telnet/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/base/applications/network/telnet/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -1,7 +1,7 @@
+
+set_cpp(WITH_STL)
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
-
-set_cpp()
add_executable(telnet
src/ansiprsr.cpp
Modified: trunk/reactos/base/applications/sndrec32/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/sndrec32…
==============================================================================
--- trunk/reactos/base/applications/sndrec32/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/base/applications/sndrec32/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -1,5 +1,5 @@
-set_cpp()
+set_cpp(WITH_RUNTIME)
add_executable(sndrec32
audio_format.cpp
Modified: trunk/reactos/base/shell/explorer/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/CMakeL…
==============================================================================
--- trunk/reactos/base/shell/explorer/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -1,7 +1,7 @@
add_subdirectory(notifyhook)
-set_cpp()
+set_cpp(WITH_RTTI WITH_EXCEPTIONS WITH_STL)
add_definitions(
-DWIN32
Modified: trunk/reactos/cmake/CMakeMacros.cmake
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/CMakeMacros.cmake?re…
==============================================================================
--- trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] (original)
+++ trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,9 +1,81 @@
+# set_cpp
+# Marks the current folder as containing C++ modules, additionally enabling
+# specific C++ language features as specified (all of these default to off):
+#
+# WITH_RUNTIME
+# Links with the C++ runtime. Enable this for modules which use new/delete or
+# RTTI, but do not require STL. This is the right choice if you see undefined
+# references to operator new/delete, vector constructor/destructor iterator,
+# type_info::vtable, ...
+# Note: this only affects linking, so cannot be used for static libraries.
+# WITH_RTTI
+# Enables run-time type information. Enable this if the module uses typeid or
+# dynamic_cast. You will probably need to enable WITH_RUNTIME as well, if
+# you're not already using STL.
+# WITH_EXCEPTIONS
+# Enables C++ exception handling. Enable this if the module uses try/catch or
+# throw. You might also need this if you use a standard operator new (the one
+# without nothrow).
+# WITH_STL
+# Enables standard C++ headers and links to the Standard Template Library.
+# Use this for modules using anything from the std:: namespace, e.g. maps,
+# strings, vectors, etc.
+# Note: this affects both compiling (via include directories) and
+# linking (by adding STL). Implies WITH_RUNTIME.
+# FIXME: WITH_STL is currently also required for runtime headers such as
+# <new> and <exception>. This is not a big issue because in
stl-less
+# environments you usually don't want those anyway; but we might want
+# to have modules like this in the future.
+#
+# Examples:
+# set_cpp()
+# Enables the C++ language, but will cause errors if any runtime or standard
+# library features are used. This should be the default for C++ in kernel
+# mode or otherwise restricted environments.
+# Note: this is required to get libgcc (for multiplication/division) linked
+# in for C++ modules, and to set the correct language for precompiled
+# header files, so it IS required even with no features specified.
+# set_cpp(WITH_RUNTIME)
+# Links with the C++ runtime, so that e.g. custom operator new implementations
+# can be used in a restricted environment. This is also required for linking
+# with libraries (such as ATL) which have RTTI enabled, even if the module in
+# question does not use WITH_RTTI.
+# set_cpp(WITH_RTTI WITH_EXCEPTIONS WITH_STL)
+# The full package. This will adjust compiler and linker so that all C++
+# features can be used.
macro(set_cpp)
+ cmake_parse_arguments(__cppopts
"WITH_RUNTIME;WITH_RTTI;WITH_EXCEPTIONS;WITH_STL" "" ""
${ARGN})
+ if(__cppopts_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "set_cpp: unparsed arguments
${__cppopts_UNPARSED_ARGUMENTS}")
+ endif()
+
+ if(__cppopts_WITH_RUNTIME)
+ set(CPP_USE_RT 1)
+ endif()
+ if(__cppopts_WITH_RTTI)
+ if(MSVC)
+ replace_compile_flags("/GR-" "/GR")
+ else()
+ replace_compile_flags_language("-fno-rtti" "-frtti"
"CXX")
+ endif()
+ endif()
+ if(__cppopts_WITH_EXCEPTIONS)
+ if(MSVC)
+ replace_compile_flags("/EHs-c-" "/EHsc")
+ else()
+ replace_compile_flags_language("-fno-exceptions"
"-fexceptions" "CXX")
+ endif()
+ endif()
+ if(__cppopts_WITH_STL)
+ set(CPP_USE_STL 1)
+ if(MSVC)
+ add_definitions(-DNATIVE_CPP_INCLUDE=${REACTOS_SOURCE_DIR}/include/c++)
+ include_directories(${REACTOS_SOURCE_DIR}/include/c++/stlport)
+ endif()
+ endif()
+
set(IS_CPP 1)
- if(MSVC)
- include_directories(${REACTOS_SOURCE_DIR}/include/c++)
- endif()
endmacro()
function(add_dependency_node _node)
Modified: trunk/reactos/cmake/gcc.cmake
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/gcc.cmake?rev=59288&…
==============================================================================
--- trunk/reactos/cmake/gcc.cmake [iso-8859-1] (original)
+++ trunk/reactos/cmake/gcc.cmake [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -14,6 +14,8 @@
if(GCC_VERSION VERSION_GREATER 4.7)
add_compile_flags("-mstackrealign")
endif()
+
+add_compile_flags_language("-fno-rtti -fno-exceptions" "CXX")
#bug
#file(TO_NATIVE_PATH ${REACTOS_SOURCE_DIR} REACTOS_SOURCE_DIR_NATIVE)
@@ -190,12 +192,15 @@
endfunction()
function(set_module_type_toolchain MODULE TYPE)
- if(IS_CPP)
+ if(CPP_USE_STL)
if((${TYPE} STREQUAL "kernelmodedriver") OR (${TYPE} STREQUAL
"wdmdriver"))
- target_link_libraries(${MODULE} -lgcc)
- else()
- target_link_libraries(${MODULE} -lstdc++ -lsupc++ -lgcc -lmingwex)
- endif()
+ message(FATAL_ERROR "Use of STL in kernelmodedriver or wdmdriver type
module prohibited")
+ endif()
+ target_link_libraries(${MODULE} -lstdc++ -lsupc++ -lgcc -lmingwex)
+ elseif(CPP_USE_RT)
+ target_link_libraries(${MODULE} -lsupc++ -lgcc)
+ elseif(IS_CPP)
+ target_link_libraries(${MODULE} -lgcc)
endif()
if((${TYPE} STREQUAL "kernelmodedriver") OR (${TYPE} STREQUAL
"wdmdriver"))
Modified: trunk/reactos/cmake/msvc.cmake
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/msvc.cmake?rev=59288…
==============================================================================
--- trunk/reactos/cmake/msvc.cmake [iso-8859-1] (original)
+++ trunk/reactos/cmake/msvc.cmake [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -20,7 +20,7 @@
add_definitions(/Dinline=__inline /D__STDC__=1)
-add_compile_flags("/X /GR- /GS- /Zl /W3")
+add_compile_flags("/X /GR- /EHs-c- /GS- /Zl /W3")
# HACK: for VS 11+ we need to explicitly disable SSE, which is off by
# default for older compilers. See bug #7174
@@ -108,6 +108,12 @@
endfunction()
function(set_module_type_toolchain MODULE TYPE)
+ if(CPP_USE_STL)
+ if((${TYPE} STREQUAL "kernelmodedriver") OR (${TYPE} STREQUAL
"wdmdriver"))
+ message(FATAL_ERROR "Use of STL in kernelmodedriver or wdmdriver type
module prohibited")
+ endif()
+ #target_link_libraries(${MODULE} stlport oldnames)
+ endif()
if((${TYPE} STREQUAL "win32dll") OR (${TYPE} STREQUAL "win32ocx")
OR (${TYPE} STREQUAL "cpl"))
add_target_link_flags(${MODULE} "/DLL")
elseif(${TYPE} STREQUAL "kernelmodedriver")
Modified: trunk/reactos/dll/directx/ksproxy/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ksproxy/CMakeL…
==============================================================================
--- trunk/reactos/dll/directx/ksproxy/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/ksproxy/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -1,5 +1,5 @@
-set_cpp()
+set_cpp(WITH_STL)
spec2def(ksproxy.ax ksproxy.spec)
@@ -27,14 +27,6 @@
set_module_type(ksproxy win32dll)
set_target_properties(ksproxy PROPERTIES SUFFIX ".ax")
-if(MSVC)
- add_target_compile_flags(ksproxy "/GR-")
-else()
- # FIXME:
http://www.cmake.org/Bug/view.php?id=12998
- #add_target_compile_flags(ksproxy "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti")
-endif()
-
target_link_libraries(ksproxy strmiids)
add_importlibs(ksproxy advapi32 ole32 setupapi ksuser msvcrt kernel32 ntdll)
add_dependencies(ksproxy dxsdk)
Modified: trunk/reactos/dll/opengl/glu32/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/opengl/glu32/CMakeList…
==============================================================================
--- trunk/reactos/dll/opengl/glu32/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/opengl/glu32/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,21 +1,18 @@
+
+set_cpp(WITH_RUNTIME)
include_directories(BEFORE
include
src/include
src/libnurbs/internals
src/libnurbs/interface
- src/libnurbs/nurbtess
-)
+ src/libnurbs/nurbtess)
add_definitions(
-DBUILD_GLU32
-DNDEBUG
-DLIBRARYBUILD
- -DRESOLVE_3D_TEXTURE_SUPPORT
-)
-
-#this library uses C++
-# set_cpp()
+ -DRESOLVE_3D_TEXTURE_SUPPORT)
# we must use our own spec file
spec2def(glu32.dll glu32.spec ADD_IMPORTLIB)
@@ -117,8 +114,6 @@
set_module_type(glu32 win32dll)
if(NOT MSVC)
-#FIXME: we really need a standard C++ library
- target_link_libraries(glu32 -lsupc++ -lgcc)
add_compile_flags("-Wno-error=write-strings")
endif()
Modified: trunk/reactos/dll/opengl/mesa/src/gallium/targets/libgl-gdi/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/opengl/mesa/src/galliu…
==============================================================================
---
trunk/reactos/dll/opengl/mesa/src/gallium/targets/libgl-gdi/CMakeLists.txt [iso-8859-1]
(original)
+++
trunk/reactos/dll/opengl/mesa/src/gallium/targets/libgl-gdi/CMakeLists.txt [iso-8859-1]
Sat Jun 22 14:44:56 2013
@@ -1,11 +1,9 @@
-# we link against C++ static libs
-set_cpp()
+set_cpp(WITH_STL)
include_directories(
../../state_trackers/wgl
- ../../winsys/sw
-)
+ ../../winsys/sw)
add_definitions(-DWIN32_LEAN_AND_MEAN)
@@ -16,21 +14,20 @@
# and gallium is kind enough to provide good def files for both MSVC/mingw-w64 and
mingw32
if(MSVC OR (ARCH STREQUAL "amd64"))
list(APPEND SOURCE ../../state_trackers/wgl/opengl32.def)
-else()
+else()
list(APPEND SOURCE ../../state_trackers/wgl/opengl32.mingw.def)
endif()
add_library(mesa32 SHARED ${SOURCE})
-target_link_libraries(mesa32
+target_link_libraries(mesa32
gallium_wgl
gallium_ws_gdi
mesa_glapi
mesa_core
gallium_softpipe
gallium_core
- mesa_glsl
-)
+ mesa_glsl)
set_module_type(mesa32 win32dll)
@@ -42,4 +39,3 @@
add_dependencies(mesa32 psdk)
add_cd_file(TARGET mesa32 DESTINATION reactos/system32 FOR all)
-
Modified: trunk/reactos/dll/opengl/mesa/src/glsl/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/opengl/mesa/src/glsl/C…
==============================================================================
--- trunk/reactos/dll/opengl/mesa/src/glsl/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/opengl/mesa/src/glsl/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -1,5 +1,5 @@
-set_cpp()
+set_cpp(WITH_STL)
# From Sconscript
include_directories(
@@ -18,73 +18,71 @@
../../generated/glsl/builtin_function.cpp
# Regular files
strtod.c
- ralloc.c
+ ralloc.c
glcpp/pp.c
ast_expr.cpp
- ast_function.cpp
- ast_to_hir.cpp
- ast_type.cpp
- builtin_variables.cpp
- glsl_parser_extras.cpp
- glsl_types.cpp
- glsl_symbol_table.cpp
- hir_field_selection.cpp
- ir_basic_block.cpp
- ir_clone.cpp
- ir_constant_expression.cpp
- ir.cpp
- ir_expression_flattening.cpp
- ir_function_can_inline.cpp
- ir_function_detect_recursion.cpp
- ir_function.cpp
- ir_hierarchical_visitor.cpp
- ir_hv_accept.cpp
- ir_import_prototypes.cpp
- ir_print_visitor.cpp
- ir_reader.cpp
- ir_rvalue_visitor.cpp
- ir_set_program_inouts.cpp
- ir_validate.cpp
- ir_variable_refcount.cpp
- linker.cpp
- link_functions.cpp
- link_uniforms.cpp
- loop_analysis.cpp
- loop_controls.cpp
- loop_unroll.cpp
- lower_clip_distance.cpp
- lower_discard.cpp
- lower_if_to_cond_assign.cpp
- lower_instructions.cpp
- lower_jumps.cpp
- lower_mat_op_to_vec.cpp
- lower_noise.cpp
- lower_texture_projection.cpp
- lower_variable_index_to_cond_assign.cpp
- lower_vec_index_to_cond_assign.cpp
- lower_vec_index_to_swizzle.cpp
- lower_vector.cpp
- lower_output_reads.cpp
- opt_algebraic.cpp
- opt_constant_folding.cpp
- opt_constant_propagation.cpp
- opt_constant_variable.cpp
- opt_copy_propagation.cpp
- opt_copy_propagation_elements.cpp
- opt_dead_code.cpp
- opt_dead_code_local.cpp
- opt_dead_functions.cpp
- opt_discard_simplification.cpp
- opt_function_inlining.cpp
- opt_if_simplification.cpp
- opt_noop_swizzle.cpp
- opt_redundant_jumps.cpp
- opt_structure_splitting.cpp
- opt_swizzle_swizzle.cpp
- opt_tree_grafting.cpp
- s_expression.cpp)
+ ast_function.cpp
+ ast_to_hir.cpp
+ ast_type.cpp
+ builtin_variables.cpp
+ glsl_parser_extras.cpp
+ glsl_types.cpp
+ glsl_symbol_table.cpp
+ hir_field_selection.cpp
+ ir_basic_block.cpp
+ ir_clone.cpp
+ ir_constant_expression.cpp
+ ir.cpp
+ ir_expression_flattening.cpp
+ ir_function_can_inline.cpp
+ ir_function_detect_recursion.cpp
+ ir_function.cpp
+ ir_hierarchical_visitor.cpp
+ ir_hv_accept.cpp
+ ir_import_prototypes.cpp
+ ir_print_visitor.cpp
+ ir_reader.cpp
+ ir_rvalue_visitor.cpp
+ ir_set_program_inouts.cpp
+ ir_validate.cpp
+ ir_variable_refcount.cpp
+ linker.cpp
+ link_functions.cpp
+ link_uniforms.cpp
+ loop_analysis.cpp
+ loop_controls.cpp
+ loop_unroll.cpp
+ lower_clip_distance.cpp
+ lower_discard.cpp
+ lower_if_to_cond_assign.cpp
+ lower_instructions.cpp
+ lower_jumps.cpp
+ lower_mat_op_to_vec.cpp
+ lower_noise.cpp
+ lower_texture_projection.cpp
+ lower_variable_index_to_cond_assign.cpp
+ lower_vec_index_to_cond_assign.cpp
+ lower_vec_index_to_swizzle.cpp
+ lower_vector.cpp
+ lower_output_reads.cpp
+ opt_algebraic.cpp
+ opt_constant_folding.cpp
+ opt_constant_propagation.cpp
+ opt_constant_variable.cpp
+ opt_copy_propagation.cpp
+ opt_copy_propagation_elements.cpp
+ opt_dead_code.cpp
+ opt_dead_code_local.cpp
+ opt_dead_functions.cpp
+ opt_discard_simplification.cpp
+ opt_function_inlining.cpp
+ opt_if_simplification.cpp
+ opt_noop_swizzle.cpp
+ opt_redundant_jumps.cpp
+ opt_structure_splitting.cpp
+ opt_swizzle_swizzle.cpp
+ opt_tree_grafting.cpp
+ s_expression.cpp)
-#this is just a helper library, don't include it in the all target
+# this is just a helper library, don't include it in the all target
add_library(mesa_glsl STATIC EXCLUDE_FROM_ALL ${SOURCE})
-
-
Modified: trunk/reactos/dll/opengl/mesa/src/mapi/glapi/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/opengl/mesa/src/mapi/g…
==============================================================================
--- trunk/reactos/dll/opengl/mesa/src/mapi/glapi/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/opengl/mesa/src/mapi/glapi/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -4,8 +4,7 @@
-D_GDI32_ # prevent gl* being declared __declspec(dllimport) in MS headers
-DBUILD_GL32 # declare gl* as __declspec(dllexport) in Mesa headers
-D_GLAPI_NO_EXPORTS # prevent _glapi_* from being declared __declspec(dllimport)
- -DKHRONOS_DLL_EXPORTS
-)
+ -DKHRONOS_DLL_EXPORTS)
if((ARCH STREQUAL "i386") AND (NOT MSVC))
list(APPEND SOURCE glapi_x86.S)
@@ -33,4 +32,4 @@
add_compile_flags("-Wno-unused-function")
endif()
-add_library(mesa_glapi STATIC EXCLUDE_FROM_ALL ${SOURCE})
+add_library(mesa_glapi STATIC EXCLUDE_FROM_ALL ${SOURCE})
Modified: trunk/reactos/dll/opengl/mesa/src/mesa/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/opengl/mesa/src/mesa/C…
==============================================================================
--- trunk/reactos/dll/opengl/mesa/src/mesa/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/opengl/mesa/src/mesa/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -1,3 +1,5 @@
+
+set_cpp(WITH_STL)
add_definitions(
-DFEATURE_GL=1
@@ -12,9 +14,6 @@
../glsl
.
../../generated/mesa)
-
-# This library uses C++
-set_cpp()
if((ARCH STREQUAL "i386") AND (NOT MSVC))
list(APPEND SOURCE
@@ -296,9 +295,9 @@
# drivers/common/driverfuncs.c
# drivers/common/meta.c
)
-
+
if(NOT MSVC)
add_compile_flags("-Wno-format")
endif()
-add_library(mesa_core STATIC EXCLUDE_FROM_ALL ${SOURCE})
+add_library(mesa_core STATIC EXCLUDE_FROM_ALL ${SOURCE})
Modified: trunk/reactos/dll/win32/browseui/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/CMakeLi…
==============================================================================
--- trunk/reactos/dll/win32/browseui/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/browseui/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,12 +1,8 @@
-set_cpp()
+set_cpp(WITH_RUNTIME)
add_definitions(
-D__WINESRC__)
-
-if (MSVC)
- add_compile_flags("/EHa-")
-endif()
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
@@ -70,4 +66,3 @@
add_pch(browseui precomp.h)
add_cd_file(TARGET browseui DESTINATION reactos/system32 FOR all)
-
Modified: trunk/reactos/dll/win32/netshell/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netshell/CMakeLi…
==============================================================================
--- trunk/reactos/dll/win32/netshell/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/netshell/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,9 +1,11 @@
+
+set_cpp(WITH_RUNTIME)
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
add_definitions(-D_NETSHELL_)
-set_cpp()
+
spec2def(netshell.dll netshell.spec)
list(APPEND SOURCE
Modified: trunk/reactos/dll/win32/shell32/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CMakeLis…
==============================================================================
--- trunk/reactos/dll/win32/shell32/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,4 +1,5 @@
-set_cpp()
+
+set_cpp(WITH_RUNTIME)
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
Modified: trunk/reactos/drivers/storage/ide/uniata/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata…
==============================================================================
--- trunk/reactos/drivers/storage/ide/uniata/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/drivers/storage/ide/uniata/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -1,11 +1,11 @@
+
+set_cpp()
include_directories(
BEFORE ${CMAKE_CURRENT_SOURCE_DIR}
inc)
#add_definitions(-D_DEBUG)
-
-set_cpp()
list(APPEND SOURCE
id_ata.cpp
@@ -19,14 +19,11 @@
add_library(uniata SHARED ${SOURCE} idedma.rc)
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(uniata "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
+
+if(NOT MSVC)
+ # FIXME:
http://www.cmake.org/Bug/view.php?id=12998
#allow_warnings(uniata)
- #add_target_compile_flags(uniata "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti -Wno-error")
+ set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS
"-Wno-error")
endif()
add_pch(uniata stdafx.h)
Modified: trunk/reactos/drivers/usb/usbehci/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/CMakeL…
==============================================================================
--- trunk/reactos/drivers/usb/usbehci/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/usbehci/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -21,16 +21,6 @@
libcntpr
${PSEH_LIB})
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(usbehci "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
- target_link_libraries(usbehci -lgcc)
- #add_target_compile_flags(usbehci "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti")
-endif()
-
set_module_type(usbehci kernelmodedriver)
add_importlibs(usbehci ntoskrnl hal usbd)
Modified: trunk/reactos/drivers/usb/usbohci/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbohci/CMakeL…
==============================================================================
--- trunk/reactos/drivers/usb/usbohci/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/usbohci/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -21,16 +21,6 @@
libcntpr
${PSEH_LIB})
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(usbohci "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
- target_link_libraries(usbohci -lgcc)
- #add_target_compile_flags(usbohci "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti")
-endif()
-
set_module_type(usbohci kernelmodedriver)
add_importlibs(usbohci ntoskrnl hal usbd)
Modified: trunk/reactos/drivers/usb/usbuhci/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbuhci/CMakeL…
==============================================================================
--- trunk/reactos/drivers/usb/usbuhci/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/usbuhci/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -22,16 +22,6 @@
libcntpr
${PSEH_LIB})
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(usbuhci "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
- target_link_libraries(usbuhci -lgcc)
- #add_target_compile_flags(usbuhci "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti")
-endif()
-
set_module_type(usbuhci kernelmodedriver)
add_importlibs(usbuhci ntoskrnl hal usbd)
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt [iso-8859-1]
(original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt [iso-8859-1] Sat Jun 22
14:44:56 2013
@@ -57,15 +57,6 @@
libcntpr
${PSEH_LIB})
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(portcls "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
- #add_target_compile_flags(portcls "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti")
-endif()
-
set_module_type(portcls kernelmodedriver ENTRYPOINT 0 )
add_pch(portcls private.hpp)
add_importlibs(portcls ntoskrnl ks drmk hal)
Modified: trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/drivers/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/CMakeLists.txt [iso-8859-1]
(original)
+++ trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/CMakeLists.txt [iso-8859-1] Sat Jun
22 14:44:56 2013
@@ -12,33 +12,23 @@
adapter.cpp
common.cpp
mintopo.cpp
- minwave.cpp
-)
+ minwave.cpp)
add_library(cmipci SHARED
${SOURCE}
- cmipci.rc
-)
+ cmipci.rc)
-target_link_libraries(cmipci
- stdunk
- libcntpr
-)
+target_link_libraries(cmipci stdunk libcntpr)
set_module_type(cmipci wdmdriver UNICODE ENTRYPOINT 0)
-add_importlibs(cmipci
- portcls
- hal
- ntoskrnl)
+add_importlibs(cmipci portcls hal ntoskrnl)
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(portcls "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
- #add_target_compile_flags(portcls "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti -Wno-write-strings -Wno-switch -Wno-error")
+if(NOT MSVC)
+ # FIXME:
http://www.cmake.org/Bug/view.php?id=12998
+ #add_target_compile_flags(portcls "-Wno-write-strings -Wno-switch")
+ #allow_warnings(portcls)
+ set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS
"-Wno-write-strings -Wno-switch -Wno-error")
endif()
add_cd_file(TARGET cmipci DESTINATION reactos/system32/drivers FOR all)
Modified: trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cmicontrol/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/drivers/…
==============================================================================
---
trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cmicontrol/CMakeLists.txt [iso-8859-1]
(original)
+++
trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cmicontrol/CMakeLists.txt [iso-8859-1]
Sat Jun 22 14:44:56 2013
@@ -1,16 +1,13 @@
+
+set_cpp()
include_directories(..)
-set_cpp()
-
add_executable(cmicontrol
main.cpp
- window.rc
-)
+ window.rc)
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
if(NOT MSVC)
- #add_target_compile_flags(cmicontrol "-fno-exceptions -fno-rtti")
set_source_files_properties(main.cpp PROPERTIES COMPILE_FLAGS
"-Wno-write-strings")
endif()
@@ -25,9 +22,8 @@
setupapi
winmm
msvcrt
- kernel32
-)
+ kernel32)
set_module_type(cmicontrol win32gui)
-add_cd_file(TARGET cmicontrol DESTINATION reactos/system32/drivers FOR all)
+add_cd_file(TARGET cmicontrol DESTINATION reactos/system32/drivers FOR all)
Modified: trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cpl/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/drivers/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cpl/CMakeLists.txt [iso-8859-1]
(original)
+++ trunk/reactos/drivers/wdm/audio/drivers/CMIDriver/cpl/CMakeLists.txt [iso-8859-1] Sat
Jun 22 14:44:56 2013
@@ -3,19 +3,8 @@
add_library(cmicpl SHARED
cmicpl.cpp
- cmicpl.rc
-)
+ cmicpl.rc)
set_module_type(cmicpl cpl UNICODE)
-
-add_importlibs(cmicpl
- shell32
- msvcrt
- kernel32
-)
-
-if (NOT MSVC)
- target_link_libraries(cmicpl -lgcc)
-endif()
-
+add_importlibs(cmicpl shell32 msvcrt kernel32)
add_cd_file(TARGET cmicpl DESTINATION reactos/system32/drivers FOR all)
Modified: trunk/reactos/lib/atl/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/atl/CMakeLists.txt?rev…
==============================================================================
--- trunk/reactos/lib/atl/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/lib/atl/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,3 +1,7 @@
+
+if(NOT MSVC)
+ set_cpp(WITH_RTTI)
+endif()
add_definitions(
-DUNICODE -D_UNICODE
Modified: trunk/reactos/lib/drivers/libusb/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/libusb/CMakeLi…
==============================================================================
--- trunk/reactos/lib/drivers/libusb/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/libusb/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,3 +1,4 @@
+
set_cpp()
remove_definitions(-D_WIN32_WINNT=0x502)
@@ -18,12 +19,3 @@
add_library(libusb ${SOURCE})
add_dependencies(libusb bugcodes)
-
-# FIXME:
http://www.cmake.org/Bug/view.php?id=12998
-if(MSVC)
- #add_target_compile_flags(libusb "/GR-")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/GR-")
-else()
- #add_target_compile_flags(libusb "-fno-exceptions -fno-rtti")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fno-exceptions
-fno-rtti")
-endif()
Modified: trunk/reactos/lib/drivers/sound/stdunk/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/sound/stdunk/C…
==============================================================================
--- trunk/reactos/lib/drivers/sound/stdunk/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/sound/stdunk/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56
2013
@@ -2,9 +2,3 @@
set_cpp()
add_library(stdunk STATIC cunknown.cpp)
-
-if(MSVC)
- add_target_compile_flags(stdunk "/GR-")
-else()
- add_target_compile_flags(stdunk "-fno-exceptions -fno-rtti")
-endif()
Modified: trunk/reactos/lib/sdk/comsupp/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/comsupp/CMakeLists…
==============================================================================
--- trunk/reactos/lib/sdk/comsupp/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/lib/sdk/comsupp/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,5 +1,5 @@
-set_cpp()
+set_cpp(WITH_EXCEPTIONS)
add_library(comsupp comsupp.cpp)
add_dependencies(comsupp psdk)
Modified: trunk/rostests/rosautotest/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/rosautotest/CMakeLists.tx…
==============================================================================
--- trunk/rostests/rosautotest/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/rostests/rosautotest/CMakeLists.txt [iso-8859-1] Sat Jun 22 14:44:56 2013
@@ -1,5 +1,5 @@
-set_cpp()
+set_cpp(WITH_EXCEPTIONS WITH_STL)
list(APPEND SOURCE
CConfiguration.cpp