aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/utils/CMakeLists.txt
blob: 712a9e837161cbe692445f264ed070f6257e4734 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
find_package(Boost REQUIRED COMPONENTS filesystem program_options)

function(add_util name src)
    add_executable("${name}" ${src})
    target_link_libraries("${name}" PRIVATE pdb_repo)
    target_link_libraries("${name}" PRIVATE Boost::disable_autolinking Boost::filesystem Boost::nowide Boost::program_options)
    install(TARGETS "${name}" RUNTIME DESTINATION bin)
    if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
        install(FILES "$<TARGET_PDB_FILE:${name}>" DESTINATION bin OPTIONAL)
    endif()
endfunction()

add_util(enum_symbols enum_symbols.cpp command_line.hpp pdb_descr.hpp)
add_util(name2addr name2addr.cpp)
add_util(addr2name addr2name.cpp command_line.hpp pdb_descr.hpp)

if(MSVC)
    add_test(NAME enum_symbols COMMAND enum_symbols --pdb "$<TARGET_PDB_FILE:test_lib>" --mask "test_ns:*")
endif()