Skip to content

Commit

Permalink
cmake: (fixup) rework implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
andrea-iob committed Nov 6, 2020
1 parent fb8ee08 commit 9e49f05
Showing 1 changed file with 10 additions and 20 deletions.
30 changes: 10 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,6 @@ if(${CMAKE_VERSION} VERSION_EQUAL "3.9.0" OR ${CMAKE_VERSION} VERSION_GREATER "3
set_property(CACHE LTO_STRATEGY PROPERTY STRINGS "Auto" "Enabled" "Disabled")
endif()

set(BITPIT_SHOW_EXPERIMENTAL 0 CACHE BOOL "If set, it will be possible to enable/disable experimental features")
MARK_AS_ADVANCED(BITPIT_SHOW_EXPERIMENTAL)

set(BITPIT_SHOW_DEPRECATED 0 CACHE BOOL "If set, it will be possible to enable/disable deprecated features")
MARK_AS_ADVANCED(BITPIT_SHOW_DEPRECATED)

#------------------------------------------------------------------------------------#
# Functions
#------------------------------------------------------------------------------------#
Expand Down Expand Up @@ -131,32 +125,32 @@ endfunction()
#
# Experimental features are disabled by default.
function(defineExperimentalFeature FEATURE_NAME FEATURE_DESCRIPTION)
defineFeature(${FEATURE_NAME} ${FEATURE_DESCRIPTION} ${BITPIT_SHOW_EXPERIMENTAL} 0)
defineFeature("EXPERIMENTAL_${FEATURE_NAME}" ${FEATURE_DESCRIPTION} 0)
endfunction()

# Define a module experimental feature
#
# Experimental features are disabled by default.
function(defineExperimentalModuleFeature MODULE_NAME FEATURE_NAME FEATURE_DESCRIPTION)
string(TOUPPER ${MODULE_NAME} UPPERCASE_MODULE_NAME)
set(MODULE_FEATURE_NAME ${UPPERCASE_MODULE_NAME}_${FEATURE_NAME})
defineFeature(${MODULE_FEATURE_NAME} ${FEATURE_DESCRIPTION} ${BITPIT_SHOW_EXPERIMENTAL} 0)
set(MODULE_FEATURE_NAME "${UPPERCASE_MODULE_NAME}_EXPERIMENTAL_${FEATURE_NAME}")
defineFeature("${MODULE_FEATURE_NAME}" ${FEATURE_DESCRIPTION} 0)
endfunction()

# Define a deprecated feature
#
# Deprecated features are enabled by default.
function(defineDeprecatedFeature FEATURE_NAME FEATURE_DESCRIPTION)
defineFeature(${FEATURE_NAME} ${FEATURE_DESCRIPTION} ${BITPIT_SHOW_DEPRECATED} 1)
defineFeature("DEPRECATED_${FEATURE_NAME}" ${FEATURE_DESCRIPTION} 1)
endfunction()

# Define a module deprecated feature
#
# Deprecated features are enabled by default.
function(defineDeprecatedModuleFeature MODULE_NAME FEATURE_NAME FEATURE_DESCRIPTION)
string(TOUPPER ${MODULE_NAME} UPPERCASE_MODULE_NAME)
set(MODULE_FEATURE_NAME ${UPPERCASE_MODULE_NAME}_${FEATURE_NAME})
defineFeature(${MODULE_FEATURE_NAME} ${FEATURE_DESCRIPTION} ${BITPIT_SHOW_DEPRECATED} 1)
set(MODULE_FEATURE_NAME "${UPPERCASE_MODULE_NAME}_DEPRECATED_${FEATURE_NAME}")
defineFeature("${MODULE_FEATURE_NAME}" ${FEATURE_DESCRIPTION} 1)
endfunction()

# Define a feature
Expand All @@ -165,15 +159,11 @@ endfunction()
# the feature FEATURE the corresponding preprocessor macro will be called
# BITPIT_FEATURE. Ye value of the macro will be set to 1 if the feature is
# enable or it will be set to 0 if the feature is disabled.
function(defineFeature FEATURE_NAME FEATURE_DESCRIPTION AVAILABLE DEFAULT_STATUS)
function(defineFeature FEATURE_NAME FEATURE_DESCRIPTION DEFAULT_STATUS)
string(TOUPPER ${FEATURE_NAME} UPPER_FEATURE_NAME)
set(BITPIT_FEATURE_NAME BITPIT_${UPPER_FEATURE_NAME})
if(AVAILABLE)
set(${BITPIT_FEATURE_NAME} ${DEFAULT_STATUS} CACHE BOOL ${FEATURE_DESCRIPTION})
mark_as_advanced(${BITPIT_FEATURE_NAME})
else()
unset(${BITPIT_FEATURE_NAME} CACHE)
endif()
set(${BITPIT_FEATURE_NAME} ${DEFAULT_STATUS} CACHE BOOL ${FEATURE_DESCRIPTION})
mark_as_advanced(${BITPIT_FEATURE_NAME})

set(FEATURE_ENTRY "${BITPIT_FEATURE_NAME}")
if(NOT DEFINED ${BITPIT_FEATURE_NAME})
Expand Down Expand Up @@ -385,7 +375,7 @@ set(LEVELSET_EXTERNAL_DEPS "")
set(POD_EXTERNAL_DEPS "LAPACKE")

#------------------------------------------------------------------------------------#
# Features
# Experimental/deprecated features
#------------------------------------------------------------------------------------#

#------------------------------------------------------------------------------------#
Expand Down

0 comments on commit 9e49f05

Please sign in to comment.