summaryrefslogtreecommitdiff
path: root/compiler/hermes/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/hermes/CMakeLists.txt')
-rw-r--r--compiler/hermes/CMakeLists.txt28
1 files changed, 28 insertions, 0 deletions
diff --git a/compiler/hermes/CMakeLists.txt b/compiler/hermes/CMakeLists.txt
new file mode 100644
index 000000000..5debfbca0
--- /dev/null
+++ b/compiler/hermes/CMakeLists.txt
@@ -0,0 +1,28 @@
+file(GLOB_RECURSE SOURCES "src/*.cpp")
+file(GLOB_RECURSE TESTS "src/*.test.cpp")
+list(REMOVE_ITEM SOURCES ${TESTS})
+
+add_library(hermes STATIC ${SOURCES})
+set_target_properties(hermes PROPERTIES POSITION_INDEPENDENT_CODE ON)
+target_include_directories(hermes PUBLIC include)
+target_link_libraries(hermes PRIVATE stdex)
+# Let's apply nncc common compile options
+#
+# NOTE This will enable strict compilation (warnings as error).
+# Please refer to the top-level CMakeLists.txt for details
+target_link_libraries(hermes PRIVATE nncc_common)
+target_link_libraries(hermes PUBLIC nncc_coverage)
+
+if(NOT ENABLE_TEST)
+ return()
+endif(NOT ENABLE_TEST)
+
+# Google Test is mandatory for internal testing
+nnas_find_package(GTest REQUIRED)
+
+add_executable(hermes_test ${TESTS})
+target_link_libraries(hermes_test gtest_main)
+target_link_libraries(hermes_test stdex)
+target_link_libraries(hermes_test hermes)
+
+add_test(hermes_test hermes_test)