chore: flat out the file structure
This commit is contained in:
+2
-2
@@ -1,3 +1,3 @@
|
||||
[submodule "furdb/deps/isocline"]
|
||||
path = furdb/deps/isocline
|
||||
[submodule "deps/isocline"]
|
||||
path = deps/isocline
|
||||
url = https://github.com/daanx/isocline
|
||||
|
||||
+10
-6
@@ -11,12 +11,16 @@ find_package(Doxygen)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_subdirectory(furlang)
|
||||
add_subdirectory(furvm)
|
||||
add_subdirectory(furc)
|
||||
add_subdirectory(furas)
|
||||
add_subdirectory(disfuras)
|
||||
add_subdirectory(furdb)
|
||||
add_subdirectory(src/furlang)
|
||||
add_subdirectory(src/furvm)
|
||||
add_subdirectory(src/furc)
|
||||
add_subdirectory(src/furas)
|
||||
add_subdirectory(src/disfuras)
|
||||
add_subdirectory(src/furdb)
|
||||
|
||||
# Dependencies
|
||||
set(IC_USE_CXX ON)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/deps/isocline)
|
||||
|
||||
if(DOXYGEN_FOUND)
|
||||
set(DOXYGEN_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/docs)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
file(GLOB_RECURSE DISFURAS_SRCS "src/**.cpp")
|
||||
file(GLOB_RECURSE DISFURAS_HDRS "include/**.hpp")
|
||||
add_executable(disfuras ${DISFURAS_SRCS} ${DISFURAS_HDRS})
|
||||
target_include_directories(disfuras PRIVATE include/)
|
||||
target_link_libraries(disfuras PUBLIC furlang libfurc libfurvm)
|
||||
@@ -1,5 +0,0 @@
|
||||
file(GLOB_RECURSE FURAS_SRCS "src/**.cpp")
|
||||
file(GLOB_RECURSE FURAS_HDRS "include/**.hpp")
|
||||
add_executable(furas ${FURAS_SRCS} ${FURAS_HDRS})
|
||||
target_include_directories(furas PUBLIC include/)
|
||||
target_link_libraries(furas PRIVATE furlang libfurvm)
|
||||
@@ -1,8 +0,0 @@
|
||||
set(IC_USE_CXX ON)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/deps/isocline)
|
||||
|
||||
file(GLOB_RECURSE FURDB_SRCS "src/**.cpp")
|
||||
file(GLOB_RECURSE FURDB_HDRS "include/**.hpp")
|
||||
add_executable(furdb ${FURDB_SRCS} ${FURDB_HDRS})
|
||||
target_include_directories(furdb PRIVATE include/)
|
||||
target_link_libraries(furdb PUBLIC furlang libfurc libfurvm isocline)
|
||||
@@ -1,4 +0,0 @@
|
||||
file(GLOB_RECURSE FURLANG_SRCS "src/**.cpp")
|
||||
file(GLOB_RECURSE FURLANG_HDRS "include/**.hpp")
|
||||
add_library(furlang STATIC ${FURLANG_SRCS} ${FURLANG_HDRS})
|
||||
target_include_directories(furlang PUBLIC include/)
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef FURC_BACK_FURVM_HPP
|
||||
#define FURC_BACK_FURVM_HPP
|
||||
|
||||
#include "furc/middle/ir.hpp"
|
||||
#include "furvm/module.hpp"
|
||||
|
||||
namespace furc {
|
||||
|
||||
class furvm_generator final {
|
||||
public:
|
||||
static furvm::mod generate(const ir_module& mod);
|
||||
};
|
||||
|
||||
} // namespace furc
|
||||
|
||||
#endif // FURC_BACK_FURVM_HPP
|
||||
@@ -0,0 +1,4 @@
|
||||
file(GLOB_RECURSE DISFURAS_SRCS "${CMAKE_SOURCE_DIR}/src/disfuras/**.cpp")
|
||||
add_executable(disfuras ${DISFURAS_SRCS})
|
||||
target_include_directories(disfuras PRIVATE ${CMAKE_SOURCE_DIR}/include/)
|
||||
target_link_libraries(disfuras PUBLIC furlang libfurc libfurvm)
|
||||
@@ -0,0 +1,5 @@
|
||||
file(GLOB_RECURSE FURAS_SRCS "${CMAKE_SOURCE_DIR}/src/furas/**.cpp")
|
||||
file(GLOB_RECURSE FURAS_HDRS "${CMAKE_SOURCE_DIR}/include/furas/**.hpp")
|
||||
add_executable(furas ${FURAS_SRCS} ${FURAS_HDRS})
|
||||
target_include_directories(furas PUBLIC ${CMAKE_SOURCE_DIR}/include/)
|
||||
target_link_libraries(furas PRIVATE furlang libfurvm)
|
||||
@@ -1,15 +1,15 @@
|
||||
file(GLOB_RECURSE FURC_SRCS "src/**.cpp")
|
||||
file(GLOB_RECURSE FURC_HDRS "include/**.hpp")
|
||||
file(GLOB_RECURSE FURC_SRCS "${CMAKE_SOURCE_DIR}/src/furc/**.cpp")
|
||||
file(GLOB_RECURSE FURC_HDRS "${CMAKE_SOURCE_DIR}/include/furc/**.hpp")
|
||||
add_library(libfurc ${FURC_SRCS} ${FURC_HDRS})
|
||||
target_include_directories(libfurc PUBLIC include/)
|
||||
target_include_directories(libfurc PUBLIC ${CMAKE_SOURCE_DIR}/include/)
|
||||
target_compile_definitions(libfurc PRIVATE LIBFURC)
|
||||
set_target_properties(libfurc PROPERTIES PREFIX "")
|
||||
target_link_libraries(libfurc PUBLIC furlang libfurvm)
|
||||
add_executable(furc src/main.cpp)
|
||||
add_executable(furc "${CMAKE_SOURCE_DIR}/src/furc/main.cpp")
|
||||
target_link_libraries(furc PRIVATE libfurc)
|
||||
|
||||
include(GoogleTest)
|
||||
|
||||
add_executable(furc_tests "test/ssa.cpp")
|
||||
add_executable(furc_tests "${CMAKE_SOURCE_DIR}/test/furc/ssa.cpp")
|
||||
target_link_libraries(furc_tests PRIVATE libfurc GTest::gtest_main)
|
||||
gtest_discover_tests(furc_tests)
|
||||
@@ -0,0 +1,20 @@
|
||||
#include "furc/back/furvm/target.hpp"
|
||||
|
||||
#include "furvm/function.hpp"
|
||||
|
||||
#include <stdexcept>
|
||||
|
||||
namespace furc {
|
||||
|
||||
furvm::mod furvm_generator::generate(const ir_module& mod) {
|
||||
if (!mod.variables.empty()) throw std::runtime_error("global variables are not supported for furvm yet");
|
||||
|
||||
furvm::mod furvmMod;
|
||||
for (const auto& func : mod.functions) {
|
||||
furvmMod.emplace_function(furvm::function_sig{ {}, {} }, furvmMod.bytecode().size());
|
||||
}
|
||||
|
||||
return furvmMod;
|
||||
}
|
||||
|
||||
} // namespace furc
|
||||
@@ -0,0 +1,5 @@
|
||||
file(GLOB_RECURSE FURDB_SRCS "${CMAKE_SOURCE_DIR}/src/furdb/**.cpp")
|
||||
file(GLOB_RECURSE FURDB_HDRS "${CMAKE_SOURCE_DIR}/include/furdb/**.hpp")
|
||||
add_executable(furdb ${FURDB_SRCS} ${FURDB_HDRS})
|
||||
target_include_directories(furdb PRIVATE ${CMAKE_SOURCE_DIR}/include/)
|
||||
target_link_libraries(furdb PUBLIC furlang libfurc libfurvm isocline)
|
||||
@@ -0,0 +1,4 @@
|
||||
file(GLOB_RECURSE FURLANG_SRCS "${CMAKE_SOURCE_DIR}/src/furlang/**.cpp")
|
||||
file(GLOB_RECURSE FURLANG_HDRS "${CMAKE_SOURCE_DIR}/include/furlang/**.hpp")
|
||||
add_library(furlang STATIC ${FURLANG_SRCS} ${FURLANG_HDRS})
|
||||
target_include_directories(furlang PUBLIC ${CMAKE_SOURCE_DIR}/include/)
|
||||
@@ -1,16 +1,16 @@
|
||||
file(GLOB_RECURSE FURVM_SRCS "src/**.cpp")
|
||||
file(GLOB_RECURSE FURVM_HDRS "include/**.hpp")
|
||||
file(GLOB_RECURSE FURVM_SRCS "${CMAKE_SOURCE_DIR}/src/furvm/**.cpp")
|
||||
file(GLOB_RECURSE FURVM_HDRS "${CMAKE_SOURCE_DIR}/include/furvm/**.hpp")
|
||||
add_library(libfurvm ${FURVM_SRCS} ${FURVM_HDRS})
|
||||
target_include_directories(libfurvm PUBLIC include/)
|
||||
target_include_directories(libfurvm PUBLIC ${CMAKE_SOURCE_DIR}/include/)
|
||||
target_compile_definitions(libfurvm PRIVATE LIBFURVM)
|
||||
set_target_properties(libfurvm PROPERTIES PREFIX "")
|
||||
target_link_libraries(libfurvm PUBLIC furlang)
|
||||
add_executable(furvm src/main.cpp)
|
||||
add_executable(furvm "${CMAKE_SOURCE_DIR}/src/furvm/main.cpp")
|
||||
target_link_libraries(furvm PRIVATE libfurvm)
|
||||
|
||||
include(GoogleTest)
|
||||
|
||||
file(GLOB_RECURSE FURVM_TESTS "test/**.cpp")
|
||||
file(GLOB_RECURSE FURVM_TESTS "${CMAKE_SOURCE_DIR}/test/furvm/**.cpp")
|
||||
add_executable(furvm_tests ${FURVM_TESTS})
|
||||
target_link_libraries(furvm_tests PRIVATE libfurvm GTest::gtest_main)
|
||||
gtest_discover_tests(furvm_tests)
|
||||
Reference in New Issue
Block a user