Skip to content

Commit

Permalink
updated CMake config
Browse files Browse the repository at this point in the history
  • Loading branch information
DarthTon committed Feb 19, 2019
1 parent 6c84be2 commit 2dafce9
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 78 deletions.
157 changes: 96 additions & 61 deletions src/BlackBone/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,62 +1,66 @@
cmake_minimum_required (VERSION 2.8)
cmake_minimum_required (VERSION 3.13)
project (BlackBoneLib)

include_directories(../../Contrib)
if(CMAKE_CL_64)
enable_language(ASM_MASM)
endif()

include_directories(..)

##########################################################
set(SOURCE_ASMJIT ../../contrib/asmjit/base/assembler.cpp
../../contrib/Asmjit/base/codegen.cpp
../../contrib/Asmjit/base/constpool.cpp
../../contrib/Asmjit/base/containers.cpp
../../contrib/Asmjit/base/cpuinfo.cpp
../../contrib/Asmjit/base/cputicks.cpp
../../contrib/Asmjit/base/error.cpp
../../contrib/Asmjit/base/globals.cpp
../../contrib/Asmjit/base/operand.cpp
../../contrib/Asmjit/base/runtime.cpp
../../contrib/Asmjit/base/string.cpp
../../contrib/Asmjit/base/vmem.cpp
../../contrib/Asmjit/base/zone.cpp
../../contrib/Asmjit/x86/x86assembler.cpp
../../contrib/Asmjit/x86/x86cpuinfo.cpp
../../contrib/Asmjit/x86/x86inst.cpp
../../contrib/Asmjit/x86/x86operand.cpp
../../contrib/Asmjit/x86/x86operand_regs.cpp)

set (HEADER_ASMJIT ../../contrib/Asmjit/apibegin.h
../../contrib/Asmjit/apiend.h
../../contrib/Asmjit/asmjit.h
../../contrib/Asmjit/base.h
../../contrib/Asmjit/build.h
../../contrib/Asmjit/config.h
../../contrib/Asmjit/host.h
../../contrib/Asmjit/x86.h
../../contrib/Asmjit/base/assembler.h
../../contrib/Asmjit/base/codegen.h
../../contrib/Asmjit/base/compiler.h
../../contrib/Asmjit/base/constpool.h
../../contrib/Asmjit/base/containers.h
../../contrib/Asmjit/base/context_p.h
../../contrib/Asmjit/base/cpuinfo.h
../../contrib/Asmjit/base/cputicks.h
../../contrib/Asmjit/base/error.h
../../contrib/Asmjit/base/globals.h
../../contrib/Asmjit/base/intutil.h
../../contrib/Asmjit/base/lock.h
../../contrib/Asmjit/base/logger.h
../../contrib/Asmjit/base/operand.h
../../contrib/Asmjit/base/runtime.h
../../contrib/Asmjit/base/string.h
../../contrib/Asmjit/base/vectypes.h
../../contrib/Asmjit/base/vmem.h
../../contrib/Asmjit/base/zone.h
../../contrib/Asmjit/x86/x86assembler.h
../../contrib/Asmjit/x86/x86compiler.h
../../contrib/Asmjit/x86/x86context_p.h
../../contrib/Asmjit/x86/x86cpuinfo.h
../../contrib/Asmjit/x86/x86inst.h
../../contrib/Asmjit/x86/x86operand.h
../../contrib/Asmjit/x86/x86scheduler_p.h)
set(SOURCE_ASMJIT ../3rd_party/asmjit/base/assembler.cpp
../3rd_party/Asmjit/base/codegen.cpp
../3rd_party/Asmjit/base/constpool.cpp
../3rd_party/Asmjit/base/containers.cpp
../3rd_party/Asmjit/base/cpuinfo.cpp
../3rd_party/Asmjit/base/cputicks.cpp
../3rd_party/Asmjit/base/error.cpp
../3rd_party/Asmjit/base/globals.cpp
../3rd_party/Asmjit/base/operand.cpp
../3rd_party/Asmjit/base/runtime.cpp
../3rd_party/Asmjit/base/string.cpp
../3rd_party/Asmjit/base/vmem.cpp
../3rd_party/Asmjit/base/zone.cpp
../3rd_party/Asmjit/x86/x86assembler.cpp
../3rd_party/Asmjit/x86/x86cpuinfo.cpp
../3rd_party/Asmjit/x86/x86inst.cpp
../3rd_party/Asmjit/x86/x86operand.cpp
../3rd_party/Asmjit/x86/x86operand_regs.cpp)

