aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/utils/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--utils/CMakeLists.txt30
1 files changed, 15 insertions, 15 deletions
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 6d1d6b9..ee5c5ba 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -1,15 +1,15 @@
-find_package(Boost REQUIRED COMPONENTS filesystem program_options system)
-
-add_executable(enum_symbols enum_symbols.cpp command_line.hpp pdb_descr.hpp)
-target_include_directories(enum_symbols SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
-target_link_libraries(enum_symbols PRIVATE pdb_repo ${Boost_LIBRARIES})
-
-add_executable(name2addr name2addr.cpp)
-target_include_directories(name2addr SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
-target_link_libraries(name2addr PRIVATE pdb_repo ${Boost_LIBRARIES})
-
-add_executable(addr2name addr2name.cpp command_line.hpp pdb_descr.hpp)
-target_include_directories(addr2name SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
-target_link_libraries(addr2name PRIVATE pdb_repo ${Boost_LIBRARIES})
-
-install(TARGETS enum_symbols name2addr addr2name RUNTIME DESTINATION bin)
+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::filesystem 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)