34 lines
845 B
CMake
34 lines
845 B
CMake
cmake_minimum_required(VERSION 3.5)
|
|
project(LiteGoCompiler)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_BUILD_TYPE Release)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w -O2 -g")
|
|
|
|
# library in subdirectory
|
|
add_subdirectory(antlr)
|
|
add_subdirectory(src)
|
|
|
|
# executable
|
|
add_executable(LiteGoCompiler main.cpp)
|
|
|
|
target_include_directories(LiteGoCompiler
|
|
PUBLIC
|
|
${CMAKE_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(LiteGoCompiler
|
|
PUBLIC
|
|
common
|
|
icg
|
|
tcg
|
|
)
|
|
|
|
# Custom clean target to remove all directories
|
|
add_custom_target(clean-all
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/*
|
|
COMMENT "Removing all directories and files in the current directory"
|
|
)
|
|
|
|
# Make 'clean' depend on 'clean-all'
|
|
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") |