set (HEADER_ASMJIT ../3rd_party/Asmjit/apibegin.h
../3rd_party/Asmjit/apiend.h
../3rd_party/Asmjit/asmjit.h
../3rd_party/Asmjit/base.h
../3rd_party/Asmjit/build.h
../3rd_party/Asmjit/config.h
../3rd_party/Asmjit/host.h
../3rd_party/Asmjit/x86.h
../3rd_party/Asmjit/base/assembler.h
../3rd_party/Asmjit/base/codegen.h
../3rd_party/Asmjit/base/compiler.h
../3rd_party/Asmjit/base/constpool.h
../3rd_party/Asmjit/base/containers.h
../3rd_party/Asmjit/base/context_p.h
../3rd_party/Asmjit/base/cpuinfo.h
../3rd_party/Asmjit/base/cputicks.h
../3rd_party/Asmjit/base/error.h
../3rd_party/Asmjit/base/globals.h
../3rd_party/Asmjit/base/intutil.h
../3rd_party/Asmjit/base/lock.h
../3rd_party/Asmjit/base/logger.h
../3rd_party/Asmjit/base/operand.h
../3rd_party/Asmjit/base/runtime.h
../3rd_party/Asmjit/base/string.h
../3rd_party/Asmjit/base/vectypes.h
../3rd_party/Asmjit/base/vmem.h
../3rd_party/Asmjit/base/zone.h
../3rd_party/Asmjit/x86/x86assembler.h
../3rd_party/Asmjit/x86/x86compiler.h
../3rd_party/Asmjit/x86/x86context_p.h
../3rd_party/Asmjit/x86/x86cpuinfo.h
../3rd_party/Asmjit/x86/x86inst.h
../3rd_party/Asmjit/x86/x86operand.h
../3rd_party/Asmjit/x86/x86scheduler_p.h)

FILE(GLOB AsmJit ${SOURCE_ASMJIT} ${HEADER_ASMJIT})
source_group(AsmJit\\Core FILES ${AsmJit})
Expand Down Expand Up @@ -85,7 +89,10 @@ FILE(GLOB DriverControl ${SOURCE_DRV} ${HEADER_DRV})
source_group(DriverControl FILES ${DriverControl})

##########################################################
set(HEADER_INCLUDE Include/FunctionTypes.h
set(HEADER_INCLUDE Include/ApiSet.h
Include/CallResult.h
Include/FunctionTypes.h
Include/HandleGuard.h
Include/Macro.h
Include/NativeStructures.h
Include/Types.h
Expand Down Expand Up @@ -128,14 +135,12 @@ source_group(ManualMap FILES ${ManualMap})

##########################################################
set(SOURCE_MISC Misc/InitOnce.cpp
Misc/PatternLoader.cpp
Misc/NameResolve.cpp
Misc/Utils.cpp)

set(HEADER_MISC Misc/DynImport.h
Misc/InitOnce.h
Misc/NameResolve.h
Misc/PatternLoader.h
Misc/Thunk.hpp
Misc/Trace.hpp
Misc/Utils.h)
Expand Down Expand Up @@ -200,15 +205,41 @@ source_group(Process\\Threads FILES ${Threads})
set(SOURCE_SUB Subsystem/NativeSubsystem.cpp
Subsystem/Wow64Subsystem.cpp
Subsystem/x86Subsystem.cpp
../../contrib/rewolf-wow64ext/src/wow64ext.cpp)
../3rd_party/rewolf-wow64ext/src/wow64ext.cpp)

set(HEADER_SUB Subsystem/NativeSubsystem.h
Subsystem/Wow64Subsystem.h
Subsystem/x86Subsystem.h
../../contrib/rewolf-wow64ext/src/wow64ext.h)
../3rd_party/rewolf-wow64ext/src/wow64ext.h)

