diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake index 0c58a3013..4a451bcda 100644 --- a/CMake/Dependencies.cmake +++ b/CMake/Dependencies.cmake @@ -190,3 +190,8 @@ if(BUILD_TESTING) add_subdirectory(3rdParty/googletest) endif() endif() + +if(GPERF) + find_package(Gperftools REQUIRED) + message("INFO: ${GPERFTOOLS_LIBRARIES}") +endif() diff --git a/CMake/functions/devilutionx_library.cmake b/CMake/functions/devilutionx_library.cmake index d19019d57..361326e4e 100644 --- a/CMake/functions/devilutionx_library.cmake +++ b/CMake/functions/devilutionx_library.cmake @@ -30,10 +30,6 @@ function(add_devilutionx_library NAME) target_link_libraries(${NAME} PUBLIC "$<${ASAN_GENEX}:-fsanitize=address;-fsanitize-recover=address>") endif() - if(GPERF) - target_link_libraries(${NAME} PUBLIC ${GPERFTOOLS_LIBRARIES}) - endif() - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") genex_for_option(DEVILUTIONX_STATIC_CXX_STDLIB) target_link_libraries(${NAME} PUBLIC $<${DEVILUTIONX_STATIC_CXX_STDLIB_GENEX}:-static-libgcc;-static-libstdc++>) diff --git a/CMakeLists.txt b/CMakeLists.txt index 55bf60c7d..1724a6482 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,10 @@ if(NOT UWP_LIB) target_link_libraries(${BIN_TARGET} PRIVATE libdevilutionx) endif() +if(GPERF) + target_link_libraries(${BIN_TARGET} PUBLIC ${GPERFTOOLS_LIBRARIES}) +endif() + # Must be included after `BIN_TARGET` and `libdevilutionx` are defined. include(Assets) diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index d8e18d4e6..0465a0ffb 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -218,10 +218,6 @@ if(DISCORD_INTEGRATION) target_link_libraries(libdevilutionx PRIVATE discord discord_game_sdk) endif() -if(GPERF) - find_package(Gperftools REQUIRED) -endif() - target_link_libraries(libdevilutionx PUBLIC Threads::Threads DevilutionX::SDL diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 7020824e2..749e6d6e8 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -40,6 +40,9 @@ foreach(test_target ${tests}) gtest_discover_tests(${test_target}) target_link_libraries(${test_target} PRIVATE test_main) set_target_properties(${test_target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${DevilutionX_BINARY_DIR}) + if(GPERF) + target_link_libraries(${test_target} PUBLIC ${GPERFTOOLS_LIBRARIES}) + endif() endforeach() target_include_directories(writehero_test PRIVATE ../3rdParty/PicoSHA2)