Always send paths with '/' as file separator
[qBittorrent.git] / cmake / Modules / CompileFeature.cmake
blobf8104b763616204cfb8a033b59f9653108dc14dd
1 # Helper function for coupling add_feature_info(), option(), and add_definitions()
3 function(optional_compile_definitions _name)
4     set(options FEATURE)
5     set(oneValueArgs DESCRIPTION DEFAULT)
6     set(multiValueArgs ENABLED DISABLED)
7     cmake_parse_arguments(OCD "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
8     option(${_name} "${OCD_DESCRIPTION}" ${OCD_DEFAULT})
9     if (${${_name}})
10         set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY COMPILE_DEFINITIONS ${OCD_ENABLED})
11     else()
12         set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY COMPILE_DEFINITIONS ${OCD_DISABLED})
13     endif()
14     if(${OCD_FEATURE})
15         add_feature_info(${_name} ${_name} "${OCD_DESCRIPTION}")
16     endif()
17 endfunction()
19 macro(feature_option _name _description _default)
20     option(${_name} "${_description}" ${_default})
21     add_feature_info(${_name} ${_name} "${_description}")
22 endmacro()