FILE(GLOB Subsystem ${SOURCE_SUB} ${HEADER_SUB})
source_group(Subsystem FILES ${Subsystem})

##########################################################
set(SOURCE_SYMBOLS Symbols/PatternLoader.cpp
Symbols/PDBHelper.cpp
Symbols/SymbolData.cpp
Symbols/SymbolLoader.cpp)

set(HEADER_SYMBOLS Symbols/PatternLoader.h
Symbols/PDBHelper.h
Symbols/SymbolData.h
Symbols/SymbolLoader.h)

FILE(GLOB Symbols ${SOURCE_SYMBOLS} ${HEADER_SYMBOLS})
source_group(Symbols FILES ${Symbols})

##########################################################
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(SOURCE_SYSCALL Syscalls/Syscall64.asm)
else()
set(SOURCE_SYSCALL Syscalls/Syscall32.asm)
endif()

set(HEADER_SYSCALL Syscalls/Syscall.h)

FILE(GLOB Syscalls ${SOURCE_SYSCALL} ${HEADER_SYSCALL})
source_group(Syscalls FILES ${Syscalls})

##########################################################
set (HEADER_MAIN Config.h )
Expand All @@ -225,7 +256,9 @@ set(SOURCE_LIB ${SOURCE_ASMJIT}
${SOURCE_PROCESS}
${SOURCE_RPC}
${SOURCE_THREADS}
${SOURCE_SUB})
${SOURCE_SUB}
${SOURCE_SYMBOLS}
${SOURCE_SYSCALL})

set(HEADER_LIB ${HEADER_ASMJIT}
${HEADER_HELPERS}
Expand All @@ -240,6 +273,8 @@ set(HEADER_LIB ${HEADER_ASMJIT}
${HEADER_RPC}
${HEADER_THREADS}
${HEADER_SUB}
${HEADER_SYMBOLS}
${HEADER_SYSCALL}
${HEADER_MAIN})

add_library(BlackBone STATIC ${SOURCE_LIB} ${HEADER_LIB})
7 changes: 4 additions & 3 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
cmake_minimum_required (VERSION 2.8)
cmake_minimum_required (VERSION 3.13)
project (BlackBone)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest" )
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")

add_subdirectory(BlackBone)
add_subdirectory(TestApp)
add_subdirectory(Samples)
27 changes: 13 additions & 14 deletions src/Samples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
cmake_minimum_required (VERSION 2.8)
project (TestApp)
cmake_minimum_required (VERSION 3.13)
project (Samples)

include_directories(../../Contrib)
include_directories(..)

add_executable(TestApp TestApp.cpp
DriverTest.cpp
LocalHookTest.cpp
MMapTest.cpp
MultiPtrTest.cpp
PatternTest.cpp
RemoteCallTest.cpp
RemoteHookTest.cpp
RemoteMemTest.cpp
Tests.h)
cmake_policy(SET CMP0015 NEW)

if(CMAKE_SIZEOF_VOID_P EQUAL 8)
link_directories(../3rd_party/DIA/lib/amd64)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
link_directories(../3rd_party/DIA/lib)
endif()

add_executable(Samples Main.cpp ManualMap.cpp)

target_link_libraries(TestApp BlackBone)
target_link_libraries(Samples BlackBone diaguids.lib)

0 comments on commit 2dafce9

Please sign in to comment.