cmake_minimum_required(VERSION 3.23) project(weee CXX) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) option(BUILD_SHARED_LIBS OFF) include_directories(external/ELFIO) include_directories(external/capstone/include) include_directories(external/cflags/include) include_directories(external/SDL/include) include_directories(external/xbyak) include_directories(external) if(WIN32) add_compile_definitions(_CRT_SECURE_NO_WARNINGS) add_compile_definitions(NOMINMAX) endif() add_compile_options(-fno-operator-names) set(CAPSTONE_ARCHITECTURE_DEFAULT OFF) set(CAPSTONE_PPC_SUPPORT ON) add_subdirectory(external/capstone) add_subdirectory(external/SDL) add_executable(weee main.cpp core/mem.cpp core/loaders/elf.cpp core/loaders/dol.cpp core/broadway.cpp core/broadway/instructions.cpp core/broadway/mmio/vi.cpp) target_link_libraries(weee PUBLIC SDL3::SDL3 capstone) target_include_directories(weee PUBLIC core)