42 lines
1.1 KiB
CMake
42 lines
1.1 KiB
CMake
|
cmake_minimum_required(VERSION 3.11)
|
||
|
project(airborne)
|
||
|
|
||
|
include(FetchContent)
|
||
|
|
||
|
if(NOT CMAKE_SYSTEM_NAME MATCHES Windows)
|
||
|
message(FATAL_ERROR "Use a cross compilation suitable toolchain with CMAKE_SYSTEM_NAME set to Windows")
|
||
|
endif()
|
||
|
|
||
|
if(NOT MSVC)
|
||
|
add_compile_options("-Wall")
|
||
|
else()
|
||
|
# Level 4 warnings
|
||
|
add_compile_options("-W4")
|
||
|
endif()
|
||
|
|
||
|
# Discord API wrapper dependency
|
||
|
FetchContent_Declare(
|
||
|
concord
|
||
|
GIT_REPOSITORY https://github.com/Cogmasters/concord
|
||
|
GIT_TAG 769bdb7 # v2.2.1 release
|
||
|
)
|
||
|
FetchContent_MakeAvailable(concord)
|
||
|
|
||
|
# *) Reflective loader (DLL)
|
||
|
add_library(reflective_loader SHARED reflective_loader/loader.c reflective_loader/loader.h)
|
||
|
|
||
|
# *) Payload (DLL)
|
||
|
add_library(payload SHARED payload/payload.c)
|
||
|
|
||
|
# *) Injector (EXE)
|
||
|
add_executable(injector injector/injector.c)
|
||
|
target_link_libraries(injector PRIVATE concord)
|
||
|
|
||
|
# *) Shellcode generator (EXE)
|
||
|
add_executable(shellcode_generator shellcode_generator/generator.c)
|
||
|
target_link_libraries(shellcode_generator PRIVATE concord)
|
||
|
|
||
|
# Include directories
|
||
|
target_include_directories(injector PRIVATE concord)
|
||
|
target_include_directories(shellcode_generator PRIVATE concord)
|