diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 63 |
1 files changed, 8 insertions, 55 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ff91ac6..926f7c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,62 +4,15 @@ project(kicad_utils) find_package(Antlr4) antlr4_add_target(TARGET KicadNet LEXER KicadNetLexer.g4 PARSER KicadNetParser.g4 STATIC) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") -set(SOURCE_FILES main.cpp kicad.cpp include/trygvis/kicad.h include-priv/trygvis/antlr.h include-priv/trygvis/string_utils.h) -add_executable(kicad_utils ${SOURCE_FILES}) -target_include_directories(kicad_utils PUBLIC include PRIVATE include-priv) -target_link_libraries(kicad_utils KicadNet Antlr4::antlr4_shared) -target_compile_options(kicad_utils PUBLIC --std=c++14) -target_compile_options(kicad_utils PUBLIC -Wall -Wextra) +set(SOURCE_FILES generate-header.cpp kicad.cpp include/trygvis/kicad.h include-priv/trygvis/antlr.h include-priv/trygvis/string_utils.h) +add_executable(generate-header ${SOURCE_FILES}) +target_include_directories(generate-header PUBLIC include PRIVATE include-priv) +target_link_libraries(generate-header KicadNet Antlr4::antlr4_shared) +target_compile_options(generate-header PUBLIC --std=c++14) +target_compile_options(generate-header PUBLIC -Wall -Wextra) +include(kicad.cmake) add_custom_target(all_examples) - -function(kicad_gen) - set(options IN_SOURCE) - set(oneValueArgs TARGET NET REF OUTPUT_DIR) - - cmake_parse_arguments(kicad_gen "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - if (NOT kicad_gen_TARGET) - message(FATAL_ERROR "TARGET is required") - endif () - set(TARGET "${kicad_gen_TARGET}") - - if (NOT kicad_gen_NET) - message(FATAL_ERROR "NET is required") - endif () - set(NET "${CMAKE_CURRENT_SOURCE_DIR}/${kicad_gen_NET}") - - if (NOT kicad_gen_REF) - message(FATAL_ERROR "REF is required") - endif () - set(REF "${kicad_gen_REF}") - - if (kicad_gen_OUTPUT_DIR) - if (kicad_gen_IN_SOURCE) - message(FATAL_ERROR "IN_SOURCE can't be used if OUTPUT_DIR is used") - endif () - - set(OUTPUT_DIR "${kicad_gen_OUTPUT_DIR}") - else () - message("IN_SOURCE=${kicad_gen_IN_SOURCE}") - if (kicad_gen_IN_SOURCE) - set(OUTPUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}") - else () - set(OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") - endif () - endif () - - set(OUTPUT_FILE "${OUTPUT_DIR}/${TARGET}") - message("OUTPUT_FILE=${OUTPUT_FILE}") - message("NET=${NET}") - - add_custom_command(OUTPUT ${OUTPUT_FILE} - COMMAND kicad_utils -n ${NET} -r ${REF} -o ${OUTPUT_FILE} - MAIN_DEPENDENCY ${NET} - DEPENDS kicad_utils - COMMENT "Generating ${TARGET}") -endfunction() - add_subdirectory(examples) |