aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt63
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)