mirror of
https://github.com/Astatin3/meteorbot-old.git
synced 2026-06-09 00:28:06 -06:00
37 lines
1.9 KiB
CMake
37 lines
1.9 KiB
CMake
# Define a macro that can be reused to quickly setup an Example project
|
|
# without all the boilerplate code
|
|
macro(add_example include_folders source_files)
|
|
add_executable(${PROJECT_NAME} ${source_files})
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ${include_folders})
|
|
target_link_libraries(${PROJECT_NAME} botcraft)
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Examples)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX "_d")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RELWITHDEBINFO_POSTFIX "_rd")
|
|
if(MSVC)
|
|
# To avoid having folder for each configuration when building with Visual
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${BOTCRAFT_OUTPUT_DIR}/bin")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${BOTCRAFT_OUTPUT_DIR}/bin")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${BOTCRAFT_OUTPUT_DIR}/bin")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${BOTCRAFT_OUTPUT_DIR}/bin")
|
|
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/bin")
|
|
else()
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/bin")
|
|
endif(MSVC)
|
|
|
|
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
endmacro()
|
|
|
|
add_subdirectory(0_HelloWorld)
|
|
add_subdirectory(1_UserControlledExample)
|
|
add_subdirectory(2_ChatCommandExample)
|
|
add_subdirectory(3_SimpleAFKExample)
|
|
add_subdirectory(4_MapCreatorExample)
|
|
add_subdirectory(5_MobHitterExample)
|
|
if (PROTOCOL_VERSION STRGREATER "470") # 1.14+
|
|
add_subdirectory(6_DispenserFarmExample)
|
|
endif()
|
|
add_subdirectory(7_WorldEaterExample)
|