macro(set_cpp)
set(IS_CPP 1)
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)
+ include_directories(${REACTOS_SOURCE_DIR}/include/c++)
endif()
endmacro()
set(${var} 6)
elseif(${dir} STREQUAL reactos/bin)
set(${var} 7)
- elseif(${dir} STREQUAL reactos/media)
+ elseif(${dir} STREQUAL reactos/bin/data)
set(${var} 8)
- elseif(${dir} STREQUAL reactos/Microsoft.NET)
+ elseif(${dir} STREQUAL reactos/media)
set(${var} 9)
- elseif(${dir} STREQUAL reactos/Microsoft.NET/Framework)
+ elseif(${dir} STREQUAL reactos/Microsoft.NET)
set(${var} 10)
- elseif(${dir} STREQUAL reactos/Microsoft.NET/Framework/v2.0.50727)
+ elseif(${dir} STREQUAL reactos/Microsoft.NET/Framework)
set(${var} 11)
+ elseif(${dir} STREQUAL reactos/Microsoft.NET/Framework/v1.0.3705)
+ set(${var} 12)
+ elseif(${dir} STREQUAL reactos/Microsoft.NET/Framework/v1.1.4322)
+ set(${var} 13)
+ elseif(${dir} STREQUAL reactos/Microsoft.NET/Framework/v2.0.50727)
+ set(${var} 14)
else()
message(ERROR "Wrong destination: ${dir}")
endif()
endfunction()
# Create module_clean targets
-function(add_clean_target target)
- if(CMAKE_GENERATOR MATCHES "Unix Makefiles" OR CMAKE_GENERATOR MATCHES "MinGW Makefiles")
- set(CLEAN_COMMAND make clean)
- elseif(CMAKE_GENERATOR MATCHES "NMake Makefiles")
- set(CLEAN_COMMAND nmake /nologo clean)
+function(add_clean_target _target)
+ set(_clean_working_directory ${CMAKE_CURRENT_BINARY_DIR})
+ if(CMAKE_GENERATOR STREQUAL "Unix Makefiles" OR CMAKE_GENERATOR STREQUAL "MinGW Makefiles")
+ set(_clean_command make clean)
+ elseif(CMAKE_GENERATOR STREQUAL "NMake Makefiles")
+ set(_clean_command nmake /nologo clean)
+ elseif(CMAKE_GENERATOR STREQUAL "Ninja")
+ set(_clean_command ninja -t clean ${_target})
+ set(_clean_working_directory ${REACTOS_BINARY_DIR})
endif()
- add_custom_target(${target}_clean
- COMMAND ${CLEAN_COMMAND}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "Cleaning ${target}")
+ add_custom_target(${_target}_clean
+ COMMAND ${_clean_command}
+ WORKING_DIRECTORY ${_clean_working_directory}
+ COMMENT "Cleaning ${_target}")
endfunction()
if(NOT MSVC_IDE)
endfunction()
endif()
-if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
macro(to_win_path _cmake_path _native_path)
string(REPLACE "/" "\\" ${_native_path} "${_cmake_path}")
endmacro()
DEPENDS ${__in})
endif()
endfunction()
+
+function(get_includes OUTPUT_VAR)
+ get_directory_property(_includes INCLUDE_DIRECTORIES)
+ foreach(arg ${_includes})
+ list(APPEND __tmp_var -I${arg})
+ endforeach()
+ set(${OUTPUT_VAR} ${__tmp_var} PARENT_SCOPE)
+endfunction()
+
+function(get_defines OUTPUT_VAR)
+ get_directory_property(_defines COMPILE_DEFINITIONS)
+ foreach(arg ${_defines})
+ list(APPEND __tmp_var -D${arg})
+ endforeach()
+ set(${OUTPUT_VAR} ${__tmp_var} PARENT_SCOPE)
+endfunction()