Skip to content

Commit fbd3227

Browse files
committed
Added CMake script for C++ gen experiments
1 parent dc5ae22 commit fbd3227

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
cmake_minimum_required(VERSION 3.20)
2+
set(RUNTIME_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Runtime/C++/src")
3+
set(GEN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../gen")
4+
project(sandbox LANGUAGES CXX)
5+
6+
add_custom_command(
7+
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.."
8+
COMMAND dotnet run --project ../../Compiler --trace --include "../Schemas/Valid/jazz.bop" build --generator "cpp:gen/jazz.hpp"
9+
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/../../Schemas/Valid/jazz.bop"
10+
OUTPUT "${GEN_SOURCE_DIR}/bebop.hpp" "${GEN_SOURCE_DIR}/jazz.hpp"
11+
COMMENT "Compiling jazz.bop"
12+
)
13+
add_custom_target(bebopc_jazz DEPENDS
14+
"${GEN_SOURCE_DIR}/bebop.hpp"
15+
"${GEN_SOURCE_DIR}/jazz.hpp"
16+
)
17+
18+
set(CMAKE_CXX_STANDARD 20)
19+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
20+
21+
add_executable(sandbox
22+
"${GEN_SOURCE_DIR}/bebop.hpp"
23+
"${GEN_SOURCE_DIR}/jazz.hpp"
24+
"${GEN_SOURCE_DIR}/../test/jazz.cpp"
25+
)
26+
target_include_directories(sandbox PRIVATE ${RUNTIME_SOURCE_DIR})
27+
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT sandbox)
28+
add_dependencies(sandbox bebopc_jazz)

0 commit comments

Comments
 (0)