Move CMake macro definitions to separate file
This commit is contained in:
committed by
Robert Schmidt
parent
52fdca3141
commit
990385eea0
@@ -24,6 +24,7 @@
|
|||||||
cmake_minimum_required (VERSION 2.8)
|
cmake_minimum_required (VERSION 2.8)
|
||||||
project (OpenAirInterface LANGUAGES C CXX)
|
project (OpenAirInterface LANGUAGES C CXX)
|
||||||
|
|
||||||
|
include("macros.cmake")
|
||||||
|
|
||||||
# System packages that are required
|
# System packages that are required
|
||||||
# We use either the cmake buildin, in ubuntu are in: /usr/share/cmake*/Modules/
|
# We use either the cmake buildin, in ubuntu are in: /usr/share/cmake*/Modules/
|
||||||
@@ -185,106 +186,6 @@ else (CUDA_FOUND)
|
|||||||
message ("No CUDA tool installed")
|
message ("No CUDA tool installed")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
###########################################
|
|
||||||
# macros to define options as there is numerous options in oai
|
|
||||||
################################################
|
|
||||||
macro(add_option name val helpstr)
|
|
||||||
if(DEFINED ${name})
|
|
||||||
set(value ${${name}})
|
|
||||||
else(DEFINED ${name})
|
|
||||||
set(value ${val})
|
|
||||||
endif()
|
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
|
||||||
add_definitions("-D${name}=${value}")
|
|
||||||
endmacro(add_option)
|
|
||||||
|
|
||||||
macro(add_boolean_option name val helpstr)
|
|
||||||
if(DEFINED ${name})
|
|
||||||
set(value ${${name}})
|
|
||||||
else(DEFINED ${name})
|
|
||||||
set(value ${val})
|
|
||||||
endif()
|
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
|
||||||
set_property(CACHE ${name} PROPERTY TYPE BOOL)
|
|
||||||
if (${value})
|
|
||||||
add_definitions("-D${name}")
|
|
||||||
endif (${value})
|
|
||||||
endmacro(add_boolean_option)
|
|
||||||
|
|
||||||
macro(add_integer_option name val helpstr)
|
|
||||||
if(DEFINED ${name})
|
|
||||||
set(value ${${name}})
|
|
||||||
else(DEFINED ${name})
|
|
||||||
set(value ${val})
|
|
||||||
endif()
|
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
|
||||||
add_definitions("-D${name}=${value}")
|
|
||||||
endmacro(add_integer_option)
|
|
||||||
|
|
||||||
macro(add_list1_option name val helpstr)
|
|
||||||
if(DEFINED ${name})
|
|
||||||
set(value ${${name}})
|
|
||||||
else(DEFINED ${name})
|
|
||||||
set(value ${val})
|
|
||||||
endif()
|
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
|
||||||
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
|
||||||
if(NOT "${value}" STREQUAL "False")
|
|
||||||
add_definitions("-D${name}=${value}")
|
|
||||||
endif()
|
|
||||||
endmacro(add_list1_option)
|
|
||||||
|
|
||||||
macro(add_list2_option name val helpstr)
|
|
||||||
if(DEFINED ${name})
|
|
||||||
set(value ${${name}})
|
|
||||||
else(DEFINED ${name})
|
|
||||||
set(value ${val})
|
|
||||||
endif()
|
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
|
||||||
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
|
||||||
if(NOT "${value}" STREQUAL "False")
|
|
||||||
add_definitions("-D${value}=1")
|
|
||||||
endif()
|
|
||||||
endmacro(add_list2_option)
|
|
||||||
|
|
||||||
macro(add_list_string_option name val helpstr)
|
|
||||||
if(DEFINED ${name})
|
|
||||||
set(value ${${name}})
|
|
||||||
else(DEFINED ${name})
|
|
||||||
set(value ${val})
|
|
||||||
endif()
|
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
|
||||||
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
|
||||||
if(NOT "${value}" STREQUAL "False")
|
|
||||||
add_definitions("-D${name}=\"${value}\"")
|
|
||||||
endif()
|
|
||||||
endmacro(add_list_string_option)
|
|
||||||
|
|
||||||
# this function should produce the same value as the macro MAKE_VERSION defined in the C code (file types.h)
|
|
||||||
function(make_version VERSION_VALUE)
|
|
||||||
math(EXPR RESULT "0")
|
|
||||||
foreach (ARG ${ARGN})
|
|
||||||
math(EXPR RESULT "${RESULT} * 16 + ${ARG}")
|
|
||||||
endforeach()
|
|
||||||
set(${VERSION_VALUE} "${RESULT}" PARENT_SCOPE)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
macro(compile_asn1 asn1Source asn1cCmd ResultFlag)
|
|
||||||
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
|
|
||||||
execute_process(COMMAND ${asn1cCmd} ${asn1Source} RESULT_VARIABLE ret)
|
|
||||||
|
|
||||||
if (NOT ${ret} STREQUAL 0)
|
|
||||||
message(FATAL_ERROR "${ret}: error")
|
|
||||||
endif (NOT ${ret} STREQUAL 0)
|
|
||||||
|
|
||||||
add_custom_target (
|
|
||||||
${ResultFlag} ALL
|
|
||||||
${asn1cCmd} ${asn1Source}
|
|
||||||
DEPENDS ${asn1Source}
|
|
||||||
)
|
|
||||||
endmacro(compile_asn1)
|
|
||||||
|
|
||||||
####################################################
|
####################################################
|
||||||
# compilation flags
|
# compilation flags
|
||||||
#############################################
|
#############################################
|
||||||
|
|||||||
@@ -0,0 +1,98 @@
|
|||||||
|
###########################################
|
||||||
|
# macros to define options as there is numerous options in oai
|
||||||
|
################################################
|
||||||
|
macro(add_option name val helpstr)
|
||||||
|
if(DEFINED ${name})
|
||||||
|
set(value ${${name}})
|
||||||
|
else(DEFINED ${name})
|
||||||
|
set(value ${val})
|
||||||
|
endif()
|
||||||
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
|
add_definitions("-D${name}=${value}")
|
||||||
|
endmacro(add_option)
|
||||||
|
|
||||||
|
macro(add_boolean_option name val helpstr)
|
||||||
|
if(DEFINED ${name})
|
||||||
|
set(value ${${name}})
|
||||||
|
else(DEFINED ${name})
|
||||||
|
set(value ${val})
|
||||||
|
endif()
|
||||||
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
|
set_property(CACHE ${name} PROPERTY TYPE BOOL)
|
||||||
|
if (${value})
|
||||||
|
add_definitions("-D${name}")
|
||||||
|
endif (${value})
|
||||||
|
endmacro(add_boolean_option)
|
||||||
|
|
||||||
|
macro(add_integer_option name val helpstr)
|
||||||
|
if(DEFINED ${name})
|
||||||
|
set(value ${${name}})
|
||||||
|
else(DEFINED ${name})
|
||||||
|
set(value ${val})
|
||||||
|
endif()
|
||||||
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
|
add_definitions("-D${name}=${value}")
|
||||||
|
endmacro(add_integer_option)
|
||||||
|
|
||||||
|
macro(add_list1_option name val helpstr)
|
||||||
|
if(DEFINED ${name})
|
||||||
|
set(value ${${name}})
|
||||||
|
else(DEFINED ${name})
|
||||||
|
set(value ${val})
|
||||||
|
endif()
|
||||||
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
|
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
||||||
|
if(NOT "${value}" STREQUAL "False")
|
||||||
|
add_definitions("-D${name}=${value}")
|
||||||
|
endif()
|
||||||
|
endmacro(add_list1_option)
|
||||||
|
|
||||||
|
macro(add_list2_option name val helpstr)
|
||||||
|
if(DEFINED ${name})
|
||||||
|
set(value ${${name}})
|
||||||
|
else(DEFINED ${name})
|
||||||
|
set(value ${val})
|
||||||
|
endif()
|
||||||
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
|
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
||||||
|
if(NOT "${value}" STREQUAL "False")
|
||||||
|
add_definitions("-D${value}=1")
|
||||||
|
endif()
|
||||||
|
endmacro(add_list2_option)
|
||||||
|
|
||||||
|
macro(add_list_string_option name val helpstr)
|
||||||
|
if(DEFINED ${name})
|
||||||
|
set(value ${${name}})
|
||||||
|
else(DEFINED ${name})
|
||||||
|
set(value ${val})
|
||||||
|
endif()
|
||||||
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
|
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
||||||
|
if(NOT "${value}" STREQUAL "False")
|
||||||
|
add_definitions("-D${name}=\"${value}\"")
|
||||||
|
endif()
|
||||||
|
endmacro(add_list_string_option)
|
||||||
|
|
||||||
|
# this function should produce the same value as the macro MAKE_VERSION defined in the C code (file types.h)
|
||||||
|
function(make_version VERSION_VALUE)
|
||||||
|
math(EXPR RESULT "0")
|
||||||
|
foreach (ARG ${ARGN})
|
||||||
|
math(EXPR RESULT "${RESULT} * 16 + ${ARG}")
|
||||||
|
endforeach()
|
||||||
|
set(${VERSION_VALUE} "${RESULT}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
macro(compile_asn1 asn1Source asn1cCmd ResultFlag)
|
||||||
|
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
|
||||||
|
execute_process(COMMAND ${asn1cCmd} ${asn1Source} RESULT_VARIABLE ret)
|
||||||
|
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${ret}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
|
|
||||||
|
add_custom_target (
|
||||||
|
${ResultFlag} ALL
|
||||||
|
${asn1cCmd} ${asn1Source}
|
||||||
|
DEPENDS ${asn1Source}
|
||||||
|
)
|
||||||
|
endmacro(compile_asn1)
|
||||||
Reference in New Issue
Block a user