- rework set_cpp to allow fine-grained control over enabled language features
CORE-6950

svn path=/trunk/; revision=59288
This commit is contained in:
Thomas Faber 2013-06-22 14:44:56 +00:00
parent 020944a4bd
commit d8b4a7bd9e
31 changed files with 218 additions and 232 deletions

View file

@ -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 @@ if(NOT MSVC)
# 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)

View file

@ -1,5 +1,5 @@
set_cpp()
set_cpp(WITH_RUNTIME)
include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib)

View file

@ -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

View file

@ -1,8 +1,8 @@
set_cpp(WITH_STL)
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
set_cpp()
add_executable(telnet
src/ansiprsr.cpp
src/keytrans.cpp

View file

@ -1,5 +1,5 @@
set_cpp()
set_cpp(WITH_RUNTIME)
add_executable(sndrec32
audio_format.cpp

View file

@ -1,7 +1,7 @@
add_subdirectory(notifyhook)
set_cpp()
set_cpp(WITH_RTTI WITH_EXCEPTIONS WITH_STL)
add_definitions(
-DWIN32

View file

@ -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)
set(IS_CPP 1)
if(MSVC)
include_directories(${REACTOS_SOURCE_DIR}/include/c++)
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)
endmacro()
function(add_dependency_node _node)

View file

@ -15,6 +15,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)
#workaround
@ -190,12 +192,15 @@ function(set_image_base MODULE IMAGE_BASE)
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)
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"))

View file

@ -20,7 +20,7 @@ endif()
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 @@ function(set_image_base MODULE IMAGE_BASE)
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")

View file

@ -1,5 +1,5 @@
set_cpp()
set_cpp(WITH_STL)
spec2def(ksproxy.ax ksproxy.spec)
@ -27,14 +27,6 @@ add_library(ksproxy SHARED ${SOURCE} ksproxy.rc)
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)

View file

@ -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 @@ add_library(glu32 SHARED ${SOURCE})
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()

View file

@ -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 @@ list(APPEND SOURCE
# 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 @@ endif()
add_dependencies(mesa32 psdk)
add_cd_file(TARGET mesa32 DESTINATION reactos/system32 FOR all)

View file

@ -1,5 +1,5 @@
set_cpp()
set_cpp(WITH_STL)
# From Sconscript
include_directories(
@ -18,73 +18,71 @@ list(APPEND SOURCE
../../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})

View file

@ -4,8 +4,7 @@ add_definitions(
-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 @@ if(NOT MSVC)
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})

View file

@ -1,4 +1,6 @@
set_cpp(WITH_STL)
add_definitions(
-DFEATURE_GL=1
-D_GDI32_ # prevent gl* being declared __declspec(dllimport) in MS headers
@ -12,9 +14,6 @@ include_directories(
../glsl
.
../../generated/mesa)
# This library uses C++
set_cpp()
if((ARCH STREQUAL "i386") AND (NOT MSVC))
list(APPEND SOURCE
@ -296,9 +295,9 @@ list(APPEND SOURCE
# 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})

View file

@ -1,13 +1,9 @@
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_importlibs(browseui
add_pch(browseui precomp.h)
add_cd_file(TARGET browseui DESTINATION reactos/system32 FOR all)

View file

@ -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

View file

@ -1,4 +1,5 @@
set_cpp()
set_cpp(WITH_RUNTIME)
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)

View file

@ -1,12 +1,12 @@
set_cpp()
include_directories(
BEFORE ${CMAKE_CURRENT_SOURCE_DIR}
inc)
#add_definitions(-D_DEBUG)
set_cpp()
list(APPEND SOURCE
id_ata.cpp
id_badblock.cpp
@ -19,14 +19,11 @@ list(APPEND SOURCE
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)

View file

@ -21,16 +21,6 @@ target_link_libraries(usbehci
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)

View file

@ -21,16 +21,6 @@ target_link_libraries(usbohci
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)

View file

@ -22,16 +22,6 @@ target_link_libraries(usbuhci
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)

View file

@ -57,15 +57,6 @@ target_link_libraries(portcls
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)

View file

@ -12,33 +12,23 @@ list(APPEND SOURCE
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)

View file

@ -1,16 +1,13 @@
include_directories(..)
set_cpp()
include_directories(..)
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 @@ add_importlibs(cmicontrol
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)

View file

@ -3,19 +3,8 @@ set_cpp()
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)

View file

@ -1,4 +1,8 @@
if(NOT MSVC)
set_cpp(WITH_RTTI)
endif()
add_definitions(
-DUNICODE -D_UNICODE
-DROS_Headers)

View file

@ -1,3 +1,4 @@
set_cpp()
remove_definitions(-D_WIN32_WINNT=0x502)
@ -18,12 +19,3 @@ list(APPEND SOURCE
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()

View file

@ -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()

View file

@ -1,5 +1,5 @@
set_cpp()
set_cpp(WITH_EXCEPTIONS)
add_library(comsupp comsupp.cpp)
add_dependencies(comsupp psdk)

View file

@ -1,5 +1,5 @@
set_cpp()
set_cpp(WITH_EXCEPTIONS WITH_STL)
list(APPEND SOURCE
CConfiguration.cpp