diff options
Diffstat (limited to 'compiler/enco/core/CMakeLists.txt')
-rw-r--r-- | compiler/enco/core/CMakeLists.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/compiler/enco/core/CMakeLists.txt b/compiler/enco/core/CMakeLists.txt new file mode 100644 index 000000000..f437e687a --- /dev/null +++ b/compiler/enco/core/CMakeLists.txt @@ -0,0 +1,35 @@ +file(GLOB_RECURSE SOURCES "src/*.cpp") +file(GLOB_RECURSE TESTS "src/*.test.cpp") +list(REMOVE_ITEM SOURCES ${TESTS}) + +### +### enco_core is built as a shared library to support "interactive debugging". +### +### interactive debugging helpers are stripped during linking when enco_core is +### built as a static library +### +add_library(enco_core SHARED ${SOURCES}) +target_include_directories(enco_core PRIVATE src) +target_include_directories(enco_core PUBLIC include) +target_link_libraries(enco_core PUBLIC enco_intf_cmdline) +target_link_libraries(enco_core PUBLIC coco_core) +target_link_libraries(enco_core PUBLIC coco_generic) +# These libraries are linked for internal use, and thus does not appear in public headers. +target_link_libraries(enco_core PRIVATE pp) +target_link_libraries(enco_core PRIVATE morph) +target_link_libraries(enco_core PRIVATE stdex) +# Let's use nncc project-wide build options +target_link_libraries(enco_core PRIVATE nncc_common) + +nnas_find_package(GTest QUIET) + +if(NOT GTest_FOUND) + return() +endif(NOT GTest_FOUND) + +add_executable(enco_core_test ${TESTS}) +target_include_directories(enco_core_test PRIVATE src) +target_link_libraries(enco_core_test gtest_main) +target_link_libraries(enco_core_test enco_core) +target_link_libraries(enco_core_test morph) +add_test(enco_core_test enco_core_test) |