Improve CMake project to filter conditional sections

This commit is contained in:
Marius Greuel 2021-12-26 16:46:15 +01:00
parent f391b7138b
commit 3840468e36
1 changed files with 15 additions and 1 deletions

View File

@ -329,8 +329,22 @@ message(STATUS "----------------------")
# Configure files # Configure files
# ===================================== # =====================================
macro(configure_option option)
if(${${option}})
string(REGEX REPLACE "(.*)@${option}_BEGIN@(.*)@${option}_END@(.*)" "\\1\\2\\3" conf_file "${conf_file}")
else()
string(REGEX REPLACE "(.*)@${option}_BEGIN@(.*)@${option}_END@(.*)" "\\1\\3" conf_file "${conf_file}")
endif()
endmacro()
file(READ avrdude.conf.in conf_file)
configure_option(HAVE_PARPORT)
configure_option(HAVE_LINUXGPIO)
configure_option(HAVE_LINUXSPI)
file(WRITE "${PROJECT_BINARY_DIR}/avrdude.conf.in" "${conf_file}")
configure_file(cmake_config.h.in ac_cfg.h) configure_file(cmake_config.h.in ac_cfg.h)
configure_file(avrdude.conf.in avrdude.conf) configure_file("${PROJECT_BINARY_DIR}/avrdude.conf.in" avrdude.conf)
configure_file(avrdude.spec.in avrdude.spec) configure_file(avrdude.spec.in avrdude.spec)
if(WIN32) if(WIN32)
configure_file(windows.rc.in windows.rc) configure_file(windows.rc.in windows.rc)