mirror of
https://github.com/QuasarApp/pe-parse.git
synced 2025-04-27 12:54:31 +00:00
* CMake: Added install directives * CMake: Added support for find_package(pe-parse) * Fixed a compilation error on Linux * CMake: Fix cmake module installation * Added ArchLinux package * Finished implementing the address converted example * peaddrconv: Print the image base address. * peaddrconv: Enable more warnings. * Update travis to also build the examples * Fix a compilation warning on Ubuntu 14.04 * Travis: Add macOS support. * Better output for Travis, fix a compilation error on macOS. * Travis: Do not build examples under macOS. * Travis: Also compile the python module (pepy) * Readme: Add a section to show how to use the library. * Windows: Fix a compilation error, enable /analyze (see details). The nt-headers.h include file is defining several constexpr values using reserved (by windows.h) names. These names (i.e.: IMAGE_FILE_MACHINE_UNKNOWN) are in fact macros defined inside the Windows header files, and causes the preprocessor to break definitions such as the following one: constexpr std::uint16_t IMAGE_FILE_MACHINE_UNKNOWN = 0x0; The fix (for now) consists in including the nt-headers.h file before windows.h, but we should probably choose whether to use different names or avoid defining those values (since they are inside the system header anyway).
21 lines
740 B
CMake
21 lines
740 B
CMake
cmake_minimum_required(VERSION 3.1)
|
|
project(pe-parser-library)
|
|
|
|
# List all files explicitly; this will make IDEs happy (i.e. QtCreator, CLion, ...)
|
|
list(APPEND PEPARSERLIB_SOURCEFILES
|
|
include/parser-library/parse.h
|
|
include/parser-library/nt-headers.h
|
|
include/parser-library/to_string.h
|
|
|
|
src/buffer.cpp
|
|
src/parse.cpp
|
|
)
|
|
|
|
add_library(${PROJECT_NAME} STATIC ${PEPARSERLIB_SOURCEFILES})
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
target_compile_options(${PROJECT_NAME} PRIVATE ${GLOBAL_CXXFLAGS})
|
|
|
|
install(TARGETS ${PROJECT_NAME} DESTINATION "lib")
|
|
install(FILES "cmake/peparse-config.cmake" DESTINATION "lib/cmake/peparse")
|
|
install(DIRECTORY "include/parser-library" DESTINATION "include")
|