diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 736e00b57b..82e468c398 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -4,8 +4,8 @@ if( COMPILER_SUPPORTS_WARNINGS ) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARN_FLAGS_C}") endif() -#add_subdirectory( libeval ) -#add_subdirectory( libeval_compiler ) +add_subdirectory( libeval ) +add_subdirectory( libeval_compiler ) if( KICAD_SPICE ) set( INC_AFTER ${INC_AFTER} ${NGSPICE_INCLUDE_DIR} ) @@ -435,8 +435,8 @@ target_include_directories( common PRIVATE add_dependencies( common libcontext ) add_dependencies( common version_header ) -#add_dependencies( common libeval_grammar ) -#add_dependencies( common libeval_grammar2 ) +add_dependencies( common libeval_grammar ) +add_dependencies( common libeval_grammar2 ) target_link_libraries( common kimath diff --git a/common/libeval_compiler/CMakeLists.txt b/common/libeval_compiler/CMakeLists.txt new file mode 100644 index 0000000000..99dde492ac --- /dev/null +++ b/common/libeval_compiler/CMakeLists.txt @@ -0,0 +1,38 @@ +# +# This program source code file is part of KICAD, a free EDA CAD application. +# +# Copyright (C) 2018 Kicad Developers, see AUTHORS.txt for contributors. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, you may find one here: +# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html +# or you may search the http://www.gnu.org website for the version 2 license, +# or you may write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +find_program(LEMON lemon) + +if( LEMON ) + + macro( generate_lemon_grammar TGT_NAME GRAMMAR_LEMON GRAMMAR_C ) + add_custom_target( ${TGT_NAME} + DEPENDS ${GRAMMAR_LEMON} + COMMAND ${LEMON} -q ${GRAMMAR_LEMON} + COMMENT "Running Lemon on ${GRAMMAR_LEMON} -> ${GRAMMAR_C}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + endmacro() + + generate_lemon_grammar( libeval_grammar2 grammar.lemon grammar.c ) + +endif() \ No newline at end of file diff --git a/qa/CMakeLists.txt b/qa/CMakeLists.txt index a371bc68f2..336c50a171 100644 --- a/qa/CMakeLists.txt +++ b/qa/CMakeLists.txt @@ -53,8 +53,8 @@ add_subdirectory( eeschema ) add_subdirectory( libs ) add_subdirectory( pcbnew ) add_subdirectory( utils/kicad2step ) -#add_subdirectory( libeval_compiler ) -#add_subdirectory( drc_proto ) +add_subdirectory( libeval_compiler ) +add_subdirectory( drc_proto ) # Utility/debugging/profiling programs add_subdirectory( common_tools )