mpw/bin/CMakeLists.txt

83 lines
2.2 KiB
CMake
Raw Normal View History

2013-02-07 00:11:32 +00:00
2017-10-02 19:11:28 +00:00
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
# Clang or AppleClang
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-unused-variable")
endif()
2013-02-07 00:11:32 +00:00
2017-10-02 19:11:28 +00:00
include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
2013-07-14 02:25:29 +00:00
add_custom_command(
OUTPUT lexer.cpp
2013-07-14 02:25:29 +00:00
COMMAND ragel -p -G2 -o lexer.cpp "${CMAKE_CURRENT_SOURCE_DIR}/lexer.rl"
MAIN_DEPENDENCY lexer.rl
)
find_program(LEMON NAMES lemon)
if (LEMON)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/parser.cpp ${CMAKE_CURRENT_SOURCE_DIR}/parser.h
# COMMAND cp -f "${CMAKE_CURRENT_SOURCE_DIR}/parser.lemon" "parser.lemon"
COMMAND lemon parser.lemon
COMMAND mv -f parser.c parser.cpp
MAIN_DEPENDENCY parser.lemon
DEPENDS debugger.h
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/template_parser.cpp ${CMAKE_CURRENT_SOURCE_DIR}/template_parser.h
# COMMAND cp -f "${CMAKE_CURRENT_SOURCE_DIR}/template_parser.lemon" "template_parser.lemon"
COMMAND lemon template_parser.lemon
COMMAND mv -f template_parser.c template_parser.cpp
MAIN_DEPENDENCY template_parser.lemon
DEPENDS debugger.h
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
endif()
2015-01-06 01:28:56 +00:00
2013-07-08 03:39:53 +00:00
add_custom_command(
OUTPUT loadtrap.cpp
COMMAND ragel -p -G2 -o loadtrap.cpp "${CMAKE_CURRENT_SOURCE_DIR}/loadtrap.rl"
MAIN_DEPENDENCY loadtrap.rl
DEPENDS debugger.h
)
2013-07-14 19:17:00 +00:00
2015-01-06 01:28:56 +00:00
add_custom_command(
OUTPUT template_loader.cpp
COMMAND ragel -p -G2 -o template_loader.cpp "${CMAKE_CURRENT_SOURCE_DIR}/template_loader.rl"
MAIN_DEPENDENCY template_loader.rl
DEPENDS debugger.h template_parser.h
)
2015-06-23 14:11:47 +00:00
2014-12-30 19:09:07 +00:00
add_executable(mpw loader.cpp debugger.cpp debugger_internal.cpp
2015-01-06 01:28:56 +00:00
address_map.cpp lexer.cpp parser.cpp loadtrap.cpp
commands.cpp
template_loader.cpp template_parser.cpp intern.cpp template.cpp)
2014-12-30 19:09:07 +00:00
2013-02-07 00:11:32 +00:00
target_link_libraries(mpw CPU_LIB)
2013-02-07 04:44:12 +00:00
target_link_libraries(mpw TOOLBOX_LIB)
2013-02-11 01:19:53 +00:00
target_link_libraries(mpw MPW_LIB)
2013-02-08 03:49:20 +00:00
target_link_libraries(mpw MPLITE_LIB)
2013-03-04 03:17:27 +00:00
target_link_libraries(mpw MACOS_LIB)
2013-02-10 01:06:03 +00:00
2017-10-02 19:11:28 +00:00
target_link_libraries(mpw -ledit)
target_link_libraries(mpw "-framework Carbon")
2013-02-10 01:06:03 +00:00
2013-03-04 03:17:27 +00:00
add_executable(disasm disasm.cpp)
2013-02-10 01:06:03 +00:00
target_link_libraries(disasm CPU_LIB)
2013-03-04 03:17:27 +00:00
target_link_libraries(disasm MACOS_LIB)
2017-10-02 19:11:28 +00:00
target_link_libraries(disasm "-framework Carbon")
2015-06-23 14:11:47 +00:00
install(
PROGRAMS
${CMAKE_CURRENT_BINARY_DIR}/mpw
DESTINATION bin
)